[apache2] webサーバのインストール

webを公開するためにwebサーバをインストールします。webサーバには、プロバイダなどでもよく使われているApacheを使用します。

Apacheには2種類のバージョンがありますが、今回はver2系のほう(httpd2)を使用します。
もちろん、ver1系のほうでも同様に動作させることが可能です。
ではでは早速、ソースをダウンロードし、コンパイル、インストールまで行います。
途中、注意するところがありますので気をつけて下さい。

> fetch http://www.apache.jp/dist/httpd/httpd-2.0.47.tar.gz
Receiving httpd-2.0.47.tar.gz (6217401 bytes): 100% (ETA 00:00)

> tar xzf httpd-2.0.47.tar.gz
(ソースを展開します。カレントにhttpd-2.0.47フォルダができます)

> cd httpd-2.0.47
> su (rootになりましょう)
# ./configure –enable-so –enable-ssl ※1
checking for chosen layout… Apache
checking for working mkdir -p… yes
checking build system type… i386-unknown-freebsd5.1
……(省略)

# make (コンパイルします。気長に待ちましょう。)
# make install ※2

ここで気をつけるのは2点です。

※1
–enable-so (soモジュールを有効にする)
これは、後述するPHPを使用できるするために必要なので、つけました。
–enable-ssl (sslを利用可能にする)
SSLページ (https://〜で始まる暗号化されたページ)を利用可能にするために、必要です。
通常であれば必要ないですが、セキュアなページには必要でしょう。(^^;
※2
今回、デフォルトのままインストールしましたので、インストールされる場所は、
/usr/local/apache2 以下にインストールされます。
インストールする場所を変えるには、※1の時に
./configure –prefix=/usr/local/httpd2 …
のように記述すれば変更可能です。

インストールが完了したら、早速設定ファイルを編集しましょう。

[ /usr/local/apache2/conf/httpd.conf ]


(216行あたり・使用ポートの設定と、IPV6を使わなければ#を)
Listen 80
#Listen [::]:80

(275行あたり・管理者のメールアドレスを書く)
ServerAdmin info@kenti.jp

(289行あたり・webサーバの名前を指定)

ServerName www.kenti.jp:80

(305行あたり・ドキュメントルートの指定)
DocumentRoot “/home/www/html”

(315行あたり・オプションの設定)
<Directory>
Options FollowSymLinks Includes ExecCGI
AllowOverride None
</Directory>

(330〜360行あたり・ドキュメントルートのオプションなど)
<Directory “/home/www/html”>
Options Includes ExecCGI FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

(365〜385行あたり・ユーザディレクトリの設定)
UserDir public_html
AliasMatch ^/usrers/([^/]+)(.*) /home/$1/public_html/$2
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options ExecCGI MultiViews SymLinksIfOwnerMatch
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

(393行あたり・インデックスファイル名の指定)
DirectoryIndex index.php index.html index.htm index.shtml index.cgi

(794行あたり・デフォルトの文字コード)
AddDefaultCharset shift_jis

(857行あたり・.cgiや.phpファイルをCGIとして扱う設定云々)
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
AddType application/x-httpd-php .php

(.shtmlファイルでSSIを利用できるように指定する設定)
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

上記の設定では、SSI・CGIを使えるようにする他、後述するPHPを実行できるように設定しています。

(ちょっと手抜きですね…。ここは後ほど、もう少し詳しくツッコミを書きたいと思います。)

設定ファイルを書いたら、上記設定ファイルにおかしいところがないかどうか、チェックをします。

# /usr/local/apache2/bin/apachectl
configtest

Syntax OK

Syntax OKと出てくれば、設定ファイルに間違いはなさそうです。

あとは起動するべし…。

# /usr/local/apache2/bin/apachectl
start

今回、ドキュメントルートには /home/www/html と設定をしたので、その中に適当なhtmlファイル云々を入れてみて表示されるかどうか確認してみましょう。うまくいけば、http://www.kenti.jp
のように表示できるはずです。(^_^)v