インストールする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 ・ ・
まぁ普通に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>
うーん、モジュールを有効にするには、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アドレス。
さて、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に書いてもいい気もするな。まぁいいや、どうせコピーするだけだし。
サーバーとして使うからには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をいれる。とりあえず普通に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に同期しよう。。
Copyright (C) 2006 俺 All right reserved.