[ Top > FreeBSD > Apache 2.4(FreeBSD 10.3) ]

Apache 2.4(FreeBSD 10.3)

2016.12.25

Apache 2.4 をインストールし、CGIが動かせるところまで設定します。

インストール

portsから行います。

# cd /usr/ports/www/apache24
# make install clean

http.conf の設定

ここではHTMLファイルの置き場所を /usr/home/username/public_html/
CGIファイルの置き場所を /user/home/username/cgi-bin
とします。もちろんデフォルトの場所でも何ら差し支えありません。

ポートの設定

ポートを設定します。

#Listen 12.34.56.78:80 
Listen 80         # この記述を入れる

ドキュメントルートの設定

html文書を置くディレクトリを指定します。

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#  
#DocumentRoot "/usr/local/www/apache24/data"      # デフォルトの場所をコメントアウトもしくはこの行を消す
DocumentRoot "/usr/home/username/public_html       # こちらに移動 

なお、デフォルトのディレクトリは一般ユーザーでは入れないので、一般ユーザーからftpやsftpなどでログインしたい場合はディレクトリの所有者を変更しておく必要があります。

# chown username /usr/local/www/apache24/data

ディレクトリ一覧を表示させないための設定

ディレクトリにファイル index.html などがない場合、一般ユーザーがこのディレクトリにアクセスすると存在するファイルの一覧がブラウザに表示されてしまうので、これを防ぎます。

<Directory "/usr/home/username/public_html">

</Directory>

のあいだに

Options Indexes

というのがあります。この Indexes という単語を削除しておきます。

以上で基本的な設定は終了です。

CGI動作の設定

アクセスカウンタや掲示板などでCGIを使用する場合、以下のようにします。

まずCGIのモジュールを有効にします。以前はこの操作は不要でした。

<IfModule !mpm_prefork_module>
        LoadModule cgid_module libexec/apache24/mod_cgid.so # コメントアウトを外して有効にします。
</IfModule>
<IfModule mpm_prefork_module>
        LoadModule cgi_module libexec/apache24/mod_cgi.so # コメントアウトを外して有効にします。
</IfModule>

CGIファイルを入れるディレクトリを指定します。

ScriptAlias /cgi-bin/ "/usr/home/username/cgi-bin/"   # 希望のcgi-binディレクトリ記載

.... 略 ....

<Directory "/usr/home/username/cgi-bin">       # cgi-binディレクトリを変更
    AllowOverride None
    Options +ExecCGI          # ExecCGIを付け加える
    Require all granted
</Directory>

.... 略 ....

#AddHandler cgi-script .cgi   # コメントをはずして
AddHandler cgi-script .cgi    # このようにする(拡張子の指定)

いろいろなサイトを見ると、Options +ExecCGI という指定と Option ExecCGI という指定とがあります。+をつけるのは「デフォルトの設定にこれをプラスしますよ」という意味であり、これはあってもなくてもかまいません。

ログにホストのドメイン名が記録されるようにする設定

Apacheを運用しているとログを直接見たくなるときがあります。ログのIPアドレスがあらかじめ逆引きされていると便利です。 この機能に対する直接の設定ファイルは /usr/local/etc/apache24/extra/httpd-default.conf ですが、このファイルはいわば httpd.conf の「子分」ファイルです。この httpd-default.conf そのものを有効にするための設定をまずします。

まず、/usr/local/etc/apache24/httpd.conf において,

# Various default settings
#Include etc/apache22/extra/httpd-default.conf   # この先頭のコメントをはずして
Include etc/apache22/extra/httpd-default.conf    # このようにする

次に,/usr/local/etc/apache22/extra/httpd-default.conf において,その最後のほうにある HostnameLookups Off を,

HostnameLookups On

にします。

ログのローテーション

/etc/newsyslog.conf を編集します。 以下は、

という設定です。

/var/log/httpd-access.log 644 7 * $W0D00 Z /var/run/httpd.pid
/var/log/httpd-error.log  644 7 * $W0D00 Z /var/run/httpd.pid

自動起動

Apacheを手動で起動させる命令は
# apachectl start
ですが、サーバー起動時に自動で起動させるには、/etc/rc.conf に以下の記述を追加します。

apache24_enable="YES"


[ Top > FreeBSD > Apache 2.4(FreeBSD 10.3) ]