CentOS さくらVPS Apache設定

インストールしたApacheを動かすため

設定を始めて行こう。

 

詳細は続きから

まずは基本的なことから

ログ保存フォルダを /var 以下に

[cc lang=’text’ ]
[root@foo apache2]# ln -s /var/log/httpd /usr/local/apache2/logs
[/cc]

 

ドキュメントルートは複数ドメインで運用するのとサブドメイン毎に分かりやすくしたいので

デフォルトからフォルダの階層を下げて作ろうと。

[cc lang=’text’ ]
[root@foo ~]# cd /var/www/
[root@foo www]# mkdir dmain1
[root@foo www]# mkdir dmain2
[root@foo www]# mkdir dmain1/subdmain1
[root@foo www]# mkdir dmain2/subdmain2
[root@foo www]# mkdir dmain1/subdmain1/html
[root@foo www]# mkdir dmain2/subdmain2/html
[/cc]

って感じでバーチャルホスト用に色々作っておく。

 

つぎはApache confの設定

まずは開かないと話にならないのでー

お約束の元ファイルのバックアップをして

[cc lang=’text’ ]
[root@foo conf]# cd /usr/local/apache2/conf/
[root@foo conf]# cp httpd.conf httpd.conf.bak
[/cc]

 

んでデフォルトの設定をごりごり変えていく

[cc lang=’text’ ]
[root@foo conf]# vi httpd.conf
[/cc]

 

実行ユーザーとグループが daemon になってるので apache に変更

[cc lang=’text’ ]
66 User daemon
67 Group daemon
[/cc]

[cc lang=’text’ ]
66 User apache
67 Group apache
[/cc]

ユーザーとグループは yum で httpd 入れたときに追加されてるはずー

 

エラーとかの問い合わせアドレスを設定

[cc lang=’text’ ]
89 ServerAdmin you@example.com
[/cc]

[cc lang=’text’ ]
89 ServerAdmin sysinfo@foo.net
[/cc]

webmasterはSPAMばっか来るのでやめとく

 

ドキュメントルートのデフォルト設定

[cc lang=’text’ ]
105 DocumentRoot “/usr/local/apache2/htdocs”
[/cc]

[cc lang=’text’ ]
105 DocumentRoot “/var/www/foo/default/html/”
[/cc]

予め作った分かりやすいとこに変更。

 

AllowOverrideんとこをhtaccess使えるように変更と

Deny from allになってるので許可に変更

[cc lang=’text’ ]
115
116 Options FollowSymLinks
117 AllowOverride None
118 Order deny,allow
119 Deny from all
120

[/cc]

[cc lang=’text’ ]
115
116 Options FollowSymLinks
117 AllowOverride All
118 Order deny,allow
119 Deny from all
120

[/cc]

 

Allに変更

[cc lang=’text’ ]
152 AllowOverride None
[/cc]

[cc lang=’text’ ]
152 AllowOverride All
[/cc]

 

さっき変えたドキュメントルートのパスに変更

[cc lang=’text’ ]
132
[/cc]

[cc lang=’text’ ]
132
[/cc]

 

INDEXとして扱うファイル名を追加

[cc lang=’text’ ]
166
167 DirectoryIndex index.html
168

[/cc]

[cc lang=’text’ ]
166
167 DirectoryIndex index.html index.php index.cgi
168

[/cc]

 

CGI使う予定ないけどこっちも環境に合わせて変更

[cc lang=’text’ ]
252 ScriptAlias /cgi-bin/ “/usr/local/apache2/cgi-bin/”
268
[/cc]

[cc lang=’text’ ]
252 ScriptAlias /cgi-bin/ “/var/www/cgi-bin/”
268
[/cc]

 

PHP を使えるように追加

[cc lang=’text’ ]
308 AddType application/x-compress .Z
309 AddType application/x-gzip .gz .tgz
[/cc]

