連載第79回
2014年7月5日
引っ越し直前のサーバー下準備(DocumentRoot変更で不具合)

 前回は全く予定外のWordPress再インストールで貴重な時間を潰しました。急いで先に進みます。
 前々回までは、引っ越し先に設定したURLにアクセスすると、WordPressに付属している「twentyeleven」テーマが適用された状態でブログが表示されていたのだけれど、前回で再インストールしてからは諸々の設定がリセットされてしまい、白紙状態での表示になってしまいました。そこで今回は、これまでローカルのMAMP内で作成してきたFLFLテーマを設置します。まずはServersMan@VPSへ設置したwordPressフォルダ内の「wp-content>themes」へ「FLFL」関連ファイルをアップロード。

 初回はSFTP接続してアップデートでもいいけれど、今後は修正したファイルのみ自動でピックアップして「公開ボタン」を押せばそれらを所定の場所へアップロードしてくれるように、サイト管理でローカルとリモートを紐付けておきます。少し手間が省けるだけでストレス軽減。

 また、紐付けておくことでモッサリしているWordPressのダッシュボード上でindex.phpやstyle.cssを編集しなくても、ローカルのCoda 2上で編集してアップロード、という手順を踏んだ方が動作が速いので快適です。ひとまず、ここでアップロードするファイルは次の6ファイル。

 index.php
 style.css
 functions.php
 searchform.php
 search.php
 screenshot.jpg

 アップロード後、ダッシュボードのメニューから「外観」をクリックすると、無事「FLFLテーマ」が認識されていたのでそれを有効化。

DocumentRootの変更での気付き!

 WordPressフォルダは、取得したドメインのURLのルートとは別の階層に置いたのは前回書いた通り。ここで「第56回:Coda 2、WordPress 下準備のつづき」に従って、ドメインURLのトップにアクセスすれば、WordPressのトップページが表示されるように設定しようとしたところ、画面が白紙になってしまう不具合に遭遇。.htaccessファイルや、index.php内の記述など、コチラの記事も参照しながら作業したのですが、どうもうまくいかない。自分の知識不足ゆえ、正確なところは全く不明ですが、何となくApacheのリダイレクト機能との連携が取れてないような感じがします。ちなみにこの時点では、Apacheのリダイレクト機能を活かしたままWordPressのルートを飛ばせないか試行錯誤。

 そこで、ServersMan@VPSのマニュアルにある「DocumentRootの変更」をジーーーッと読んでみました。

 そのマニュアルに書かれてある要点をまとめると(従来、ユーザーに貸与されているサーバー内の、ホームページ公開用ディレクトリ「html」とは別のところに置いたWordPressフォルダにアクセスするのに、Apacheのリダイレクト機能を使っていたのだけれど)、独自ドメインURLへの直アクセスで直接WordPressのトップ画面を開くのに、WordPress設定の諸機能を利用する場合は、WordPressフォルダ自体を直接ホームページ公開用ディレクトリとして指定し直す、という事らしい… …え?

 それを要約すれば、やっている事の本質はつまり

htmlディレクトリ以下にWordPressフォルダを置くのと同じ

という事じゃないか!何だったんだ、これまでのシリーズ数回分は。ちなみに、上記マニュアルに書かれてある操作「viコマンドでhttp.confを開く〜」はとても面倒ですが、webminを使えば「サーバー>Apache Webサーバー>ドキュメントのオプション」を開いて、簡単に設定できます。

またやり直す(WordPressの再々インストール)

 気を取り直して再々インストールを行います。htmlディレクトリ下にWordPressフォルダをザックリとSFTPアップロードして、これまでやって来た作業(DB紐付け等々)をもう一度繰り返す事になるのですが、もういい加減、疲れて…いや、ここで疲れてはならない。今一度、作業手順の確認のためリストアップ。

  新たにhtml以下へWordPress 3.9.1フォルダをアップロード。
  また新規データーベース作成(重複などのトラブルを避けたい)
  DBの紐付け、インストール。
  簡単に動作確認。
  (不要なら)webminからApacheのリダイレクト設定を解除。
  (不要なら)MySQLから不要データーベースを削除。
  「wp-content」内に「uploads>img」フォルダを作成し、テーマに必要な画像素材をアップロード。

 もう、WordPressのインストール(だけ)ならまかせとけ!というくらい慣れてきました。

改めてDocumentRootの変更

 再び、WordPressをサイトのルートで表示させる設定にとりかかります。参考記事はコチラ

  まず、ダッシュボードの一般設定から、サイトアドレス (URL)をルートに設定。保存。
  同じく設定からパーマリンク設定を開き、第70回の記事を参考にカスタマイズ。
  .htaccessを書き直す必要がある、とアラートが出るので、表示されたコードをコピー。
  Coda 2で.htaccessを作成し、コードをペースト。htmlフォルダの直下にアップロード。
  WordPressフォルダ直下からコピーしたindex.phpを、htmlフォルダの直下にコピー。
  参考記事に従い、index.php内のWordPressフォルダへのパスの箇所を編集、保存。

 しかし、上記行程を経てURLにアクセスしたらまた白紙。しばらく悩んで「.htaccess」ファイルなどチェックしてみたけれど、特に間違えている様子もない。そこで、ローカルのMAMP上ではどうだったか比較してみたら、上記行程の最後「index.php内のWordPressフォルダへのパスの編集」で差異を発見。上の参考記事には「require(‘./wp/wp-blog-header.php’);」とありましたが、相対パス先頭にある「.」ドットは不要なのです!
 気付いてしまえば当たり前のような気もするのですが、しかし参考記事の方は注意書きが必要なのではないか。WordPress3.9.1の場合、正解はこちら(↓)。

require( dirname( __FILE__ ) . ‘/◆◆◆/wp-blog-header.php’ );
/◆◆◆(WordPressフォルダ)/の直前に . は不要。↑

 そして、ようやく独自ドメインへのアクセスで、WordPressが表示されるようになりました。しかしどうも変です。MAMP環境を設定していた時の記事を見ると、ちゃんと「. ドット」を使うように書いているのですが、今、ファイルを開いてみるとドットが消えている…。自分で編集した記憶も無いし、WordPressが書き換えたのか…謎です。でも時間が無いし、あまり深く考えずに結果オーライで。つづく。

しかしまだまだ下準備はつづくし、まだまだトラップが仕掛けられてるような気がする…。