2. FreeBSD 11.1 RELEASE - apache24 - 初期設定

 
2.1 設定ファイルについて
2.2 コンフィグレーションファイル設定
2.3 Apache の起動

2.1 設定ファイルについて

 インストール後に、以下のディレクトリやコンフィグレーションファイルが出来ているはずです。

/usr/local/etc/apache24
|-- envvars.d
|-- extra                                        ← 基本設定以外のもの
|   |-- httpd-autoindex.conf
|   |-- httpd-autoindex.conf.sample
|   |-- httpd-dav.conf
|   |-- httpd-dav.conf.sample
|   |-- httpd-default.conf
|   |-- httpd-default.conf.sample
|   |-- httpd-info.conf
|   |-- httpd-info.conf.sample
|   |-- httpd-languages.conf
|   |-- httpd-languages.conf.sample
|   |-- httpd-manual.conf
|   |-- httpd-manual.conf.sample
|   |-- httpd-mpm.conf
|   |-- httpd-mpm.conf.sample
|   |-- httpd-multilang-errordoc.conf
|   |-- httpd-multilang-errordoc.conf.sample
|   |-- httpd-ssl.conf
|   |-- httpd-ssl.conf.sample
|   |-- httpd-userdir.conf
|   |-- httpd-userdir.conf.sample
|   |-- httpd-vhosts.conf
|   |-- httpd-vhosts.conf.sample
|   |-- proxy-html.conf
|   `-- proxy-html.conf.sample
|-- httpd.conf                                   ← おおもとの設定用
|-- httpd.conf.sample
|-- Includes                                     ← インクルードファイル用
|   `-- no-accf.conf
|-- magic
|-- magic.sample
|-- mime.types
|-- mime.types.sample
`-- modules.d
    `-- README_modules.d

2.2 コンフィグレーションファイル設定


/usr/local/etc/apache24/extra/httpd-default.conf
 にデフォルトの設定を記述しています。  セキュリティ対策のために以下のように設定を変更します。

ServerTokens ProductOnly ← クライアントに返信するヘッダ内の apache の情報を最小限にする設定
ServerSignature Off      ← サーバエラー発生時にブラウザにサーバアドレス・ポート番号を表示しない
HostnameLookups On       ← クライアントのIPアドレスをドメイン名を変換してログに記録する
 1、2行目ともセキュリティ上の設定です。  ウェブに公開する必要のない情報はできるだけ開示しないようにします。  3行目の設定はログにクライアント側のドメイン名を記録する場合には On にしますが、不要であれば Off にします。  Off にするとほんの少しアクセスが早くなるかもしれません。

/usr/local/etc/apache24/httpd.conf
 が大元のコンフィグレーションファイルです。  以下のように編集します。

#LoadModule dav_module libexec/apache24/mod_dav.so
 上記のコメントを外します(行先頭の [#] を削除する)。  ここ鶏が先か卵が先か卵が先かわかりませんが、subversion を使う時「mod_dav_svn」が有効なのにここが無効のままだと後で configtest を行った時に

httpd: Syntax error on line 155 of /usr/local/etc/apache24/httpd.conf: Cannot load libexec/apache24/mod_dav_svn.so into server: /usr/local/libexec/apache24/mod_dav_svn.so: Undefined symbol "dav_register_provider"
 と言われてしまいます。  subversion を使う予定があれば、今のうちにはずしておきます。

ServerAdmin you@your.address	←	ウェブサーバ管理者のメールアドレスに変更。

ServerName www.example.com:80	←	サーバのドメイン名と待ち受けポート番号の定義。
								 	ポート番号は通常 [80:HTTP] か [443:HTTPS]

DocumentRoot "/usr/local/www/apache24/data"
↑
ドキュメントルート。変更する場合は書き換えます。

<Directory "/usr/local/www/apache24/data">
	↑	ドキュメントルートの動作を定義。
	 	ドキュメントルートを書き換えている場合は同様に変更。

    Options Indexes FollowSymLinks

    Require all granted
    ↑	アクセス許可についての記述
	 	この件については後述しますが、このの設定はすべてを許可します。

</Directory>
 14行目  Indexes は index.html がないときの動作を定義。  Index.html がないときにディレクトリ自体を表示させないときは -Indexes と記述。  ディレクトリの内容を表示させる場合は +Indexes と記述。  FollowSymLinks はシンボリックリンクを有効にするか無効にするかの定義。  有効にする場合は +FollowSymLinks と記述。  無効にする場合は -FollowSymLinks と記述。  エラーログの出力先を変更する場合は、下記を編集。

ErrorLog /var/log/httpd-error.log
 アクセスログの出力先を変更する場合は、下記を編集。

CustomLog /var/log/httpd-access.log combined
 この上の方に、LogFormat というのが4行ほど、記述されていますがこれがログの出力形式を定義しています。combined にしておくといろいろな情報をログにとれますので、このままの設定をおすすめします。  ログはほうっておくとどんどん大きくなりますので、「OS 起動後の基本的な設定 - newsyslog (ログローテーション)」を参照して、ログのローテーションを行います。  下記は、CGI のスクリプトファイルを置く場所を指定しています。http://www.ドメイン名/cgi-bin/スクリプトファイル名.cgi で、スクリプトファイルにアクセスできます。  スクリプトファイルを動作させることは、セキュリティ上、危険が発生しますので、充分に注意して行ってください。

<Directory "/usr/local/www/apache24/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
d</Directory>
 この項の最初に設定した /usr/local/etc/apache24/extra/httpd-default.conf への設定を有効にするために、下記の先頭の # を削除して Include を有効にします。

#Include etc/apache24/extra/httpd-default.conf

2.3 apache の起動

 /etc/rc.conf を編集して下記の1行を追加します。

apache24_enable="YES"
 起動停止用のスクリプトは
/usr/local/etc/rc.d/apache24
 で、設定ファイルのチェックを行うには

> service apache24 configtest
 と入力してください。設定した、http.conf の内容が正しく記述されているかどうか、チェックしてくれます。  記述が正しければ、Syntax OK と出力されるはずです。  記述に誤りがあれば、エラーを出力しますが、誤っている行番号やその内容などを、出力してくれるので訂正しやすいと思います。例えば  <Directory /usr/local/www/apache24/data>  の綴りを誤って  <Directry /usr/local/www/apache24/data>  と記述したとします。すると

Syntax error on line 1111 of /usr/local/etc/apache24/httpd.conf:
Invalid command '<Directry', perhaps mis-spelled or defined by a module not i
ncluded in the server configuration
 という具合に、出力されます。「1111 行目の ''Directry' ってのはミススペルじゃないの?」ってことですね。  Syntax OK が出力されれば、

> service apache24 start	← 起動
 と入力してください。apache が起動されるはずです。  停止や再起動は以下のように入力します。

service apache24 stop		←	停止
service apache24 restart	←	再起動
 再起動の場合は、ユーザがほとんど停止したことに気づかないくらいのスピードで起動されます。ホストが立ち上がった状態で httpd.conf を更新した場合などは、この restart を使用します。  起動スクリプトは特に設定を変更しない限りそのままにしておいてかまいません。  システムが正常に起動すれば apache も同時に起動することになります。  クライアントから、サーバにアクセスして

 こういう表示が出るようであれば、初期設定はうまくいっていることになります。