目的
Ubuntuにapache2をインストール後、apache2再起動時に出力されるAH00558エラーを解消する。
結論
以下のコマンドを実行する*1。
sudo echo ServerName $HOSTNAME > /etc/apache2/conf-available/fqdn.conf sudo a2enconf fqdn sudo service apach2 restart
背景
前提
Ubuntuにapache2を入れたところ、動いてはいるが、再起動時に以下のようなエラーが出力されていた。
sudo service apache2 restart * Restarting web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
原因
このエラーは、/etc/hosts にlocalhost以外に自分で設定したホスト名が、Apacheの設定ファイルに定義されていないために発生する。 via Apacheのエラー:Could not reliably determine the server’s fully qualified domain name… | Weblogy
Ubuntuでは/etc/hostsのデフォルトは以下のようになっている*2
127.0.0.1 localhost 127.0.1.1 <コンピュータ名>
このため、127.0.1.1のFQDNを解決できずに失敗するらしい。
解決策
apache の設定ファイルに ServerName を追記すれば良い。
ubuntuではCentOSのhttpd.confとは違い、設定ファイルは分割が可能なので、解決用の設定ファイルを作り、読み込ませる*3。
sudo echo ServerName $HOSTNAME > /etc/apache2/conf-available/fqdn.conf sudo a2enconf fqdn sudo service apach2 restart
その他の方法
hostsを編集したり、apache2.confを編集するという手もある。
Apacheのエラー:Could not reliably determine the server’s fully qualified domain name… | Weblogy
UbutnuでApache2を起動してみた - hyktの日記
また、最初は/etc/apache2/sites-available以下あるサイト用の設定ファイル(デフォルト)をコピーし、ServerNameを記載して有効化すればよいかと思ったが、それではうまくいかなかった。
#デフォルトのファイルをコピペしてServerNameを変更する sudo cp 000-default.conf <fileName> sudo vi <fileName> #設定を有効化して、設定を再読み込みする。 sudo a2ensite sudo service apach2 reload #でもうまくいかない
おまけ
他に使ったコマンドなど。
/etc/lsb-release #ubuntuのバージョンを調べる apache2 -v #apache2のバージョンを調べる a2dissite #サイトの無効化 a2disconf #confの無効化