TLでCentOS5.6がリリースされたことを知り、研究室のWebサーバーをアップデートしようと思いました。一応、何かあっては困るのでバックアップ。。。5時間以上かかるらしい。。。その間にアクセスしてくれた方のためにエラーページくらい出さないと。。。と思い、macでhttpdを起動してみました。
手順はいたって簡単でGUIで簡単に起動できます。システム環境設定から共有を選択して下図のようにWeb共有をポチっとするだけです。ポチりなおすことでhttpdを再起動できるようです。この辺の話しはこちらを参考にしました。
で、DocumentRootはどこにあるか。。。httpd.confが/etc/apache2の下にあります。管理者権限が必要なのでsudoで編集します。操作は以下。管理者パスワードを設定していない人はググって設定してください。
sudo vi httpd.conf
で、DocumentRootは。。。以下のようになっていました。
DocumentRoot "/Library/WebServer/Documents"
Finderで見てみると、index.html.enというファイルがあるので、とりあえずファイル名をindex.htmlに書き換えてこのファイルを以下のように編集しました。
<?xml version="1.0" encoding="utf-8"?> <html><head> <meta http-equiv="Content-Type: text/html;charset=utf-8"/> </head><body> <h1> http://swken.joho.fuk.kindai.ac.jp/<br><br> ご迷惑をおかけして申し訳ありません。<br> ただいま、サーバーメンテナンス中です。<br> 2011年4月14日12:00までに復旧予定です。<br> </h1> </body> </html>
それでlocalhostにアクセスしてみると。。。おおっ表示されました。なかなkいいです。
で、トップページにアクセスする人はこれでいいのですが、中のページにアクセスするとエラーページが表示されてしまいます。リンク切れなのかサーバーダウンなのかメンテ中なのかこれではわかりません。そこで404ページを表示する設定をhttpd.confを見て確認しました。するとコメントアウトされていましたので先頭の#を取り除き、missing.htmlをindex.htmlに変更しました。
ErrorDocument 404 /index.html
で。。。ブラウザで見てみると「あれっ?エラーページが表示されない?」。ググってみると原因はこちらのようです。なるほどChromeの機能なのですね。対策も書かれていました。エラーページを512バイト以上にすればいいとのことでしたので&nbps;を512バイト以上になるまで入れました。
これでめでたくChromeユーザもエラーページ(メンテ中ですよーというページ)を見ることができました。めでたしめでたし。