そろそろ webサーバ として機能させたいので
Apacheをインストールします。
先日セッティングした ports からのインストールを試みてみましょう。
apache-2.2 のインストール
apache-2.2.11 をインストールします。
# cd /usr/ports/www/apache22
# make
エラー
makeinfoが古いようです。
texinfo をインストールします。
# /usr/ports/print/texinfo
# make
# make install
# rehash
/usr/bin/makeinfo から /usr/local/bin/makeinfo へシンボリックリンクを張ります。
ln -s /usr/local/bin/makeinfo /usr/bin/makeinfo
改めて apache-2.2.11 をインストールに挑戦します。
# cd /usr/ports/www/apache22
# make
# make install
# rehash
うまく行ったようです。
細かい設定はともかく使ってみたいので簡単に設定を済まします。
httpd.conf の設定
FreeBSD-5.5 で ports から apache-2.2.11 を入れたとき、httpd.conf は /usr/local/etc/apache22/httpd.conf にあります。
とりあえず、サーバー管理者とルートの確認、ドキュメントディレクトリの設定だけします。
# cd /usr/local/etc/apache2/
# cp httpd.conf httpd.conf.bak
# vi httpd.conf
初期設定ではこうなっていました。
ServerRoot "/usr/local"
Listen 80
User www
Group www
ServerAdmin you@example.com
DocumentRoot "/usr/local/www/apache22/data"
<Directory />
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "/usr/local/www/apache22/data">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
サーバールートは /usr/local
ポートは 80番で
ユーザー、グループとも www で動作
サーバー管理者は you@example.com
ドキュメントルートは /usr/local/www/apache22/data
ルートディレクトリのアクセスは全て無効にしておき
/usr/local/www/apache22/data ディレクトリ設定で
ディレクトリのファイル一覧表示を ON
.htaccess は無効
アクセス制限は許可してから拒否で全てからアクセスを許可に。
とりあえず動くか確認するだけなので、サーバー管理者のメールアドレスのみ変更して保存。
ここで、httpd.conf の構文チェック
# httpd -t
Syntax OK
デーモンですので、rc.conf に設定を追加します。
apache22_enable="YES"
apache22_http_accept_enable="YES"
起動確認
FreeBSD で Apache を制御する場合、 /usr/local/etc/rc.d/apache22 を使います。
起動
/usr/local/etc/rc.d/apache22 start
停止
/usr/local/etc/rc.d/apache22 stop
再起動
/usr/local/etc/rc.d/apache22 restart
ステータス表示
/usr/local/etc/rc.d/apache22 status
rc.d の項目を表示
/usr/local/etc/rc.d/apache22 rcvar
起動してみましょう。
# /usr/local/etc/rc.d/apache22 start
Performing sanity check on apache22 configuration:
Syntax OK
Starting apache22.
ここで、ブラウザからアクセスしてみます。
お〜!ちゃんと通っています。
ステータスと rc.d の項目を確認
#/usr/local/etc/rc.d/apache22 status
apache22 is running as pid 68450.
# /usr/local/etc/rc.d/apache22 rcvar
# apache22
$apache22_enable=YES
よさそうですね。