apacheモジュール活用!

Apacheの稼働状況の表示
●mod_status

/etc/httpd/conf/httpd.conf の一部
#<Location /server-status>
#  SetHandler server-status
#  Order deny,allow
#  Deny from all
#  Allow from .example.com
#</Location>

↓ 下記のように変更
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from all
</Location>

とし、Apacheを再起動で設定を反映し、
http://192.168.1.30/server-status と「server-status」をURLに追加すると、
Web上で、稼働状況が確認できる。

見方としては、画面中央の
___W__………………………………………
…………………………………………………
…………………………………………………
部分で、
「_」が待機中のプロセスで
W R K などは処理のプロセスを表しています。

さらにプロセスの詳細を知りたい場合は、同ファイルないの
ExtendedStatusディレクティブの「#」ををはずして有効し、Apacheを再起動すれば、
詳細な情報が確認できます。
#ExtendedStatus On

ExtendedStatus On

コンテンツ圧縮
●mod_deflate

httpd.conf内の
SetOutputFilter DEFLATE
DeflateCompressionLevel 3

でクライアントに送信するコンテンツを圧縮できます。
ですが、圧縮レベルが高いほど、CPUへの負荷はあがります。
レベルは1~9まで

URLの書き換え
●mod_rewrite
クライアントから要求されたURLを書き換える。
例でいうと、メンテナンスを告知するページへ誘導したい場合に、
httpd.confを
RewriteEngine on
RewriteRule ^.*$ /sorry.html [L]
とすると。
ドメイン上のすべてのアクセスに対して、
「/sorry.html」を表示するようするといった使い方ができます。

プロキシの利用
●mod_proxy
クライアントからのWebアクセスの要求をうけ、クライアントの代わりに目的のWebサーバーへアクセスするサーバーです(Web以外の通信も可能)。
プロキシサーバーには、
クライアントが任意に指定するサーバーに代理で接続する = フォワードプロキシと、
特定のサーバーにアクセスする場合に中継を行う      = リバースプロキシの2つがある。

フォワードをプロキシを利用する例
#<IfModule mod_proxy.c>
#ProxyRequests On

#<Proxy *>
#  Order deny,allow
#  Deny from all
#  Allow from .example.com
#</Proxy>

#ProxyVia On

#</IfModule>

<IfModule mod_proxy.c>
ProxyRequests On

<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

ProxyVia On

</IfModule>

とし、Apacheを再起動し、あとは、クライアントのブラウザの設定でApacheをプロキシサーバーに指定すれば完了。社内LANなどからインターネットへのアクセスを一本化したい場合に利用できます。

また、mod_proxyとともにmod_cacheなどを利用することでキャッシュサーバーとして利用することも可能です。

●Basic認証

下記内容をhttpd.confに追記
<Directory /var/www/html/CentOS>
AuthName “Secret Page”
AuthType Basic
AuthUserFile /var/www/html/CentOS/.htpasswd
require valid-user
</Directory>

上記設定がおわったら、
# htpasswd -c /var/www/html/CentOS/.htpasswd user1
し、パスワードを作成し、
Apacheを再起動すれば、対象のURLへアクセスすると認証がかかります。

ファイルサーバーの利用
●mod_dav, mod_dav_fs
こちらは簡単なApacheを利用したファイルサーバーを紹介します。

下記でファイルサーバー用ディレクトリ作成し、
パーミッションを設定します。
#mkdir /var/www/html/webdav
#chown apache.apache /var/www/html/webdav

次にhttpd.conf
Alias /webdav “/var/www/html/webdav”
<Location /webdav>
DAV on
</Location>
と記述し、apacheを再起動したあと、
WindowsXPの場合だと、ネットワークプレースの追加で、
http://192.168.1.30/webdavなどとすれば、
webdavというディレクトリが開かれる。