[ Top > FreeBSD > Apache 2.4(FreeBSD 10.3) ]
Apache 2.4 をインストールし、CGIが動かせるところまで設定します。
portsから行います。
# cd /usr/ports/www/apache24
# make install clean
ここでは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のモジュールを有効にします。以前はこの操作は不要でした。
<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"