WordPress のサイト(このブログ)をさくらのVPS にサーバー移転する際につまづいたところまとめ
このブログ(WordPress)では少し前から「管理画面での操作が重く更新などがしづらい」「時間帯により表示速度が極端に遅くなる」「503エラーが発生する」など、サーバーが原因かなと思われる好ましくない現象が起こっていました…。
最近特にもろもろの現象が気になってきたため、普通のレンタルサーバーからさくらのVPS へサーバー移転しました。初めての VPS で不安もありましたが、こちらの記事 「サーバーってなに?」~初心者でもよくわかる!VPSによるWebサーバー構築講座(1) – さくらのナレッジ のおかげでスムーズにサーバーの設定を行うことがでました。
しかし、実際に WordPress を動かせるまでには、いくつかつまづいたところがあったのでその辺をまとめました。
私がつまづいたところ – 目次
1. WordPress の wp-config.php ファイルの作成ができない
2. サーバーを初期化したあと SSH で接続できない
3. WordPress でパーマリンク設定をデフォルトから変更すると 404 エラーがでる
4. さくらの管理画面でネームサーバーの設定ができない
1. WordPress の wp-config.php ファイルの作成ができない
サーバーに必要なソフトウェアをインストール・設定し、WordPress をいざインストールというところで、wp-config.php ファイルを WordPress 側で作成できませんでしたというようなエラー画面がでてしまいました。
また、サーバーの WordPress が入っているディレクトリへ、ファイルの作成・アップロードを直接行おうとしても Permission denied とエラーがでてしまい完了できませんでした。
原因と対処方法
Permission denied とのエラーの通り、パーミッションの設定がうまくできていなかったため、ファイルの作成などができなかったようです。
WordPress が入っているディレクトリのパーミッション変更することで解決しました。
以下のコマンドで、ディレクトリのパーミッションを変更できます。
chmod -R g+w /var/www/html
(※最初にパーミッションを 777 に設定するように記載しておりましたが、777 は危険なのでやめましょう…。)
2. サーバーを初期化したあと SSH で接続できない
上のパーミッションを変更する際に、間違えていろんなところのパーミッションを 777 にしてしまい、phpMyAdmin にログインできなくなってしまったり、いろいろおかしくなってしまったので、最初から全てのインストールをやりなおすことにしました。
さくらのVPS を初期化する
さくらのVPS サーバーの初期化は、「さくらのVPS – コントロールパネル」にログインし、サーバー一覧より現在のサーバーを選択→「OSインストール」から「標準OSインストール」をクリックするだけです。
しばらくするとサーバーが再起動され、最初にさくらから提供された状態へ戻ります。
ssh でログインできない(その1)原因と対処方法
サーバーを初期化し、ssh でログインしようとしたら以下のようなエラーがでてログインできませんでした…。
ssh: connect to host <IPアドレス> port 22: Connection refused
これは、サーバーが再起動するのに時間がかかっていただけのようです、念の為もう一度 さくらの管理画面から再起動をかけ、しばらくしたら(私の場合は10分程度)エラーもでなくなりました。
ssh でログインできない(その2)原因と対処方法
先のエラーが解決しましたが、まだログインできません…。ログインを試みると今度は以下のようなエラーがでました。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
ドキッとするようなエラーです。これはホスト側のPCが入れ替わった時にでる警告のようです。自分の PC に記録された接続リスト(?)のようなもの(known_hosts ファイル)の中から該当するサーバーの部分を削除することで解決しました。
以下のコマンドで known_hosts ファイルを開きます。
vim ~/.ssh/known_hosts
ファイルを開くと英数字の羅列で少しこわくなりますが、このファイル中の以下のようになっている、さくらのVPS のIPアドレス部分を削除し、保存すればOKです。
xxx.xx.xx.xxx ssh-rsa AA……(略)……==
これでやっとログインできるようになりました。
OpenSSH : WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
3. WordPress でパーマリンク設定をデフォルトから変更すると 404 エラーがでる
サーバーの設定をしなおし、無事 WordPress をインストールするところまですすみました。しかし、WordPress のパーマリンク設定をデフォルトの http://ドメイン/?p=記事id から別のパーマリンク形式へ変更すると、ホーム画面以外が全て 404 エラーで表示できなくなってしまいました。
原因と対処方法
404 エラーになってしまうのは、.htaccess ファイルが Apache から書き込み可能な状態でなかったため、WordPress で行ったパーマリンクの設定が .htaccess ファイルへ反映されていないことが原因でした。
この問題は mod_rewrite を有効にすることで解決しました。
以下のコマンドで設定ファイル(httpd.conf)を開きます。
vim /etc/httpd/conf/httpd.conf
httpd.conf ファイルの中から以下の行を探し、コメント化(行頭に#がついていないか)されていないか確認します。もしコメント化されていたら行頭の # を削除します。
LoadModule rewrite_module modules/mod_rewrite.so
つづいて、httpd.conf ファイルに以下を追加します。
<Directory "/var/www/html"> AllowOverride All </Directory>
httpd.conf ファイルを保存して閉じたら、以下のコマンドで Apache を再起動します。
/etc/rc.d/init.d/httpd restart
これで、mod_rewrite が有効化されパーマリンクの変更ができるようになりました。
VPSに入れたWordPressで、パーマリンク変更後に404になる件 - StereoCube
WordPress › フォーラム » サイトURL変更後、リンク先が404 Not Foundとなる
4. さくらの管理画面でネームサーバーの設定ができない
ドメインを旧サーバーから新サーバーへ切り替えるためには、ネームサーバを変更する必要があります。
さくらのVPS でのネームサーバー設定は、コントロールパネルの右上「ネームサーバ登録」から「さくらの会員メニュー」へ行き、下の方にある「新しいネームサーバの登録」から行うことができます。
…できるはずだったのですが、私の管理画面では契約ネームサーバが「0」で、ネームサーバの登録ができません…。
原因と対処方法
この原因は、ただ単にさくらとの本契約がまだ終わっていなかったからでした…。「会員メニュー」から「本登録」を行うことで、ネームサーバ登録ができるようになりました!
私の場合は設定終了後、ドメインの変更が完全に反映されるのには丸1日以上かかりました。
まだ、サーバーの仕組みをいまいち理解できていないところも多いので、少しずつ理解を深めていけたらなと思います。サーバー移転後は WordPress の管理画面もサクサク動くようになり快適です。
The abtiliy to think like that shows you’re an expert