MIRACLE

メールサービス申込 ユーザー登録&ログイン パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

テクノロジー情報


Linux技術トレーニング 基本管理コース II

第7章 各種サーバ機能の設定


6.HTTPサーバー
6-1.Apacheサーバー
  • Apacheとは、ウェブシステムを構築する際に広く使用されるウェブサーバープログラム
  • Apacheサーバーの設定ファイル
    • /etc/httpd/conf/httpd.conf
    • /etc/httpd/conf.d/配下の *.conf (ssl.confなど)

Apacheサーバーの概要

ウェブ システムで表示されるページは大きく分けて2 種類あります。 1 つは静的ページで、Apache を使えば簡単にパフォーマンスに優れたシステムを構築できます。もう1 つは動的ページで、アクセスがあるたびにCGI や SSI を使って新たにページを作成して表示します。また動的ページには、データベースをバックエンドに置いた Web + DB システムというものもあります。
Apache とは、このようなウェブシステムを構築する際に、世界中で広く利用されている ウェブサーバープログラムです。

Apacheサーバーの起動と停止

Apache の起動スクリプトは、/etc/rc.d/init.d/httpdです。起動スクリプトのオプションでは 起動(start)、停止(stop)、再起動(restart)、現在の状況を確認(status)を指定できます。
Apache の設定を変更した場合は、変更内容をシステムに反映させるためにApache を再起動してください。

psコマンドを実行すると、Apacheプロセスの状況を次のように確認できます。
# /bin/ps aux | /bin/grep httpd | /bin/grep -v grep
root   853 2.6 1.2 23920 9804 - S 16:09 0:01 /usr/sbin/httpd
apache 856 0.0 1.2 23920 9832 - S 16:09 0:00 /usr/sbin/httpd
apache 857 0.0 1.2 23920 9828 - S 16:09 0:00 /usr/sbin/httpd
apache 858 0.0 1.2 23920 9828 - S 16:09 0:00 /usr/sbin/httpd
apache 859 0.0 1.2 23920 9828 - S 16:09 0:00 /usr/sbin/httpd
apache 860 0.0 1.2 23920 9828 - S 16:09 0:00 /usr/sbin/httpd
apache 861 0.0 1.2 23920 9828 - S 16:09 0:00 /usr/sbin/httpd
apache 862 0.0 1.2 23920 9828 - S 16:09 0:00 /usr/sbin/httpd
apache 863 0.0 1.2 23920 9828 - S 16:09 0:00 /usr/sbin/httpd
Apacheサーバーの設定

Apache の設定ファイルは /etc/httpd/conf/httpd.conf と /etc/httpd/conf.d/ 配下の*.conf(ssl.confなど)になります。設定の変更は、これら設定ファイル内のディレクティブとよばれるパラメータごとに値を指定することで行います。設定を変更した場合は設定ファイル編集後にApache を再起動するか、または、設定ファイルの再読込みの必要があります。各ディレクティブの詳細はApache 関連の書籍を参照してください。


6-2.パフォーマンスチューニングとセキュリティ
  • Apacheのパフォーマンスチューニング
    • プロセスの管理
    • DNSルックアップ処理
    • アクセスコントロールファイル
    • CGI
    • データベース接続処理
  • Apacheのセキュリティ
    • SSLを使用したセキュアサイトの構築

Apacheのパフォーマンスチューニング

(1)プロセス管理
Apache 2.0では、子プロセスの管理はMPM(Multi-Processing Modules)と呼ばれるモジュールグループが担当します。MPMに同梱されているモジュールのひとつpreforkモジュールを使用した場合、リクエストごとにhttpdの子プロセスを生成して処理を行います。子プロセスの生成にはオーバーヘッドがかかるので、この子プロセス制御の設定によってはパフォーマンスに影響が生じることがあります。

(2)DNSルックアップ処理
DNS ルックアップとは、アクセスしてきたクライアントのIP アドレスからホスト名を求める処理のことです。これは便利な機能ですが、DNS への問い合わせは非常にコストの高い処理になります。次のようなディレクティブの設定でこの機能を停止できます。

HostnameLookups Off

(3)アクセスコントロールファイル
ディレクトリごとにアクセスコントロールを行う方法として、.htaccessファイルを作成する方法があります。しかしこの処理は余分なディスクアクセスが発生することになるので注意が必要です。余計なディレクトリアクセスを防ぐには、次のディレクティブを設定してください。

AllowOverride None

(4)CGI
通常最も問題になるのがCGIです。CGIは実行時にプロセスを生成するという重い処理をするため、ボトルネックになることがあります。この場合は、mod_perlやPHP を使うことで、CGIプロセス生成のオーバーヘッドをなくすことができます。

(5)データベース接続処理
通常のWeb + DB のシステムでは、データベースへのアクセスリクエストがあるたびにデータベースへの接続処理が行われ、アクセスが終了するたびにデータベースとの接続を切断します。このオーバーヘッドを回避するには、データベースの接続状態を保持して使いまわす機能「DB コネクションプーリング」などが必要になります。アプリケーショ ンサーバー(iAS など)を導入するか、PHP なら OCILogon の代わりに OCIPLogon を使うことでデータベースとの接続を使いまわすことが可能になります。

Apacheのセキュリティ

Apache 2.0には、SSL(Secure Sockets Layer)機能を提供するモジュールとして mod_ssl が標準で組み込まれています。mod_sslの設定ファイルは httpd.confファイルとは別で、/etc/httpd/conf.d/ssl.conf になります。デフォルトの設定で、 httpd.confからssl.confファイルが読み込まれてSSL 機能を使用できる設定になっています。 mod_ssl が正しく組み込まれているかどうかの確認は、ウェブブラウザで「https://サーバーのIP アドレス」にアクセスして行ってください。接続ができていればmod_ssl が正しく組み込まれています。 実際に、SSL機能を使用したセキュアなサイトを構築する場合、セキュアサーバーを運営するには、VeriSign(http://www.verisign.co.jp/)やThawte(http://www.thawte.com/)などの CA(認証局)への鍵の登録が必要になります。鍵の登録方法や、鍵の作成方法については各認証機関の手順にしたがってください。


第7章 5へ 第7章 7へ

■この資料の評価をお願いします。
とても参考になった
参考になった
どちらでもない
あまり参考にならなかった
まったく参考にならなかった

コメントがある場合は以下に記述してください。技術資料として取り上げてほしいテーマも受け付けています。

以下は任意です。

お名前(フルネーム) :
会社名 :
メールアドレス :
 

会社情報 採用情報 個人情報保護方針 情報セキュリティ基本方針 商標等取り扱い事項 English
Copyright(c)2000-2015 MIRACLE LINUX CORPORATION. All Rights Reserved.