Apache2でのVirtualHost設定でエラー→解決。
連休を利用して、Ubuntuの新しいLTSディストリビューション・14.04への移行を試みたわけなのです。
うちはWindows 7上でVirtualBoxを動かして、そこでUbuntu12.04を運用しています。上書きアップグレードでも良いのだけれど、時間もあるので新たに仮想マシンを用意して、そちらに14.04を真っさらインストール。
で、ApacheやらMysqlやらメールクライアントソフトやら、必要なものをインストールしていくのです。メールやブラウザの設定などの移行は、例えばFireFoxの設定諸々ならば、12.04のホームディレクトリから .mozilla ディレクトリを新環境のホームディレクトリにコピーしてやれば良いだけなので簡単です。
さて、Apacheまわりを旧環境と同様の設定にする作業。VirtualHostの設定をしようと思って、/etc/apache2/sites-available/ に 設定ファイル example.com を作成。これを Apache に認識させるために
$ sudo a2ensite example.com
…としてやれば良い筈が、何故か
ERROR: Site example.com does not exist!
…と言われるのだな。存在しとるっちゅうの。
調べてみると、同じように罠に嵌っている人を発見。
→ a2ensite error “Site not exist” when creating virtualhost apache2 on ubuntu - Server Fault(英語)
→ Error After upgrading to Apache 2.4.6 - Stack Overflow(英語)
→ Error After upgrading to Apache 2.4.6 - Stack Overflow(英語)
エラーの原因は、要するに、
/etc/apache2/sites-available/ 内のファイルは、ファイル名の末尾に .conf を付けなければ(設定ファイルとして)認識されなくなった。
ということらしい。Apache2.2系からApache2.4系へ移行するときは、この仕様変更に注意せねば。
結局、
$ sudo mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf
とした後に a2ensite してやれば大丈夫。
コメント