[cc lang=’text’ ]
308 AddType application/x-compress .Z
309 AddType application/x-gzip .gz .tgz
310 AddType application/x-httpd-php .php // <- 追加 [/cc]   CGIを使えるようコメントを外す [cc lang='text' ] 320 #AddHandler cgi-script .cgi [/cc] ↓ [cc lang='text' ] 320 AddHandler cgi-script .cgi [/cc]   別ファイルで設定するもんを読み込み Apacheのパフォーマンス調整ファイルを読み込むよう変更 [cc lang='text' ] 371 # Server-pool management (MPM specific) 372 #Include conf/extra/httpd-mpm.conf [/cc] ↓ [cc lang='text' ] 371 # Server-pool management (MPM specific) 372 Include conf/extra/httpd-mpm.conf [/cc]   多言語対応エラーメッセージ設定読み込みに変更 [cc lang='text' ] 374 # Multi-language error messages 375 #Include conf/extra/httpd-multilang-errordoc.conf [/cc] ↓ [cc lang='text' ] 374 # Multi-language error messages 375 Include conf/extra/httpd-multilang-errordoc.conf [/cc]   INDEXファイルが無い場合のデフォルト表示カスタマイズファイルを読み込みに変更 [cc lang='text' ] 377 # Fancy directory listings 378 #Include conf/extra/httpd-autoindex.conf [/cc] ↓ [cc lang='text' ] 377 # Fancy directory listings 378 Include conf/extra/httpd-autoindex.conf [/cc]   バーチャルホスト設定読み込みに変更 [cc lang='text' ] 389 # Virtual hosts 390 #Include conf/extra/httpd-vhosts.conf [/cc] ↓ [cc lang='text' ] 389 # Virtual hosts 390 Include conf/extra/httpd-vhosts.conf [/cc]   デフォルト設定の読み込みに変更 [cc lang='text' ] 398 # Various default settings 399 #Include conf/extra/httpd-default.conf [/cc] ↓ [cc lang='text' ] 398 # Various default settings 399 Include conf/extra/httpd-default.conf [/cc]   で、今度は別ファイルな設定を変更していくと [cc lang='text' ] [root@foo conf]# cd extra/ [/cc]   お約束のバックアップ [cc lang='text' ] [root@foo extra]# cp httpd-mpm.conf httpd-mpm.conf.bak [root@foo extra]# cp httpd-multilang-errordoc.conf httpd-multilang-errordoc.conf.bak [root@foo extra]# cp httpd-autoindex.conf httpd-autoindex.conf.bak [root@foo extra]# cp httpd-vhosts.conf httpd-vhosts.conf.bak [root@foo extra]# cp httpd-default.conf httpd-default.conf.bak [/cc]     httpd-mpm.conf を変更 [cc lang='text' ] [root@foo extra]# vi httpd-mpm.conf [/cc] PIDファイルの場所を変える [cc lang='text' ] 11
12 PidFile “logs/httpd.pid”
13

[/cc]

[cc lang=’text’ ]
11
12 PidFile “/var/run/httpd.pid”
13

[/cc]

あとはパフォーマンスチューニングな部分なので

負荷とか見ながら調整していこう。

 

httpd-multilang-errordoc.conf を変更

[cc lang=’text’ ]
[root@foo extra]# vi httpd-multilang-errordoc.conf
[/cc]

エラー表示のパスを変更

[cc lang=’text’ ]
22 Alias /error/ “/usr/local/apache2/error/”
23
24
[/cc]

[cc lang=’text’ ]
22 Alias /error/ “/var/www/error/”
23
24
[/cc]

ここの変更はこんだけ

 

httpd-autoindex.conf の変更

[cc lang=’text’ ]
[root@foo extra]# vi httpd-autoindex.conf
[/cc]

アイコン置き場のパスを変更

[cc lang=’text’ ]
20 Alias /icons/ “/usr/local/apache2/icons/”
21
22
[/cc]

[cc lang=’text’ ]
20 Alias /icons/ “/var/www/icons/”
21
22
[/cc]

終わり

 

httpd-vhosts.conf の変更

[cc lang=’text’ ]
[root@foo extra]# vi httpd-vhosts.conf
[/cc]

バーチャルホストは使いまくる予定なので

ここでは26行目以降ぐらいのもとからある設定は削除して追加していくことに

[cc lang=’text’ ]
# foo.net
29
30 ServerName foo.net
31 ServerAdmin sysinfo@foo.net
32 DocumentRoot “/var/www/foo/default/html/”
33 ErrorLog “logs/foo-error_log”
34 CustomLog “logs/foo-access_log” combined
35

[/cc]

こんな感じで色々追加

 

これでやっと完了。

コメントを残す

メールアドレスが公開されることはありません。