OSはDebian sarge

 インストールするOSは今度はdebian GNU/Linuxにする。現状のStableバージョンは3.1r1、コードネームはsargeね。なんでfedoraでもsuseでもvineでもなくDebianかというと、fedoraは飽きた今までずっとredhat系を使ってきていたから、vineはいまだ2.4なのでパス、suseは会社のPCをwinからSuseにしてみたんだがGUIでの操作はとてもいいんだがコンソールからは今イチやりにくい気がした、よってDebian。ubuntu,freeBSD,Solarisなんてのも考えたが、一度も使った事がなくサーバーとして使うのはオレのスキル的に不安なのでやめ。

 さて、そのdebianだがいきなりインストールからつまずいた。普通にCDから立ち上げてインストールすると表示が乱れる。原因はフレームバッファー周りっぽいので、このDebian installerパラメーターを見ながらフレームバッファオフで起動。

boot:linux debian-installer/framebuffer=false

 さらにだ、そうすると日本語が文字化けしてしまうので、通常使用言語はEnglish、キーボードは日本語、タイムゾーンは東京という設定でインストール。別に英語でも困らん。嫌になったらあとで換えればいいっしょ。

 でとりあえずkernel2.6にするのを忘れたので2.6にする。あとは適当にupdateして、apache2,ruby,perl,ftp,wget,emacs,などなど必要そう物を入れとく。apt-cache search xxxxでパッケージを検索して、apt-get install xxxでインストール。update,upgradeは忘れずに。

#apt-get install kernel-image-2.6.8-2-386
#apt-get install ruby-1.8
#apt-get install wget
・
・

webserver

 まぁ普通にApacheを使うが、1.3系から2.0系に変わってconfの書き方がよくわからん。apache2.confとhttpd.confとconf.dとどこがどうなっているんだ?。まぁいいや、なんかapache2.confを見るとhttpd.confを読んでいるみたいだから、httpd.confだけ書き換えておこう。

ServerName xxxx.ddo.jp
ServerSignature On
DocumentRoot "/home/html"
<Directory "/home/html">
        Options All
        AllowOverride All
        Allow from All
</Directory>

WebDAV

 うーん、モジュールを有効にするには、mods-availableにあるファイルを編集して、mods-enabledにシンボリックリンクを張ればいいのかな?。
 /home/htmlの中の更新にftpを使うのも面倒なので、ここもwebdavのディレクトリにしてしまうが、ここは外に公開しない。それと、/home/share/davを外部にも公開という2種類を作る。
 とりあえず、dav_fs.confを書き換える。

DAVLockDB /var/lock/apache2/DAVLock
DAVMinTimeout 600
alias /dav /home/share/dav
<Location /dav>
        DAV On
        Order allow,deny
        allow from all
        #deny
</Location>

alias /hpdir /home/html
<Location /hpdir>
       DAV On
       ForceType text/plain
       Order deny,allow
       deny from all
       allow from 192.168.11.0/24
</Location>

 んで、シンボリックリンクを張る。/home/shareにdavってフォルダも作ると。

#ln -s /etc/apache2/mods-available/dav_fs.conf /etc/apache2/mods-enabled/dav_fs.conf
#ln -s /etc/apache2/mods-available/dav_fs.load /etc/apache2/mods-enabled/dav_fs.load
#ln -s /etc/apache2/mods-available/dav.load /etc/apache2/mods-enabled/dav.load

#mkdir /home/share/dav
#chmod 777 /home/share/dav

 さて、mod_encodingはどうなってるんだろか・・・。日本語ファイルを扱うのにこれがないと困るんだが・・。おぉ、aptにlibapache2-mod-encodingがある。早速インスコ&さっきと同じでシンボリックリンク。

#apt-get install libapache2-mod-encoding
#ln -s /etc/apache2/mods-available/encoding.load /etc/apache2/mods-enabled/encoding.load

 さて、再起動して普通に動くか?。

#/etc/init.d/apache2 restart

おぉー。かなりいい感じ。Redhat6.2でapache1.3系でやっていたときは、ファイル名の変更ができなかったが、それもできる。日本語も普通に使える。Good!。でもなー、KDEのWebDAVクライアントが日本語非対応なんだよな・・。会社から使うには少し不便が残る。んでも家で使う分には問題なしだ。WebDAVだけでファイルサーバーになるね。NetaTalk入れようと思ったけど止めだな。

 これで、webdav://XXXXX/davで/home/share/davをどこからでもアクセスできる。またwebdav://XXXXX/hpdirで/home/html、つまりサイトのトップディレクトリ以下が全部アクセスできる。ただし、/hpdirはローカルエリア内だけで外部からはアクセスできない。192.168.11.0/24はうちにあるルーターのDHCPが各PCに割り当てるIPアドレス。


CGI,SSI

 さて、webdavは動いてファイルを放り込んだりはできるようになった。次はCGIとSSIだ。

 まず、さっきのdavモジュールと同じようにinclude.loadをシンボリックリンク。

#ln -s /etc/apache2/mods-available/include.load /etc/apache2/mods-enabled/include.load

 そんでもって、.htaccessを各ディレクトリに放り込む。共通項目はhttp.confに書いてもいいんだが、apacheに再起動かけなきゃならんのがメンドクサイ。よって、全部overrideにしておいて、.htaccessに書く。そっちの方が楽じゃん?。

Options Includes ExecCGI
AddOutputFilter INCLUDES .shtml
AddHandler server-parsed .shtml
DirectoryIndex index.php index.shtml index.html
AddHandler cgi-script .cgi

DirectryIndexくらいhttpd.confに書いてもいい気もするな。まぁいいや、どうせコピーするだけだし。


DynamicDNS

サーバーとして使うからにはDDNSを使わざるを得ない。まぁTP535でやってた時と同じようにddo.jpを使用させてもらう。んで、ルーターのアドレスを取得してきて、変わっちゃったら、更新するとというスクリプトを組む。一ヶ月放置でアカウントを消されてしまうので、1週間毎くらいに更新しなきゃいけないけど、そっちはそっちで、wgetするだけ。どっちもcrontabに書いて終わり。一応、NEX DL180V用のWAN側のアドレスを取得するするスクリプトを置いとく。getip_DL180V.txt。中身はrubyね。

 こいつを、5分ごとにcrontabで回して、IPアドレスが変わっちゃったら更新すると。。

	$ chmod 755 getip_DL180V.rb
	$ crontab -e
	*/5 * * * *	  /home/script/getip_DL180V.rb

ntp

 時刻合わせのためにntpをいれる。とりあえず普通にapt-getする。

#apt-get ntp
#apt-get ntp-server
#apt-get ntpdate

これだけでもううごいてるな・・・。設定の必要なしか?。いや、どうやらntp.confをみると、ntp.orgを参照しにいってる。2つくらい書いておこう。

server sutns.sut.ac.jp
server clock.nc.fukuoka-u.ac.jp

 再起動して確認。

#/etc# /etc/init.d/ntp-server restart
#/etc/init.d# ntpq -p 
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 tusns.tus.ac.jp .INIT.          16 u    -   64    0    0.000    0.000 4000.00
*clock.nc.fukuok .GPS.            1 u   36   64   17   33.222  -52.716   4.223
 rupert.raggedst 193.120.142.71   2 u   38   64   17  271.487  -58.229   4.359
 LOCAL(0)        LOCAL(0)        13 l   40   64   17    0.000    0.000   0.004 

 おっけー、同期した。 tusns.tus.ac.jpはなくなっちゃったのかな?。まぁいいや。ついでだから、家の他のPCはme6000に同期しよう。。

ME6000 前へ戻る