11:ゲストにapacheを設定

Date 2012-9-1 9:58:14 | Topic: CentOS 6.3(6.4)に挑戦

いよいよ今後稼働するゲストとして、WEBやメールサーバーを設定していく。
基本的にはhttp://centossrv.com/apache.shtmlを参考にした。apacheはデフォルトでインストール済みなので、php等をインストール
# yum -y install php php-mbstring
/etc/httpd/conf/httpd.conf の設定。基本的にはhttp://centossrv.com と同じだが、変更した部分だけを記す。
KeepAlive ON ←多分少しはコネクションをキープした方が良さそうだから。
ServerAdmin xxxxxx@kinryokai.net
#ServerName www.example.com:80 ←virtualhost.conf で設定
#DocumentRoot "/var/www/html" ←virtualhost.conf で設定

<Directory />
    Options Includes ExecCGI FollowSymLinks  ←Includes ExecCGI を記入
    AllowOverride None ←.htaccessは使わないので、noneのまま
</Directory>

<Directory "/var/www/html"> から </Directory> までを消去。これはdocument rootの設定だが、virtualhost.conf で設定

DirectoryIndex index.html index.php index.html.var ←index.phpを追加

SetEnvIf Request_URI "\.(gif|jpg|png|JPG|GIF|PNG|bmp|css|ico|ICO)$" no_log ←追加
SetEnvIf Request_URI "default\.ida" no_log ←追加
SetEnvIf Request_URI "cmd\.exe" no_log ←追加
SetEnvIf Request_URI "root\.exe" no_log ←追加
SetEnvIf Request_URI "Admin\.dll" no_log ←追加
SetEnvIf Request_URI "NULL\.IDA" no_log ←追加
SetEnvIf Remote_Addr 192.168 no_log ←追加
SetEnvIf Remote_Addr 127.0.0.1 no_log ←追加
#CustomLog logs/access_log combined env=!no_log ←コメントアウト、virtualhost.confで設定

Alias /icons/ "/webdata/icons/" ←場所を変更
<Directory "/webdata/icons">

#<IfModule mod_dav_fs.c> ←webdav.conf で設定
    # Location of the WebDAV lock database.
#    DAVLockDB /var/lib/dav/lockdb
#</IfModule>

#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"  ←virualhost.confで設定
#<Directory "/var/www/cgi-bin">
#    AllowOverride None
#    Options None
#    Order allow,deny
#    Allow from all
#</Directory> 

AllowOverride Noneは少し説明がいるかな。理由は
http://apache.org/docs/ja/howto/htaccess.html の”いつ .htaccess ファイルを使う(使わない)か。”を参照
LanguagePriorityの所は ja を最初にした。
section 3 は virtual host の設定だから全部消去、virtualhost.conf で設定していく。
iconsの場所を変えたので
# mv /var/www/icons /webdata/icons
ここで一度confが正しいかチェック
# apachectl configtest
注記:ある時別のホストの設定で
httpd を起動中: no listening sockets available, shutting down
Unable to open logs

とエラーが出たが、どうしても原因が分からない。だって apachectl configtest をやってもエラーが出ない。httpd.confを一行づつ見直してやっと判明
Listen 80 の前に#が付いていてコメントアウトされていた。hostnameの設定で www.kinryokai.net:80 等とポートを指定しているのでコメントアウトしてもいいのかと思っていた。
perlへのリンクを張る。
# ln -s /usr/bin/perl /usr/local/bin/perl
リンクが張れたか確認
# whereis perl
リンクの指定時の右辺が表示されればOK。
私はwebのデーターは別ディスクの別のパーティションにしている。理由はサーバーの引越しの時、このディスクを新しいOSに持っていけばいいから。
と言うわけでその領域の作成を/dev/sdbにLVMで作る(これはハードディスクでなくSSDにした。理由はアクセスが早いのと省電力化、可動部を少なくし信頼度をあげる)。
# pvcreate /dev/sdb1 #sdb1は例
# vgcreate VG名 /dev/sdb1 #sdb1は例
# lvcreate -L 作るサイズ(例:10G)-n LV名 VG名
作った領域をフォーマット
# mkfs.ext4 /dev/VG名/LV名
ここに色々なディレクトリーを作る。
htdigest用のDIR、awstats用のDIR(html用とperl用を分けた方がいい)、cgi-bin用のDIR(これはvirtualhost分用意。理由はコミュニティーで使う出欠表を入れたいから。参考web:http://www.hidekik.com/attlist4/attlist4.html)。mysql用のDIRとwebmail用(これもOSの引越しの時に楽だから)。最後に pubic ここの下にvirtualhostの各ディレクトリーが入る。virtualhost用の各DIRはそれぞれのWEBマスター用にオーナーを変更しておく(FTPを使う場合)また、cgi-bin関係もやった方がいいかも。
長くなりそうなので次に続く。(12:ゲストにapacheを設定-2)


This article comes from 錦稜会 KINRYOKAI
https://www.kinryokai.net

The URL for this story is:
https://www.kinryokai.net/article.php?storyid=142