ウェブサイト検索

Apacheウェブサーバーにおけるモジュールのインストール、設定、および使用方法


ステータス: 廃止された

この記事では、もはやサポートされていないUbuntuのバージョンについて説明しています。現在、Ubuntu 12.04を実行しているサーバーを運営している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。

  • Ubuntu 14.04にアップグレードします。
  • Ubuntu 14.04からUbuntu 16.04へのアップグレード
  • サーバーデータをサポートされているバージョンに移行する

理由: Ubuntu 12.04は2017年4月28日にサポートが終了(EOL)し、もはやセキュリティパッチやアップデートを受けることはありません。このガイドはもはや維持されていません。

代わりに見る:
このガイドは参考としてはまだ有用かもしれませんが、他のUbuntuリリースでは動作しない可能性があります。 使用しているUbuntuのバージョンに対して書かれたガイドを使用することを強くお勧めします。 ページの上部にある検索機能を使用して、最新のバージョンを見つけることができます。

アパッチとは何ですか?

Apacheは、世界で最も人気のあるウェブサーバーです。これは、インターネット上のアクティブなサイトの半分以上を提供しており、大規模なプロジェクトと小規模なプロジェクトの両方のニーズに対応できます。

このガイドでは、Apacheでの作業時に機能性を追加し、体験を向上させるための一般的で便利なモジュールのいくつかを紹介します。それらは、サーバーの最適化、セキュリティ、監視に役立ちます。

これらのモジュールを探るためにUbuntu 12.04 VPSを使用しますが、ほとんどのディストリビューションは似たような方法で動作するはずです。Apache特有のファイルの場所については、あなたのディストリビューションのドキュメントを参照してください。

ページスピードモジュール

mod_pagespeedモジュールは、コンテンツを自動的に最適化するApacheの拡張機能です。データの圧縮、キャッシュの実装、ファイルのサイズ変更、設定ファイルから不要な空白の削除を行うことができます。

プロジェクトのウェブページにはUbuntu用のバイナリがあります。64ビットのUbuntuシステムにダウンロードしてインストールするには、以下のように入力してください:

cd
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
sudo dpkg -i mod-pagespeed-*.deb
sudo apt-get -f install
sudo service apache2 reload

32ビットのUbuntuシステムで、次のように入力します:

cd
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb
sudo dpkg -i mod-pagespeed-*.deb
sudo apt-get -f install
sudo service apache2 reload

設定ファイルは「/etc/apache2/mods-available/pagespeed.conf」にあります。

このモジュールはインストールされると有効になり、サーバーを再読み込みするとコンテンツの最適化を開始する必要がありますが、設定ファイル内で多くの異なる最適化と監視機能を構成できます。UbuntuまたはDebianでmod_pagespeedを構成する方法についてのガイドに従ってください。

セキュリティモジュール

mod_securityモジュールは、管理者が設定したルールに基づいてトラフィックを受け入れたり拒否したりできる構成可能なセキュリティ層を提供します。それは、インターネットに対する脆弱性の露出を防ぐことができるアプリケーションファイアウォールです。

このモジュールはUbuntuのデフォルトリポジトリに含まれているため、以下のコマンドでインストールできます:

sudo apt-get install libapache2-modsecurity

このコマンドでモジュールを有効にすることができます:

sudo a2enmod mod-security

通常の「/etc/apache2/mods-available」ディレクトリにある設定ファイルは「mod-security.conf」と呼ばれていますが、これは「/etc/modsecurity」にあるファイルのみを参照しています。

以下のコマンドを使用して、デフォルトの例ファイルを本番環境に移動できます:

cd /etc/modsecurity
sudo cp modsecurity.conf-recommended modsecurity.conf
Open the configuration file with root privileges:
sudo nano modsecurity.conf

設定ファイルを読み込み、サイトのニーズに基づいて値を調整してください。ほとんどのデフォルト設定は問題ありませんが、"SecRequestBodyLimit"をデフォルトの128 KB制限よりも少し緩めの値に調整することを検討しても良いでしょう。

設定を適用する準備ができたら、「SecRuleEngine」ルールを「DetectionOnly」ではなく「On」に変更できます。

#SecRuleEngine DetectionOnly
SecRuleEngine On

これにより、あなたのルールが実装され、それらがあなたのサイトに適用され始めます。これらのルールを有効にするためには、Apacheインスタンスを再読み込みする必要があります:

