Apache を入れよう。
さてとりあえず方向性としては web/AP サーバにしてみようかなということで、Apache と Tomcat をインストールします。
まずは Apache 。といっても入れるだけならすぐなので、各設定の意味でもひも解いていければなと思います。努力目標。
とりあえず、
[root@centos ~]# yum -y install httpd
だ。
Package httpd-2.2.15-26.el6.centos.x86_64 already installed and latest version
Nothing to do
すでに入ってるよと言われた。
なのでここからはひたすら設定で、最後に起動します。
[root@centos ~]# /etc/httpd/conf/httpd.conf
をいじります。
http://linux.kororo.jp/cont/server/httpd_conf.php
この辺りを参考にさせていただきます。もろパクリします。すみません。
ServerRoot は、Apache をインストールした場所のパスが指定されており、このディレクトリ以下に conf や logs などのサブディレクトリが格納されます。以降で出現するディレクティブの多くは、このServerRoot からの相対パスで記述されている事が多いため、通常は、デフォルトのままにして置いてください。(引用)
デフォルトとのことなので、
ServerRoot "/etc/httpd/"
Timeout は、クライアントからの接続要求を受け取ってからタイムアウトになるまでの時間を秒単位で指定します。(引用)
300秒がデフォルトらしいが、長いので60秒にしてみる。
Timeout 60
KeepAlive は、クライアントからの接続要求を受け取った際に、すぐにはHTTPセッションを閉じずに、ある一定の時間までは継続してセッションを保っておく機能で す。これは、クライアントからの接続要求があった場合に、クライアントは通常、リンクを辿って他のページを見にいこうとするため、ある一定期間はセッショ ンを保っておこうというものです。当然、有効にしておく事でパフォーマンスの向上に繋がります。セッションを保っておく時間を指定するディレクティブが、KeepAliveTimeout で、MaxKeepAliveRequests は、KeepAlive がOn の時に、接続要求を受け付ける最大許容値を指定します。(引用)
デフォルトでは off なのね。on にします。
KeepAlive On
KeepAliveTimeout 15
MaxKeepAliveRequests 100
Listen 設定は 80 と 8080 をあけておく。
Listen 80
Listen 8080
サーバを実行するためのユーザーとグループを指定します。ここで指定するユーザーとグループに、nobodyを設定する方も多いと思いますが、特定の新しいユーザとグループを作成して、設定する事が推奨されています。その理由として、nobody ユーザがシステムで 他の役割を担っている可能性もありますので、なんでもかんでも nobody に設定してしまうと今度は逆にnobody ユーザーが乗っ取られたときの危険性も高くなります。なので、できる限り、専用のユーザーで実行した方が好ましいといえます。(引用)
apache さんを登録しておきます。
User apache
Group apache
ドキュメントルートを指定します。ここで指定したパスにHTMLドキュメント等を置いておきます。基本的には、ここで指定したパスより上位の階層へはアクセスする事ができません。(引用)
index.html が指す場所ですよね。デフォルト設定です。
DocumentRoot "/var/www/html"
2度目に出てくる<Directory>では、ドキュメントルートを指定します。これは、上の行で出てきたDocumentRoot と同じディレクトリを指定しておきます。(引用)
<Directory "/var/www/html">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Multiviews を有効にしておくことで、曖昧なURLを指定した場合でも、クライアントに対して最適な値を検索して返す事ができるようになります。具体的に説明すると、 仮にホームディレクトリ内にtest.php がある場合に、http://linux.kororo.jp/test とブラウザに入力すると、そのようなファイルがないため通常は「ページが表示されません」というエラーが返されますが、Multiviewsが有効になっ ていると、自動的にtest.* で始まる全てのファイルを検索し、結果としてtest.php をクライアントに返します。ひとつ注意点としては、Options All を指定したとしても、Multiviews は有効にはなりません。必ず、明示的に記述しておく必要があります。(引用)
元々書いてないので、完全新規で追記します。
Options Multiviews
ユーザーにホームページスペースを提供する場合などに指定するのが、UserDir ディレクティブです。(引用)
使わないので disable
UserDir disable
DirectoryIndex は、スラッシュ「/」で終わるURLを指定した際に、デフォルトで表示するファイルを指定するもので、一般的には、index.html や index.php などを指定しておきます。例えば、http://linux.kororo.jp/ をブラウザで入力した場合、ドキュメントルート最上層に index.html が用意されていればそのファイルが表示されます。もしも、DirectoryIndex で指定したファイルが存在しない場合は、サーバーは、404ステータスコードを返し、ページが見つからない旨をクライアントに伝えます。これは、トップ ページ限らず、例えば、http://linux.kororo.jp/photo/ などを指定した場合にも、index.html が用意されていればページが表示されるし、用意されていなければ、404ステータスコード、もしくは403ステータスコード(Forbidden)を返す ようになります。(引用)
デフォルト設定で。
DirectoryIndex index.html index.html.var
ServerTokens は、HTTPレスポンスヘッダーの値を返し、その中に含まれるサーバーOS に関する情報、コンパイルされたモジュールなどの情報などを返します。これらの情報を相手に提供するのは決して好ましいとはいえないので、コメントアウト して無効にするか、最低限の情報しか表示させないようにします。ServerTokens には、いくつかのレベルを設定する事ができ、デフォルトではFull に設定されています。最も少ない情報を提供するためには、Prod を指定します。(引用)
Prod を指定します。
ServerTokens Full
Apache/2.0.48 (Unix) mod_ssl/2.0.48 OpenSSL/0.9.7c DAV/2 PHP/4.3.4 Server at ns Port 80
ServerTokens OS
Apache/2.0.48 (Unix) Server at ns Port 80
ServerTokens Min[imal]
Apache/2.0.48 Server at ns Port 80
ServerTokens Minor
Apache/2.0 Server at ns Port 80
ServerTokens Major
Apache/2 Server at ns Port 80
ServerTokens Prod[uctOnly]
Apache Server at ns Port 80
ServerSignature は、エラーメッセージなどをクライアントに返す際のフッターラインを表示させるかどうかを指定するディレクティブです。これらの情報を隠蔽するには、値をOff にしておきます。(引用)
ServerSignature Off
cgi-bin ディレクトリ内にgif やjpg などが格納されたディレクトリがあり、そこから画像などを読み込む場合、Apacheはそれらの画像ファイルをスクリプトとしてみなしてしまうため、サー バーエラーが発生します。これを回避するためには、<Direcotry>コンテナ内に、以下のようにAddHandler指示子を追加して あげる必要があります。(引用)
利用するかどうか分からないが、とりあえず追記しておく。
|
LanguagePriority は、使用する言語の優先順位を指定します。ここでは、日本を表す ja を先頭に持ってきています。(引用)
LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
AddDefaultCharset は、明示的に指定のないCharset が見つからない場合に、デフォルトで返すCharset を指定します。デフォルトでは、ISO-8859-1(Latin-1)になっているため、日本語環境では文字化けが発生します。このディレクティブは必 ず、無効にしておくか、あるいは明示的にデフォルトのCharset を指定しておく必要があります。明示的に指定する場合、サイトのコンテンツに合わせて、none、shift_jis、EUC-JPのどれかをしておけばいいでしょう。(引用)
無効にしてみた。
# AddDefaultCharset ISO-8859-1
CentOSなどでApacheをインストールするとデフォルトで入っている "welcome.conf" ファイル。
これは、デフォルト状態でアクセスしたときにウェルカム画面を表示するための設定ファイルです。(引用)
無効にします。
[root@centos ~]# mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.org
長かった。。Apache を起動します。
■Apache 起動
[root@centos ~]# /etc/rc.d/init.d/httpd start [root@centos ~]# chkconfig httpd on [root@centos ~]# chkconfig --list httpd httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
■確認
ブラウザで、http://localhost にアクセス出きることを確認する。
見えた!終わり!