これまでの設定でHTMLファイルの表示からCGIの実行、セキュリティ設定も一通りできたはず、多分。
publichtmlの自動生成
ついでなので書き忘れていたことも含めちょっとだけ追加。
今回のサーバー構築では、一つのユーザーごとに/home/ユーザー名というディレクトリにpulic_htmlディレクトリを作成してその中にブラウザで表示するファイルを入れることにしている。
ただ、いちいちユーザーを作るたびにpublic_htmlディレクトリを作るのは面倒なのであらかじめユーザー作成時に作成されるようにする。
mkdir /etc/skel/public_html/
mkdir /etc/skel/log/
mkdir /etc/skel/.ssh/
chmod 700 /etc/skel/.ssh/
時間合わせ
続いて時間あわせ。
よっぽどそんな簡単に時間が狂うことはないだろうけど、ファイルスタンプが実際と違うのは困るので設定をしておく。
なお、NTPデーモンを起動させておくとメモリーがもったいない気がするのでntpdateでやってしまう。
ただし、一部の環境では問題が起きることもあるらしいので注意。 root環境下で
crontab -e
39 5,18 * * * /usr/sbin/ntpdate 210.171.226.40
分 時 日 週 月 コマンドの順になっている。
ロケール設定
ロケールの変更をしておく。
何で変更するのかはちょっと忘れてしまったけど(コラ
vi /etc/locale.alias
ja_JP ja_JP.eucJP
↓
ja_JP ja_JP.UTF-8
File does not exist: /home/*****/public_html/favicon.ico
なんていうエラーがログに書かれる場合は
SetEnvIf Request_URI "^/favicon.ico$" no_log
とすることで回避できる。もちろんpublic_htmlディレクトリにfavicon.icoをおいておくのもあり。
キャッシュ設定
サーバーの負荷対策にキャッシュを利用。
まずは画像のキャッシュから。
ExpiresActive On
ExpiresByType image/gif "access plus 15 minutes"
ExpiresByType image/jpeg "access plus 15 minutes"
ExpiresByType image/png "access plus 15 minutes"
ExpiresByType application/x-shockwave-flash "access plus 15 minutes"
ExpiresByType text/html "access plus 5 minutes"
ExpiresByType text/css "access plus 15 minutes"
これはmod_expiresを利用しているのであらかじめモジュールをロードしておくこと。
さらにPHPのキャッシュも利用しておく。
aptitude install php-apc
以下のファイルを変更することで使用メモリー量も削減できる。むろん削減するだけ効果は薄れるのでケースバイケースで。
/etc/php5/conf.d/apc.ini
パラメータ内容デフォルト値
apc.shm_size
共有メモリ容量(MB)
30
apc.numfiles_hint
キャッシュ対象のファイル総数
1000
apc.filters
キャッシュ対象外のルール(正規表現)