sudo service apache2 reload

ステータスモジュール

最も便利で設定が簡単なモジュールの1つは、UbuntuにApacheをインストールするときに、予めインストールされて設定されています。mod_statusモジュールは、サーバーの負荷とリクエストの概要を提供します。

次のコマンドを使って「mods-available」ディレクトリ内の設定ファイルを編集できます:

sudo nano /etc/apache2/mods-available/status.conf

「Location /server-status」ディレクティブの下で、「192.0.2.0/24」行の前にある「#」文字を削除し、ウェブサーバーにアクセスするために使用するコンピュータのIPアドレスを追加します。

<Location /server-status>
	SetHandler server-status
	Order deny,allow
	Deny from all
	Allow from 127.0.0.1 ::1
	Allow from Your.IP.Address.Here
</Location>

再度、入力するIPアドレスがサーバーにアクセスするために使用しているコンピューターのものであり、サーバーのIPアドレスではないことを確認してください。

Apacheを再起動して、新しい設定の変更を再読み込みできるようにします:

sudo service apache2 reload

以下をウェブブラウザに入力して、定義したサーバーステータスページに移動します:

Server.IP.Address.Or.Domain.Name/server-status
Apache Server Status for 192.241.167.189

Server Version: Apache/2.2.22 (Ubuntu)
Server Built: Jul 12 2013 13:37:15
Current Time: Thursday, 08-Aug-2013 16:36:48 UTC
Restart Time: Thursday, 08-Aug-2013 16:04:59 UTC
Parent Server Generation: 2
Server uptime: 31 minutes 49 seconds
Total accesses: 3 - Total Traffic: 0 kB
CPU Usage: u0 s0 cu0 cs0
. . .

サーバーのパフォーマンスと負荷に関する情報やテキストベースの指示が表示される統計ページが提供されます。ページを迅速に更新することで、アクティビティの表示方法を見ることができます。

スパムハウスモジュール

Spamhausモジュールを使用することで、悪質であることが知られているIPアドレスのブラックリストからのリクエストを拒否することで、攻撃者をブロックできます。

もう一度、このモジュールはUbuntuのデフォルトリポジトリにあります。インストールは以下のコマンドで行います:

sudo apt-get install libapache2-mod-spamhaus

設定するには、「mods-available」ディレクトリ内の「mod-spamhaus.conf」ファイルを参照してください:

sudo nano /etc/apache2/mods-available/mod_spamhaus.conf

モジュールは、さまざまな基準に基づいてフィルタリングするように構成できます。「MS_METHODS」定義を使用すると、クライアントが認識されたHTTPメソッドのいずれかを使用するたびにIPをチェックできます。これにより、これらのIPがサーバーを氾濫させるのを防ぐことができます。

このモジュールでは、ホワイトリストの設定、DNSブラックリストのローカルバージョンの維持、キャッシュパラメータの調整も可能です。

モジュールはインストール時に有効になっているはずですが、これらのコマンドを使ってフィルタリングを有効にするために、再確認し、Apacheを再読み込みすることができます:

sudo a2enmod mod-spamhaus
sudo service apache2 reload

書き換えモジュール

Apacheで最も便利なモジュールの一つがmod_rewriteです。このモジュールを使用すると、サーバーでリクエストされたコンテンツのために、ユニークで読みやすいURLを生成できます。

モジュールはApacheがインストールされるときにUbuntuにデフォルトでインストールされますが、有効になっていません。この状況を改善するために、次のコマンドを入力してください:

sudo a2enmod rewrite
sudo service apache2 reload

mod_rewriteの設定は「mods-available」ディレクトリでは行われません。代わりに、.htaccessファイルや通常のサーバー設定ファイル内の宣言を使用して、何をするかを決定します。

完全な構成の詳細はこの記事の範囲外です。ただし、mod_rewriteの設定方法に関する詳細な記事はこちらにあります。

結論

これはApache用のモジュールの包括的なリストではなく、あくまでイントロダクションです。これまでに、標準のApacheの動作を変更するために利用できるいくつかのモジュールのバリエーションが見えるはずです。

サーバーにコードを追加するたびに、脆弱性を開放し、オーバーヘッドを増やす可能性があることを心に留めておいてください。 よくテストされ、一般的に実装されているモジュールを選ぶようにしましょう。 サイトに必要なモジュールのみを有効にしてください。

関連記事: