Osukini がサービスを終了するというので、さくらVPS に移行しました。テスト投稿と自分用の備忘録を含めて何をしたかを以下に書いておきます。
作業の流れ
- バックアップを取る
- 新しいサーバーの設定をする
- バックアップしておいたファイルを復旧
- ちょちょいと調整する
1. バックアップを取る
MySQL のデータベースと、Wordpress 本体含め諸々のファイルをバックアップする必要があります。
MySQL はphpMyAdmin から適当にSQL 形式でバックアップを取り、Wordpress のファイルはディレクトリごと新しいサーバーにSCP でコピーしました。
2. 新しいサーバーの設定をする
さくらVPS を使うことにしたので、適当に設定しました。OS はCentOS でした。他にも選べたのかしら?
こちらを参考にしました。
さくらの格安VPSを借りたらいつもやっている設定いろいろ IDEA*IDEA
http://www.ideaxidea.com/archives/2010/11/sakura_vps_settings.html
必要なさげなのはやってませんが。screen のインストールとか。それと、システムははじめから日本語だった気がします。
で、次はMySQL の設定を以下を参考にしてやりました。
MySQLの設定 初心者でもわかる!さくらVPS Sakura VPS 設定マニュアル
http://www.xn--vps-073b3a72a.com/11.html
次は、phpMyAdmin のインストールと設定。yum で入るとは便利ですね。
さくらVPSにphpMyAdminを入れて今日から君もMySQLをブラウザから操作できるの巻
http://plusblog.jp/8743/
これでひとまず設定は終わり。
3. バックアップしておいたファイルを復旧
バックアップしておいた、というかSCP でさくらVPS の方にコピーしておいたファイルを適切な位置に移動させます。
なんかCentOS は使ったこと無かったので適当にぐぐったら、ユーザーディレクトリの下にpublic_html を置いてその中にいろいろ置く、としている人が結構居た気がするので、今回はそれを真似してみました。
ユーザー名をhoge とすると、
/hoge/public_html/wordpress
となっている感じです。また、これらにはパーミッションを設定する必要があります。ついでに、ホームディレクトリのパーミッションも設定しておきましょう。これを忘れると、PermissionDenied 系のエラーが表示されるはずです。
chown -R apache:apache /hoge/public_html/wordpress chmod 711 /home/hoge/
次に、さっき設定したphpMyAdmin を使って、前のサーバーでWordpress 用に使っていた名前のデータベースを作って、さらにそのユーザーも作ります。そのデータベースに先ほどバックアップしておいたSQL ファイルを読ませて以前の通りのデータベースを復旧します。
4. ちょちょいと設定をする
apache の設定をしなければWordpress が見えません。/etc/httpd/conf/httpd.confで、 VirtualHost を以下のような感じで設定します。ホスト名を自分のものにして、コピペすれば基本的に大丈夫なはず。
<directory /home/hoge/public_html/wordpress> AllowOverride All Options MultiViews SymLinksIfOwnerMatch IncludesNoExec <limit GET POST OPTIONS> Order allow,deny Allow from all </limit> <limitExcept GET POST OPTIONS> Order deny,allow Deny from all </limitExcept> </directory> NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /home/hoge/public_html/wordpress ServerName www.inashiro.com ErrorLog logs/www.inashiro.com_log CustomLog logs/www.inashiro.com_log common </VirtualHost>
また、apache2 ではデフォルトでpublic_html が見えないようになっているようなので、それに対応するために/etc/httpd/conf/httpd.conf のUserDir とあるところを以下のように編集します。
まぁ、英語で説明がある通りにすれば良いので特に問題ないでしょう。
# # UserDir: The name of the directory that is appended onto a user's home # directory if a ~user request is received. # # The path to the end user account 'public_html' directory must be # accessible to the webserver userid. This usually means that ~userid # must have permissions of 711, ~userid/public_html must have permissions # of 755, and documents contained therein must be world-readable. # Otherwise, the client will only receive a "403 Forbidden" message. # # See also: http://httpd.apache.org/docs/misc/FAQ.html#forbidden # <IfModule mod_userdir.c> # # UserDir is disabled by default since it can confirm the presence # of a username on the system (depending on home directory # permissions). # #UserDir disabled # # To enable requests to /~user/ to serve the user's public_html # directory, remove the "UserDir disabled" line above, and uncomment # the following line instead: # UserDir public_html </IfModule>
これが終わったら、apache を再起動すればOK。これで昔の通りWordpress がきちんと動くはずです。たぶん。
なんかキャッシュのプラグインとかが、悲しいことになっている気がしないでもないけど気にしない!