Apache2.4をインストール
12.04のころはバージョンが2.2だったApache。
当時は2.2が安定版で2.4はより実験的な要素を含んだバージョンだったんですが現在は2.4が安定版としてリリースされている様子です。
それに従いUbuntu14.04でパッケージに組み込まれているのも2.4となっています。
それでは早速Apacheのインストールを行います。
# apt-get update # apt-get install apache2
例によってこれだけで間単にインストールは完了♪
問題はこの先の設定です。2.2系とは異なっている部分が結構ありそうなので。。。
Apache2.4の設定
もともと、Ubuntu12.04から14.04にアップグレードした際にapache2.confをそのまましようとした結果サーバが動作しなくなったことが今回の再インストールの引き金になっています。
設定ファイルを見比べてみると所々変わっている点が見られましたのでその辺りを中心に書き残しておきます。
/etc/apache2/conf-enabled/security.conf
2.2系では直接apache2.confに書き込んでいたセキュリティ関連の項目が別ファイルに分離され、それがIncludeされる形に変わったようです。
自分の場合は以下のように修正しました。
26行目 エラーページでOS名を非表示にする ServerTokens Prod 37行目 HTTPレスポンスヘッダのサーバ署名を非表示にする ServerSignature Off :wqで保存
これでエラーページやHTTPヘッダでOSやソフトウェアのバージョンがバレるのを防ぎます。逆にこれらを知られることで内包するセキュリティホールを突かれる可能性が生まれるので要注意!
/etc/apache2/apache2.conf
上でも書きましたが設定ファイル(*.conf)が増え、それらをIncludeする形が取られています。
他にも以前は/etc/apache2/sites-available/以下に置かれた設定ファイルに記載していた<Directory>ディレクティブがApache2.confに直接書かれていたり、その中の「Allow ~ 」と「Deny ~」が
- Require all granted(アクセス許可)
- Require all denied(アクセス拒否)
に変わっていたりします。
この辺りを踏まえて設定してやると意外と簡単に動くようにはなりましたが。
まとめ
とりあえずは動くようになった当サイトなんですが、実はバーチャルドメインの設定をしていなかったりセキュリティ関連を詰め切れていなかったりとまだまだやることは沢山あります。
2.2系からの変更点も洗い出せば沢山あると思いますので少しずつでも調べて纏めておきたいところですね。