Debian 8.0 Jessieにアップデートしようとしてapache2の設定でハマる

2015/05/12[公開] 2020/01/23[最終更新]

 いままでDebian 7.8 Wheezyを利用していましたが、先月末にDebian 8.0 Jessieの安定板が出たのでアップデートを計画しています。ウチのPCサーバーはSSDを利用しているため、今回のようにカーネルも大きく変わるメジャーバージョンアップのときはSSDを取り外してSecure Eraseをかけてパフォーマンス復旧させつつOSクリーンインストールする計画で進めています。(上のアイキャッチ画像が計画図です。)

 そのSSDを取り外している間は、旧PCサーバーとして利用していたThinkPadノートを引っ張り出して代替サーバーにする計画でして、ThinkPadにも8.0 Jessieを入れてテストがてらクローンサーバーとしてWordPressを丸々移動させようと思っていたのですが、うまく動かずハマってしまいました。

403 Forbidden You don't have permission to access と出て表示されない。
403 Forbidden You don’t have permission to access と出て表示されなかったり。

 apache2のバージョンが2.2.22→2.4.10になり設定方法が少し変わったようですが、それが原因と切り分けるまで一週間近く費やしてしまいました。なにぶん深夜寝る前にサーバーを入れ換えて動かない→戻す→あきらめて寝る→原因切り分け→翌日深夜再挑戦、と繰り返してたら時間がかかりました。

このページの目次

スポンサー リンク

sites-availableの設定ファイルが読み込めない

 最初におかしいと気づいたのは、/etc/apache2/site-available/ の中にあるVirtualHostの設定ファイルをそのまま8.0Jessieに持ってきてa2ensiteコマンドで読み込ませようとしても設定ファイルとして読み込んでくれませんでした。

 Wheezy時代のデフォルトファイルdefault と default-sslファイルを元にちょこちょこと記述を変えただけのファイルにも関わらずです。よく見るとJessieのデフォルトファイルは000-default.conf と default-ssl.conf というファイル名になっていたので、.conf をファイル名のお尻に付けると a2ensiteで読み込んでくれましたが、WordPressは「403 Forbidden You don’t have permission to access」としか表示されずです。

FollowSymLinksが有効になっていない

 どうやらエラーの原因は、apacheのオプションでシンボリックリンクが有効になっていないようです。いままでsites-available内の設定ファイルで指定していたこの部分です。

<Directory /var/www/>
	Options Indexes FollowSymLinks MultiViews
	AllowOverride All
	Order allow,deny
	allow from all
</Directory>

  ここが有効になっていないようです。どうやら設定する場所が変わったようです。

jessie6

 設定が書いてある場所が変わっています。シンボリックリンクの記述は/etc/apache2/apache2.conf に直接書いてあります。その他の上図青の部分も/conf-available なるディレクトリが増えていてそっちにファイルを置いてa2enconfコマンドで有効にするように変わったようです。

結局、設定をやり直す

 wheezy時代の設定ファイルをそのまま持ってくるのはあきらめて、/etc/apache2内の設定は作り直しました。

apache2.conf の設定

 /etc/apache2/apache2.confの設定は164行目からを変更します。

 変更前

<Directory /var/www/>
	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>

  変更後

<Directory /var/www/>
       Options Indexes FollowSymLinks
       AllowOverride All
       Require all granted
</Directory>

 AllowOverride All にしておかないと、WordPressの場合は以前記事にしましたが、パーマリンク変更で表示されなくなるので注意です。

sites-availableとports.confの設定

 /etc/apache2/sites-availableディレクトリ内のデフォルトファイル000-default.confを元に自分のサイトに合わせて設定します。複数サイトやSSL通信を有効にする場合は必要な設定をします。

WordPressフォルダそのまま移行が可能になった

 これでDebian7.8 Wheezyで稼働中のWordPressディレクトリとデータベースをそのまま右から左に移動するだけでJessie代替サーバーで動くようになりました。これでやっとDebian 8.0 Jessieアップデート計画が次の段階に進みます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です