CentOS さくらVPS Apache設定

Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0

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

設定を始めて行こう。

 

詳細は続きから

まずは基本的なことから

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

[root@foo apache2]# ln -s /var/log/httpd /usr/local/apache2/logs

 

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

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

[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

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

 

つぎはApache confの設定

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

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

[root@foo conf]# cd /usr/local/apache2/conf/
[root@foo conf]# cp httpd.conf httpd.conf.bak

 

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

[root@foo conf]# vi httpd.conf

 

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

66 User daemon
67 Group daemon

66 User apache
67 Group apache

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

 

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

89 ServerAdmin you@example.com

89 ServerAdmin sysinfo@foo.net

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

 

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

105 DocumentRoot "/usr/local/apache2/htdocs"

105 DocumentRoot "/var/www/foo/default/html/"

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

 

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

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

115 <Directory />
116     Options FollowSymLinks
117     AllowOverride None
118     Order deny,allow
119     Deny from all
120 </Directory>

115 <Directory />
116     Options FollowSymLinks
117     AllowOverride All
118     Order deny,allow
119     Deny from all
120 </Directory>

 

Allに変更

152     AllowOverride None

152     AllowOverride All

 

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

132 <Directory "/usr/local/apache2/htdocs">

132 <Directory "/var/www/foo/default/html">

 

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

166 <IfModule dir_module>
167     DirectoryIndex index.html
168 </IfModule>

166 <IfModule dir_module>
167     DirectoryIndex index.html index.php index.cgi
168 </IfModule>

 

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

252     ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
268 <Directory "/usr/local/apache2/cgi-bin">

252     ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
268 <Directory "/var/www/cgi-bin">

 

PHP を使えるように追加

308     AddType application/x-compress .Z
309     AddType application/x-gzip .gz .tgz

308     AddType application/x-compress .Z
309     AddType application/x-gzip .gz .tgz
310     AddType application/x-httpd-php .php        // <- 追加

 

CGIを使えるようコメントを外す

320     #AddHandler cgi-script .cgi

320     AddHandler cgi-script .cgi

 

別ファイルで設定するもんを読み込み

Apacheのパフォーマンス調整ファイルを読み込むよう変更

371 # Server-pool management (MPM specific)
372 #Include conf/extra/httpd-mpm.conf

371 # Server-pool management (MPM specific)
372 Include conf/extra/httpd-mpm.conf

 

多言語対応エラーメッセージ設定読み込みに変更

374 # Multi-language error messages
375 #Include conf/extra/httpd-multilang-errordoc.conf

374 # Multi-language error messages
375 Include conf/extra/httpd-multilang-errordoc.conf

 

INDEXファイルが無い場合のデフォルト表示カスタマイズファイルを読み込みに変更

377 # Fancy directory listings
378 #Include conf/extra/httpd-autoindex.conf

377 # Fancy directory listings
378 Include conf/extra/httpd-autoindex.conf

 

バーチャルホスト設定読み込みに変更

389 # Virtual hosts
390 #Include conf/extra/httpd-vhosts.conf

389 # Virtual hosts
390 Include conf/extra/httpd-vhosts.conf

 

デフォルト設定の読み込みに変更

398 # Various default settings
399 #Include conf/extra/httpd-default.conf

398 # Various default settings
399 Include conf/extra/httpd-default.conf

 

で、今度は別ファイルな設定を変更していくと

[root@foo conf]# cd extra/

 

お約束のバックアップ

[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

 

 

httpd-mpm.conf を変更

[root@foo extra]# vi httpd-mpm.conf

PIDファイルの場所を変える

11 <IfModule !mpm_netware_module>
12     PidFile "logs/httpd.pid"
13 </IfModule>

11 <IfModule !mpm_netware_module>
12     PidFile "/var/run/httpd.pid"
13 </IfModule>

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

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

 

httpd-multilang-errordoc.conf を変更

[root@foo extra]# vi httpd-multilang-errordoc.conf

エラー表示のパスを変更

22 Alias /error/ "/usr/local/apache2/error/"
23
24 <Directory "/usr/local/apache2/error">

22 Alias /error/ "/var/www/error/"
23
24 <Directory "/var/www/error/">

ここの変更はこんだけ

 

httpd-autoindex.conf の変更

[root@foo extra]# vi httpd-autoindex.conf

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

20 Alias /icons/ "/usr/local/apache2/icons/"
21
22 <Directory "/usr/local/apache2/icons">

20 Alias /icons/ "/var/www/icons/"
21
22 <Directory "/var/www/icons/">

終わり

 

httpd-vhosts.conf の変更

[root@foo extra]# vi httpd-vhosts.conf

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

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

# foo.net
29 <VirtualHost *:80>
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 </VirtualHost>

こんな感じで色々追加

 

これでやっと完了。

Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0

あわせて読みたい

Fatal error: Uncaught Exception: 12: REST API is deprecated for versions v2.1 and higher (12) thrown in /var/www/junkpot.net/tech/html/wp-content/plugins/seo-facebook-comments/facebook/base_facebook.php on line 1273