*WEBサーバ化計画 [#e4322af1]

-''概要''~
今回のテーマですが、LANDISKをWEBサーバ化して、インターネット上にホームページを~
公開することを目指します。~
ApacheはLANDISKに付属しますが、ここではdebianに含まれる物を使用することにしました。~
主な理由は……まぁ、個人的な趣味ですが、~
~
--debian環境とLANDISK環境を行き来しながら作業するのはなにかと面倒。~
また環境間の整合性を取るのが非常に大変なのでdebianに環境一本に統一したかった。~
~
--LANDISK付属のApacheは、コンフィグファイルが管理者の意図に反して、~
勝手にすりかわる場合がある。実際気が付つかず、管理画面が露出した状態になっていた。~
(汗;私の管理スキル不足)~
~
-
そういうことで、とにかくdebianのApacheを入れることにします。~
*''WEBサーバ導入準備'' [#t00e649b]
-''共有名『www』の作成''~
外部公開用のホームページエリアを『www』下に作ることにします。~
LANDISKの管理者用メニューから、「高度な設定」→「共有設定」→「追加」を選んで共有名『www』を作成します。~
~
この『www』ですが、debian環境からのアクセスの利便性を考えて、/share/www/へマウントします。~
(ちなみにLANDISK環境からは、/mnt/hda3/share/www/に見えます。)~
~

-''rootになる(おさらい)''~
telnetでloginして、sudoして、rootになります。~
#pre{{
Linux 2.4.21 (landisk) (0)


landisk login: &color(blue){landisk};
Password:
No directory, logging in with HOME=/
bash$
bash$ &color(blue){sudo su};
Password:
#
}}

-''debian_startスクリプトの変更''~
前述した/share/wwwのマウント処理と、LANDISK環境のapacheを停止する処理と~
debianのapacheを起動する処理をdebian_startスクリプトに追加します。~
「/mnt/hda3/debian_start」の内容~
#pre{{
#!/bin/sh
root=/mnt/hda3/debian

if [ ! -e $root/proc/cpuinfo ]; then
    $root/usr/sbin/chroot $root mount -t proc proc /proc
fi

if [ ! -e $root/share/disk ]; then
    mount --bind /mnt/hda3/share $root/share
fi

&color(red){/etc/rc.d/init.d/S95httpd stop	                        ← LANDISK環境のapacheを停止};
&color(red){sleep 1;};
&color(red){$root/usr/sbin/chroot $root /usr/sbin/apachectl start   ← debianのapacheを起動};

$root/usr/sbin/chroot $root /bin/bash -l
}}


-''debian_stopスクリプト''~
debian_stopを作成し、chmod +x debian_stop しておきます。~
#pre{{
#!/bin/sh

root=/mnt/hda3/debian

PATH=$PATH:/usr/local/bin
export PATH

$root/usr/sbin/chroot $root /usr/sbin/apachectl stop
sleep 1;

$root/usr/sbin/chroot $root /usr/local/bin/vncserver -kill :1
$root/usr/sbin/chroot $root /usr/local/bin/vncserver -kill :2
$root/usr/sbin/chroot $root /usr/local/bin/vncserver -kill :3

killall -HUP debian_start
sleep 1;

umount $root/proc
umount $root/share
}}
&color(red){本スクリプトはLANDISKを停止する時(リブート/シャットダウン/電源スイッチをOFFする時)に実行してください。&br;debian_startでマウントしたprocや/shareをアンマウントせずにLANDISKを停止した場合、非常にまれですが、&br;ファイルシステムが壊れる可能性があるそうです。};

-''その他もろもろ''
#pre{{
shareディレクトリを作ってない場合。
# mkdir /mnt/hda3/debian/share 

/mnt/hda3/debian/etc/resolv.conf、hosts、hostnameがない場合はそれぞれ、
# cp /etc/hosts        /mnt/hda3/debian/etc/
# cp /etc/resolv.conf  /mnt/hda3/debian/etc/
# hostname       >     /mnt/hda3/debian/etc/hostname
}}

-''debian環境を起動''
#pre{{
# /mnt/hda3/debian_start
Shutting down http: killall: Could not kill pid '455': No such process

/mnt/hda3/debian/usr/sbin/chroot: cannot execute /usr/sbin/apachectl: No such f
ile or directory
landisk:/#
}}
*debian版Apacheの導入 [#y8b85edc]
-''インストール''
#pre{{
landisk:/# apt-get install apache
}}
たったこれだけ…。しかもインストールが終わると、自動的に起動します。~
(ブラウザから、"http://LANDISKのローカルIPアドレス/"をアクセスで確認できます。)~
~
-''/etc/apache/httpd.conf (Apache設定ファイル)の編集''~
/share/www を http://hostname/www/でアクセスするように設定しました。~
お好みに応じて変更してください。~
#pre{{
&color(orange){144行目付近};
MinSpareServers &color(red){2};    &color(orange){←気持ち少なめに};
MaxSpareServers &color(red){4};    &color(orange){← 同上};
StartServers &color(red){2};       &color(orange){← 同上};

&color(orange){369行目付近};
&color(red){Alias /www/ "/share/www/"};
&color(red){<Directory "/share/www">};
&color(red){    Options MultiViews FollowSymLinks ExecCGI};     &color(orange){←CGIが使えるように(邪道?)};
&color(red){    AllowOverride All};
&color(red){    Order allow,deny};
&color(red){    Allow from all};
&color(red){</Directory>};

&color(orange){406行目付近};
<IfModule mod_dir.c>
    DirectoryIndex index.html index.htm index.shtml index.cgi &color(red){index.php};
</IfModule>

&color(orange){752行目付近、};&color(red){ja};&color(orange){を先頭へ移動};
    <IfModule mod_negotiation.c>
        LanguagePriority &color(red){ja}; en da nl et fr de el it pl pt pt-br ltz ca es sv
    </IfModule>

&color(orange){787行目付近、コメントを削除};
    &color(red){AddHandler cgi-script .cgi .sh .pl}; 

&color(orange){815行目付近};
AddDefaultCharset &color(red){off};
}}

-''Apacheの再起動''~
httpd.confファイルの変更を反映するためにApacheを再起動します。
#pre{{
再起動前に念のためhttpd.confに文法エラーがないかチェックします。

landisk:/etc/apache# /usr/sbin/apachectl configtest
[Fri Apr 23 23:07:03 2004] [alert] apache: Could not determine the server's
fully qualified domain name, using 192.168.0.80 for ServerName
Syntax OK

landisk:/etc/apache# /usr/sbin/apachectl restart  ← 再起動  
/usr/sbin/apachectl restart: httpd restarted
}}

#counter

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS