■前書き
2013年8月の落雷により自宅サーバーが立ち上がらなくなった。
費用や今後のメンテナンスの手間を考えた結果、
VPSレンタルサーバを利用することに変更した。
レンタルサーバで提供していたDebian/GNU Linux(squeeze 6.0.7)をインストールするとともに、
ハードディスクは壊れていなかったため、データの復旧作業を行った。
ここではバージョンアップやインストール先フォルダを変更のため
復旧に手間のかかったWordpressについてインストール手順を記録したい。
注)
個人的な記録であり誤りがある可能性があることもご承知下さい。
もし、誤り等があれば御指摘頂ければ幸いです。
■前提条件
マルチドメイン:サイトA(blog.aaa.com)、サイトB(blog.bbb.com)を作成
<WordPressバージョン>
(更新前)
3.3.2
(更新後)
3.5.2
以下更新後バージョン
2.2.16-6+squeeze11
5.3.3-7+squeeze17
5.1.66-0+squeeze1
■参考
Wordpressインストールには、
インストール時の説明ドキュメントを参照することをお奨めする。
/usr/share/doc/wordpress/README.Debian
/usr/share/doc/wordpress/examples/apache.conf
=============================
(1) WordPressのインストール
sudo aptitude install wordpress
sudo chown -R www-data /var/lib/wordpress/wp-content
(2) WordPressのデータベース作成
データベース作成用のスクリプトが準備されているので、
それを利用して作成
cd /usr/share/doc/wordpress/examples
sudo gzip -d setup-mysql.gz
sudo chmod a+x setup-mysql
▲サイトA用のデータベース作成
sudo bash /usr/share/doc/wordpress/examples/setup-mysql -n wp_aaa blog.aaa.com
▲サイトB用のデータベース作成
sudo bash /usr/share/doc/wordpress/examples/setup-mysql -n wp_bbb blog.bbb.com
(3) WordPressの設定ファイル
日本語表記が必要であれば、設定ファイルに次の行を追記
○追加する設定
define(‘WPLANG’, ja);
○設定ファイル
/etc/wordpress/config-blog.aaa.com.php
/etc/wordpress/config-blog.aaa.com.php
=================
(4) WordPressインストール後の設定
README.Debianを参考に次の設定を行った。
▲サイトA
①プラグインのシンボリックリンクの削除
sudo mv /srv/www/wp-content/blog.aaa.com/plugins /srv/www/wp-content/blog.aaa.com/plugins.old
②削除したリンクの代わりにプラグインのフォルダを作成
sudo mkdir /srv/www/wp-content/blog.aaa.com/plugins
③テーマのシンボリックリンクの削除
sudo mv /srv/www/wp-content/blog.aaa.com/themes /srv/www/wp-content/blog.aaa.com/themes.old
④削除したリンクの代わりにテーマのフォルダを作成
sudo mkdir /srv/www/wp-content/blog.aaa.com/themes
⑤作成したテーマフォルダにデフォルトテーマへのシンボリックリンクを作成
sudo ln -s /var/lib/wordpress/wp-content/themes/index.php /srv/www/wp-content/blog.aaa.com/themes/index.php
sudo ln -s /var/lib/wordpress/wp-content/themes/twentyeleven /srv/www/wp-content/blog.aaa.com/themes/twentyeleven
⑥作成したフォルダのパーミッションを変更
sudo chown ftpユーザ名:www-data /srv/www/wp-content/blog.aaa.com/themes
sudo chown ftpユーザ名:www-data /srv/www/wp-content/blog.aaa.com/plugins
⑦設定ファイル(/etc/wordpress/config-blog.aaa.com.php)に次の記述を追記
define(‘FS_METHOD’, ‘direct’);
▲サイトB
サイトAと同様の設定を行う。
(5) Apache設定
apache.conf(/usr/share/doc/wordpress/examples/apache.conf)を参考に
サイトA、Bでそれぞれ次のような内容で設定ファイルを作成。
=========
ServerAdmin webmaster@aaa.com
ServerName blog.aaa.com
DocumentRoot /var/www/wordpress
DirectoryIndex index.php index.html
Options FollowSymLinks
Order allow,deny
Allow from all
Alias /wp-content /srv/www/wp-content/blog.aaa.com
Options FollowSymLinks
Order allow,deny
Allow from all
ErrorLog ${APACHE_LOG_DIR}/wordpress-error.log
# Possible values include: debug, info, notice, warn, error,
# crit, alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/wordpress-access.log combined
=========
新規のインストールであれば、
それぞれのサイトを有効化(a2ensite)すれば、インストール完了となると思われる。
それぞれのアドレス
・サイトA(http://blog.aaa.com)
・サイトB(http://blog.aaa.com)
今回は、壊れた既存のサーバーPCのハードディスクからのデータ復旧もあるため、
以下に大まかな内容を記述する。
(6) データ移植
■必要なデータ
①既存の設定ファイル
→ config-blog.aaa.com.php、config-blog.bbb.com.php
②既存のデータベース
→ 「/var/lib/mysql/」にある移植したいデータベース
→ 今回の例であれば、次のディレクトリ
・wp_aaa、wp_bbb
■移植概要
①データベースの復旧
既存のデータベースを次のディレクトリ配下にコピーする。
ディレクトリ:/var/lib/mysql/
②権限の修正
コピーしたディレクトリ、及びそのファイルの権限を次の設定となるように修正する
所有者:mysql
グループ:mysql
ディレクトリwp_aaa、及びwp_bbbの権限:700
ディレクトリのファイルの権限:660
③データベースパスワードの設定
既存の設定ファイル(config-blog.aaa.com.php、config-blog.bbb.com.php)を見て
mysqlでデータベースのパスワードを設定する
mysql -uroot -p
use wp_aaa;
grant select,delete,update,insert on wp_aaa.* to wp_aaa@localhost identified by ‘設定パスワード(*1)’;
*1 設定ファイル(config-blog.aaa.com.php)の次の箇所に記述されている設定パスワードのこと
define(‘DB_PASSWORD’, ‘設定パスワード’);
処理を行った後に、mysqlサービスを再起動。
メモ)
個人的には、念のため設定ファイルの「SECRET_KEY」という設定項目も既存のキーに修正した
④データベースの修正
既存と新規のインストールフォルダ等の構成が異なったため、
次のソフトウェアをインストールして新規環境に合わせてパラメータを修正した。
・phpmyadminのインストール
sudo aptitude install phpmyadmin
・データベースパラメータの修正
インストール後、ブラウザでphpmyadminのアドレスにアクセス
→ それぞれのデータベース(今回の例では、wp_aaa、及びwp_bbb)で次のテーブルのパラメータを修正
○テーブル名:wp_options
○修正対象:サイトのアドレスやupload_path等、新規にインストールした設定とあっていないパスを修正
=============================