====== Apache ======
===== インストール =====
# portinstall www/apache24
===== とりあえず立ち上げるだけ =====
/usr/local/etc/apache24/httpd.conf を編集
ServerName www.exsample.com:80
名前解決ができないと立ち上がらないので注意
/etc/rc.conf を編集
apache24_enable="YES"
これでbootはする
===== オプションの確認 =====
Apacheのコンパイル時のオプション表示
# httpd -V
staticに組み込みこまれているモジュール一覧
# httpd -l
apache の configure オプションを確認する方法
# cat /usr/local/share/apache24/build/config.nice
===== etc =====
設定ファイルのシンタックスチェック
httpd -t
バーチャルホストの設定を一覧表示
httpd -S
モジュールを一覧表示
httpd -M
Apache 設定ファイルのディレクティブ(設定項目)の名前と簡単な解説
httpd -L
===== Logの分割、ローテート =====
FreeBSD Newsyslogでの例
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/var/log/httpd-access.log 600 12 * @T00 B /var/run/httpd.pid 30
※ ログの切り出しを行った際にSIGNALを飛ばす先のプロセスのpidファイルを指定する。\\
newsyslogでLogのローテートを行った際にapacheに対してSIGUSR1シグナルを送らないと、以降のapacheのログ書き込みがうまくいきません
//「30」 : 送信するSIGNAL//\\
//プロセスに送るシグナルを指定します。今回の例では「30=SIGUSR1」を指定しています。//
===== PHP =====
/usr/local/etc/apache24/httpd.conf を編集
SetHandler application/x-httpd-php
SetHandler application/x-httpd-php-source
以下の記述法で書かれている解説が多いが前述の記述を推奨。((悪意を持ってアップロード (あるいは作成) された exploit.php.jpg のようなファイルが PHP として実行されてしまわないように。詳細は[[https://www.php.net/manual/ja/install.unix.apache2.php|PHPマニュアル->インストールと設定->Apache 2.x (Unixシステム用)]]を参照))
・・・・・・
#
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
==== 確認 ====
こんなのを作って確認する
# cat /usr/local/www/apache24/data/check.php
==== index.phpをデフォルトに ====
/usr/local/etc/apache24/httpd.conf を編集((の中))
DirectoryIndex index.html index.php
^^^^^^^^^^追加