12:ゲストにapacheを設定-2

Date 2012-9-2 9:32:06 | Topic: CentOS 6.3(6.4)に挑戦

webdata用に領域を割り当てたので、fstabにその記述をするが(ホスト側から指定される領域を決めておく(例:/dev/sde マウントポイント ext4 1 4。最後の数字はバックアップするかとその順番だが、私が使う予定の amanda で関係するのかなー、不明である)、まだホスト側から割り当ててもらっていないので、あくまで記入のみ。又、ここを間違えると起動に失敗するので、慎重に。
私はここで失敗をした。最初は /dev/sde1 と最後に数字を付けていたら、再起動時にエラーが出た。KVMではホストからゲストに領域を渡す時数字を付けると渡された領域にさらに領域があると思う様だ。だから数字は付けてはいけない。
ゲストの再起動に失敗し、途中で止まったら、rootのパスワードを入れ、haltでゲストを止める。ホスト側にゲストの領域をマウント(10:ゲストの領域をマウントする場合を参照)し、訂正後、再起動。
次にwebdata用のマウントポイントを作って置く。
ここで一度シャットダウンし、ホスト側の設定をする。
これからはホスト側の設定。
起動設定の変更
gedit /etc/libvirt/qemu/ゲスト名.xml に下記の設定を追加。
<disk type='block' device='disk'>
    <driver name='qemu' type='raw' cache='none' io='native'/>
    <source dev='/dev/Data/webdata'/>
    <target dev='vde' bus='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x0A' function='0x0'/>
</disk>

多分場所はどこでもいいと思うが、私は一連の領域(<disk>)の設定の最後に付け加えた。'vde'はゲストの/etc/fstabに記載に合わせる亊、slot='0x0A' はslotで検索し、使っている最後の番号の次にすること。又、前には変更し無かったutcだが気持ち悪いので <clock offset='localtime'/> に変更した。
又、ここで失敗。どんなに設定を見直しても合っているのに、同じ場所でエラーが出る。/dev/sde 何てデバイスは無いと言われる。
遅かった事もあって、その日は寝た。次の日ホストを起動し、ゲストを起動すると何事も無かったの様に正常起動した。ググると virsh define /etc/libvirt/qemu/ゲスト.xml と定義を再読み込みさせないといけないみたい。
後日の為にわざと .xml ファイルをいじりテストする。libvirt を再起動したらいいのではと思い service libvirtd restart で再起動したら、仮想マシンマネージャに "localhost(qemu) - not connected" と表示された。ここは慌てず、右クリックし、接続をクリックで表示された。これでもいいけど、やっぱり王道をいくべきだ。

やっと正常になったので、ゲストを起動し、ここから又、ゲストでの操作。
今度はゲストからインターネットに繋がらない。
原因は不明だが、どういう訳か "NetworkManager" が走っていたので、これを止め、/etc/resolve.conf を書き直し、service network restart でOKになった。
ゲストの再起動で随分時間をとられたが、
ここでやっと virtualhost の設定をする。
/etc/httpd/conf.d/virtualhost.conf に
NameVirtualHost *:80
# kinryokai
<VirtualHost *:80>
    DocumentRoot /webdata/public/kinryokai
    ServerName www..kinryokai.net
    ServerAlias kinryokai.net
    ErrorLog logs/kinryokai_error_log
    CustomLog logs/kinryokai_access_log combined env=!no_log
    <Directory "/webdata/public/kinryokai/upfiles">
        SetEnvIf Referer "^http.://www\..kinryokai\.net" ref_ok
        order deny,allow
        deny from all
        allow from env=ref_ok
    </Directory>
    <Directory "/webdata/public/kinryokai/uploads">
        SetEnvIf Referer "^http.://www\.kinryokai\.net" ref_ok
        order deny,allow
        deny from all
        allow from env=ref_ok
    </Directory>
    ScriptAlias /cgi-kinryo/ "/webdata/cgi/cgi-kinryo/"
    <Directory "/webdata/cgi/cgi-kinryo">
        AllowOverride None
        Options None
        SetEnvIf Referer "^http.://www\.kinryokai\.net" cgi-kinryo_ok
        order deny,allow
        deny from all
        allow from env=cgi-kinryo_ok
    </Directory>
</VirtualHost>

この設定の意味はcentocsrv.comを参考にしてください。[注:ここにはXOOPSがリンクを張らないようにメアドやURLに!やピリオドをわざと入れています。]
又、 "/webdata/public/kinryokai/upfiles"と "/webdata/public/kinryokai/uploads" の設定はここに画像などを置いておくので、他のWEBからリンクを張られ、遅くなるのを防ぐ設定です。
もう一度 conf のチェック
# apachctl configtest
もしエラーが出たら設定を見直す。webdavの設定がまだですが、後でやります。
エラーが無ければapacheを走らす。
# service httpd start
# chkconfig httpd on
内部の他のホストから受けるため80番と443番を開けます。
/root/iptables.shの
iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 行頭の#を取りコメントを外す。
iptables -A INPUT -p tcp --dport 443 -j ACCEPT # 行頭の#を取りコメントを外す。

# sh iptables.sh
で設定を読み込みます。(時間がかかります)
この環境はテストなので外部からは受け付けませんが、必要ならルーターの設定を忘れずに。
webのチェックはcentocsrv.com/apache.shtmlを参考に行いますが、local networkの外からと(現用のWEBが動いている)、.htaccessはやりませんでした(使わない方針)。
多分私の環境だけだと思いますが、http://localhost では真っ白な画面になった。(原因:XOOPSで作ってあるWEBのデーターをコピーしたが、mysqlの設定と、php-mysqlのインストールが終わっていない為だった)
http://localhost/index.html で正常に表示された。


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

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