2009年02月01日
Plamoサーバ壊れました(泣)
前回のディスク修復で、安定稼働するようになったPlamoサーバですが、もう一度fsckをかけてしまいました。当然エラーなんぞ出ないと思ってたわけで、単に念のため発行しただけです。
ところが、これがエラーの山で(^^;)、更に修復(Fix)に対してy(Yes)キーを押していっても、リブート後、もはや起動しなくなってしまいました。って、おい!!
リバースプロキシサーバであり、MovableTypeを動かしているWebサーバであり、メールサーバでもあるこいつが動かないと非常に困るっちゅうねん。
仕方ないので、CentOSサーバでMovableTypeを動かすことにします。
まーた、一からセットアップかよ!!ってのは、気が遠くなるので(笑)、定期的にとっているバックアップから丸ごとコピーします。
$ cp -rp (コピー元) (コピー先)
でコピーです。再帰オプション(-r)と属性変更なしオプション(-p)は必須です。
環境が完全に同じではないので、まだ使えない機能も有りそうですが、とりあえずブログ投稿できるところまで復活しました。
まったく、いらんことすなっ!・・・って自分に言いたい(笑)。
投稿者 masatsu : 03:24 | コメント (0)
2008年11月09日
MovableTypeのログインページが開けない
久々にブログ更新しようと思い、ログインページを開こうとしたら、
『テンプレート「login.tmpl」の読み込みに失敗しました』
となった。「header-popup.tmpl」を「開けない(can not open)」らしい。
SSH接続して確認すると、mt/tmpl/cmsディレクトリ内には「login.tmpl」は有るものの、「error.tmpl」と「header-popup.tmpl」の2つだけが何故か0バイトになっている(今年の10月1日に更新されていた)。
非常に不気味だ(笑)。
まぁ、とりあえず、一週間に一度自動でバックアップを取っているので、そこから復元しようと思ったら、バックアップファイルのほうも0バイトだ(そりゃそうだ(^^;))。
仕方ないので、新たにMovableTypeをダウンロードしてきて、そこから2つのファイルだけコピーしようと最新版の4.22を落としてきたが、「header-popup.tmpl」が無い。
で、結局3.x系の最終版である3.37を落としてきて、そこから2つのファイルをコピーしたらうまくいった。
原因が分からないのでなんとも気持ち悪いが、まぁ良いか・・・(笑)。
ちなみに、このエントリーを保存しようとしたら、またエラーになった。
mt/archivesディレクトリ内の2008ディレクトリが開けなくなってたせいだ。
2008ディレクトリ(ファイル扱いになってて、0バイトだった)を削除してから「再構築」をかけたら直った。
そろそろハードディスクがやばいのか・・・?(^^;)
投稿者 masatsu : 13:08 | コメント (0)
2008年01月15日
サーバ停止?
このブログを置いているWebサーバにアクセスできないという事態が発生した。
職場からSSHで接続して状態を確認したが、サーバ自体は問題なく動いている(ように見える)。
SSHで接続できるので、ルータも問題なさそうだ。
リバースプロキシのDelegateを再起動してみたが、アクセスできないことは変わらない。
・・・で、ふとdfを打ってみたら・・・!!!
空きディスク容量ゼロですよ(^^;)。
システムやApacheのログを削除してみたが、あまり空き容量が増えない。
duで大量に使っているディレクトリを探していったところ、犯人は「Delegate」だった。
Delegateのログを削除したら、結局2GB以上の空き容量を確保できた。って使いすぎや!
これでサーバも、無事にWebアクセスできるようになりました・・・やれやれ。
投稿者 masatsu : 21:41 | コメント (0)
2006年11月19日
PlamoにGeeklogを設置
CMSツールで有名なのはXOOPSやMamboだが、最近注目されつつあるGeeklogをPlamo上に入れてみた。
$ wget http://www.geeklog.jp/filemgmt/visit.php?lid=87
$ tar xvzf geeklog_jp_1.4.0sr5-1_20060927.tar.gz
$ cd geeklog_jp_1.4.0sr5-1_20060927_7/
$ mv geeklog/ ../
$ cd ../geeklog/
$ mv public_html/ ../public_html/geeklog
でファイルを適宜、配置。
config.phpとlib-common.phpを編集し、パーミッションを設定したら、MySQLデータベースをcreate(「default character set utf8」のオプションを付けて作成)。
注意点としては、config.php内の
$_CONF['have_pear'] = false;
は、trueにするとPHPエラーになる(うちの環境では・・・)。falseでもメール送信できるので問題ない。
あと、$_CONF['cookie_path']と$_CONF['cookiedomain']は、設定が必要。
さらに、~/public_html/geeklog/backendディレクトリ内にtouchでindex.xmlを作成し、パーミッションを646にする(必要なのかどうか分からん(^^;))。
で、ブラウザから
http://friction.mars.ddns.vc/~masatsu/geeklog/admin/install/install.php
にアクセスして、データベーステーブルを作成すれば完了だ。
ところが、特定の一部分の文字だけ文字化けする。UTF-8で設置しているのだが、MySQLもPHPもUTF-8対応にしているのに何でだ?
FAQを調べて、解決策が判明した。
~/geeklog/system/lib-database.php
の最後の行に「DB_query ("SET NAMES 'utf8'" );」を追加して、いったんdrop databaseした後、再度create databaseし、もう一度install.phpでテーブルを作成し直す。
最後にinstallディレクトリを削除して、完了だ。
いやー、なかなか良いよ、これ。
投稿者 masatsu : 15:38 | コメント (0)
2006年11月17日
PlamoにQpopper
POP3が必要なので、QpopperをPlamoパッケージでインストールする。
Plamo4.2用のqpopper4.0.9だ(但し、うちのPlamoは4.0)。
# installpkg qpopper-4.0.9-i386-P1.tgz
inetd.confを修正して、
# telnet localhost 110
で接続テストを行なおうとすると「libgdbm.so.3」が無いと怒られる。
libgdbm.so.2はあるが、libgdbm.so.3は確かに無いので、gdbm-1.8.3.tar.gzを入手し、ビルドしてインストール。
/usr/local/libに作られたlibgdbm.so.3を/usr/libにコピーする。
と、今度は、「libssl.so.0.9.8」が無いというエラー。
確かにlibssl.so.0.9.7はあるけど、0.9.8は無い・・・。
なんか埒が明かないので、pkgtoolでremove(削除)して、4.0用のqpopper-4.0.5-i386-P1.tgzを入れ直す。
# installpkg qpopper-4.0.5-i386-P1.tgz
# telnet localhost 110
問題なく接続できました・・・。
トラブルが発生する理由は、横着しようとする(パッケージで入れようとする)からだな、きっと(^^;)。
投稿者 masatsu : 12:05 | コメント (0)
2006年11月15日
PlamoのPHPをGDサポートにする
OpenPNEがGDやImageMagickを必要とするので、Plamo上にも入れてみた。
まず、GD2とImageMagickをソースからインストール。
# wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz
# tar xvzf gd-2.0.33.tar.gz
# cd gd-2.0.33
# ./configure --with-png --with-freetype --with-jpeg --with-xpm
# make
# make install
# wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
# gunzip -c ImageMagick.tar.gz | tar xvf -
# cd ImageMagick-6.3.0/
# ./configure
# make
# make install
PHP4.4.4をソースから入れる際、「--with-gd」オプションを付けると、「zlib」が無いと怒られる。
そこで、zlibをインストール。
# wget http://www.zlib.net/zlib-1.2.3.tar.gz
# tar xvzf zlib-1.2.3.tar.gz
# cd zlib-1.2.3
# ./configure --shared
# make
# make install
PHPをビルドすると、GIFとPNGはOKだが、JPEGがダメ(Vineのときと同じだな(^^;))。
libjpeg.soは、/usr/libにもともと存在するけど、念のためソースからインストール。
# wget http://www.ijg.org/files/jpegsrc.v6b.tar.gz
# tar xvzf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure --enable-shared
# make
# make install
これでlibjpeg.soが新たに/usr/local/libに作成された。
この後、GD2をもう一度ビルド。
で、PHPのリビルド。
# cd php-4.4.4
# ./configure --with-apxs2=/opt/httpd/bin/apxs --with-mysql --enable-zend-multibyte --enable-mbstring --enable-mbstr-enc-trans --enable-mbregex --with-gd --with-zlib --with-jpeg-dir=/usr/local/lib
# make
# make install
phpinfo()で確認するとGDにJPEGサポートが追加された。
これで、OpenPNEでGIF、PNG、JPEG画像のアップロードができる。
って書くと簡単なようですが、結構試行錯誤してます(^^;)。
投稿者 masatsu : 14:10 | コメント (0)
PlamoにPostfix設定
メールサーバとして稼働していたVineが死亡したので、PlamoでPostfixを動かすことにする。
main.cfを書き換えた後、自動起動するようにしただけ(もちろん、ルータ側のポートフォワード設定も変更)だが、何の苦も無く設定完了。
不正中継チェックも
http://www.rbl.jp/svcheck.php
のサイトでチェックしたところ、全19項目のテストをクリアした。
やっぱ、Postfixは簡単だな。
投稿者 masatsu : 13:19 | コメント (0)
2006年11月09日
PHPからMySQLへアクセス
Plamo上に、フリーのSNSソフトである「OpenPNE」を入れてみた。
ところが、エラーが発生して、セットアップ画面まで進めない。どうやらデータベース接続でエラーになっているようだ。
検証用のPHPコードを書いて試してみたところ、やはりデータベース接続ができない・・・。
PHPは、Plamoパッケージで5.0.0を入れているが、--with-mysqlの指定がなされていないようだ。
なので、5.0.0を削除して、4.4.4をソースからコンフィグしてビルドした。
ちなみに、MySQLのバージョンは4.1だ。
それでも接続できない・・・。
色々調べて、なんとか解決した。
「my.cnf」のmysqld設定の箇所に
old-passwords
の一文を追加し、MySQLを再起動。
次に、
$ mysql -u root -p mysql
> update user set password = OLD_PASSWORD('パスワード') where host = 'localhost' and user = 'ユーザ名'
> flush privileges;
で、OK。
結局、オールドパスワード問題だったわけだ。難しいなぁ・・・。
投稿者 masatsu : 18:08 | コメント (0)
2005年12月15日
PlamoにRoRを導入
Plamoサーバに今流行の「Ruby on Rails(RoR)」を入れてみた。
RailsはRubyの1.8.2以降を要求するが、現在Plamoに入れているバージョンは1.8.1なので、まずはRubyのバージョンアップからだ。
wgetでRuby1.8.3のソースを入手し、ビルドしてインストール。
次に、Rubygemsの0.8.11を入手しインストールする。
この時、コマンドは
# ruby setup.rb
でOK。ちなみに、Vine3.2で試したときはここでエラーになって、どうしてもgemsが入れられなかった。
gemsさえインストールできれば、後は
# gem install rails
とするだけ。
aptやyumのような感覚だな。簡単だ。
投稿者 masatsu : 14:25 | コメント (0)
2005年11月22日
Plamoでもsl
slをNiigataに入れたが、ついでにPlamoでもmakeしてみた。
wgetでソースを入手し、make。・・・やはりコンパイルエラーになる。
ltermcapが無いらしい。
Makefileの記述の中の「-ltermcap」を「-lncurses」に変更してmake。
今度は成功した。
できたslを/usr/local/binにコピーして終了。
まぁ、ただそれだけの話し・・・。
投稿者 masatsu : 01:03 | コメント (0)
2005年11月06日
WakeOnLanのMagicPacket
Debianを入れているPCはバッテリーが死んでいるため、あくまでも実験用として、必要に応じて電源を入れている。
また、Plamoサーバは常時稼働しており、外部セグメントからSSH接続が可能だ。
で、時々外部からPlamoサーバ経由でDebianサーバをいじりたくなるが、電源が入っていない・・・。
そこでDebianサーバのPCのWakeOnLan機能を有効にして、PlamoサーバからMagicPacketを送出することで、Debianサーバの電源を入れることができるようにした。
MagicPacketをブロードキャストするソフトとして、
http://gsd.di.uminho.pt/jpo/software/wakeonlan/downloads/wakeonlan-0.41.tar.gz
をダウンロードし、tarで解凍した後、wakeonlan-0.41ディレクトリに移動。
# perl Makefile.PL
# make
# make install
でビルドして、あとはちょっとしたスクリプト(MACアドレスを覚えておきたくないので)を書いただけだ。
これで、どこでも(インターネット環境さえあれば)Debianサーバをいじることができるし、電源を入れっぱなしにしておかなくても良いわけだ。
なかなか便利。
投稿者 masatsu : 03:37 | コメント (0)
2005年09月30日
PlamoサーバにTomcat
Debianで成功したので、PlamoのほうにもTomcat5.0.28を入れて、Apache2と連携させてみた。
但し、コネクタはJK2ではなくJK1.2だ(なぜか、1.2のほうが最新らしい)。
Jakartaサイトからバイナリファイルの「jakarta-tomcat-connectors-jk-1.2.6-linux-suse91-i386.apache-2.0.49.so」をダウンロードし、mod_jk.soにリネームしてから/opt/httpd/modulesにコピー。で、パーミッションを755に(644でも動いたけど)。
workers.propertiesファイルを作成。
[/opt/httpd/conf/workers.properties]
-----------------------
worker.list=ajp13
worker.ajp13.type=ajp13
-----------------------
httpd.confに以下の記述を追加。
-------------------------------------------
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "/opt/httpd/conf/workers.properties"
JkMount /*.jsp ajp13
JkMount /servlets-examples/* ajp13
JkMount /jsp-examples/* ajp13
-------------------------------------------
あと、起動スクリプトを書いたり、再起動時に自動起動するように/etc/rc.d/rc.Mファイルを変更したり・・・(Apacheの前にTomcatを起動するように)。
なんか、あっけなく成功した。以前は、えらい苦労したのに・・・。
投稿者 masatsu : 02:57 | コメント (1)
2005年09月23日
Apacheポート番号の変更
今までPlamoサーバ上ではDelegateを80番、Apacheを50000番で動かして、Delegateのリバースプロキシ機能でVineサーバとPlamoサーバのApacheへと振り分けていた。
が、Webサーバが80番ポートで動いていないのが、なんとなく気持ち悪いし、hostsファイルで名前解決を行なう場合に問題が生じる。
そこで、PlamoのApache2は80番ポートで動くように変更し、その代わりDelegateを別のポート番号で動かすようにした。
これで、LAN内からMovableTypeへ投稿する時に、インターネット上の漏れ串を使ってWAN側ポートへアクセスしなくても、hostsでプライベートアドレスに名前解決することで直接アクセスできる。
投稿者 masatsu : 14:55 | コメント (0)
2005年09月20日
Blogの更新日取得
3つのブログのそれぞれの更新日がトップページ上で分かるように、indexページを「index.html」から「index.cgi」にしてみた。
このCGIは「index2.html」を吐くように設定しているが、ファイル名を付けずにURLを指定した場合は「index.cgi」にアクセスし、各ブログの更新日を取得する。
毎回CGIプログラムを実行するのも負荷がかかるが、サーバマシンも速くなったし、まぁ良いだろう。
頻繁に更新するなら要らない機能だと思うが、うちは更新頻度が低いので・・・。
投稿者 masatsu : 17:25 | コメント (0)
2005年09月19日
PlamoServerのPC本体交換
PlamoのプラットフォームとしてNECのAileNXを使ってきたが、さすがに
・CPU:MMXPentium200MHz
・メモリ:160MB
というスペックは、いささかキツイ。
さらに、仕事用のノートPCとしてCeleron550MHzの富士通マシンを買ったので、今まで持ち歩き用に使ってきた東芝DynabookSS3410が余ることになった。
そこで、Plamoの入ったハードディスクをそのままSS3410に入れて、SS3410をサーバマシンとして使うことにした。
BIOS上でPCカード(PCMCIA)の設定を16ビットバスに変更しないと、起動時にフリーズする。
変更点は、それくらいか。
全く問題なく起動し、今までどおりのサービスが可能となった。
スペック的には、
・CPU:Celeron400MHz
・メモリ:128MB
となり、メモリは少なくなったが、CPUスピードは2倍だ。
これで、MovableTypeも快適に動くだろう。
投稿者 masatsu : 13:53 | コメント (0)
2005年05月06日
iptablesでレスポンス悪化
Plamoで開いているSSHポートに対し、この半年でかなりの数の不正アクセスが行なわれている。
適当なユーザ名でポートをたたいてくるのだが、うちは秘密鍵が必要なので絶対に侵入できない(・・・はず)。
ほとんどは海外だが、中には国内のプロバイダや大学からやってくる(大学名は、ここで晒しても良いのだが、まぁやめておこう)。
とにかくウザいので、iptablesでアクセス制限を行なってみた。
# iptables -I INPUT -s (制限するIPアドレス) -j REJECT
でREJECTしたわけだが、その数は半端じゃない。
設定自体も大変だったのだが、問題は別にある。
普通にアクセスするだけでも、(このパケットフィルタリング処理に時間がかかるのか)異常に遅くなってしまったのだ。
Delegateもリバースプロキシとして動いているし、200MHzのCPUでは相当つらいみたい。
やはり、ルータでフィルタリング処理を行なうべきなのか・・・。
投稿者 masatsu : 15:09 | コメント (0)
2005年04月03日
fortuneメッセージ
Plamoでは、ログイン時にfortuneが起動するようになっている(.bash_loginの中に/usr/games/fortuneが記述されている)。
これは言うなれば「おみくじ」みたいなもので、ログインの際、様々なメッセージを表示してくれる(英語だが・・・)。
メッセージの元となるファイルは、/usr/share/games/fortune/fortunesだが、その中にかなりドッキリな文面もあるようだ。
今日、ログインした時に表示されたメッセージは、
*** System shutdown message from root ***
System going down in 60 seconds
で、続けてsuでrootになった時に出たメッセージが、
The Killer Ducks are coming!!!
だった。
うちはSSHポートを開けているので、不正侵入されてrootを取られたかと思ったよ。
膨大な文面の中からランダムに表示されているのに、こんな意味深なメッセージが続くという偶然もあるもんだ。
一つ心配なのは、実はこの文面はオリジナルのfortunesファイルには存在せず、侵入者が勝手に追記したんじゃないかという・・・。いや、まさか・・・。
投稿者 masatsu : 03:56 | コメント (0)
2005年03月19日
MoinMoinの設置
Pythonを使ったWikiクローンであるMoinMoinを、Plamo上(ユーザホーム上)に設置してみた。
結構面倒な上に日本語資料がほとんど無いので、ここに書いておこう。
まず、moin-1.3.4.tar.gzをダウンロードして、サーバにFTP転送。
$ tar xvzf moin-1.3.4.tar.gz
で解凍すると、moin-1.3.4ディレクトリが作成される。
$ cd moin-1.3.4
$ python setup.py --quiet install --prefix=$HOME --record=install.log
でインストールするのだが、これだけでは完了しない。
$ cp -r wiki/ ../
で、ホーム上にWikiの場所を作成。
あと、いらないものは削除しておこう。
$ cd ..
$ rm -rf moin-1.3.4
$ rm -rf moin-1.3.4.tar.gz
で、ここからが面倒なのだが、まず必要なファイルをpublic_html上にコピーする。
$ cd wiki/
$ cp -r htdocs/ ~/public_html/wiki
$ cp server/moin.cgi ~/public_html/wiki
$ cp config/wikiconfig.py ~/public_html/wiki
次にrootになって、Apacheのユーザとグループをhttpd.confで確認する。
(うちの環境では、ユーザはwww、グループはapache)
dataディレクトリとunderlayディレクトリのオーナーをApacheユーザに変更する。
# chown -R www.apache /home/masatsu/wiki/data/
# chown -R www.apache /home/masatsu/wiki/underlay/
root作業はこれだけなので、exitでユーザに戻る。
あとはmoin.cgiとwikiconfig.pyの編集作業だ。
$ cd ~/public_html/wiki/
$ vi moin.cgi
ここに次の3行を追加する。
-------------------------------------------------------
sys.path.insert(0, '/home/masatsu/lib/python2.3')
sys.path.insert(0, '/home/masatsu/lib/python2.3/site-packages')
sys.path.insert(0, '/home/masatsu/wiki')
-------------------------------------------------------
$ vi wikiconfig.py
この中のsitename、data_dir、data_underlay_dir、url_prefix、default_langを変更。
-------------------------------------------------------
sitename = u'Friction River Wiki'
data_dir = '/home/masatsu/wiki/data/'
data_underlay_dir = '/home/masatsu/wiki/underlay/'
url_prefix = '/~masatsu/wiki'
default_lang = 'ja'
-------------------------------------------------------
これで、ブラウザから「http://friction.mars.ddns.vc/~masatsu/wiki/」にアクセスすると、Wikiのトップページが表示されるはずだ。
本当にこの手順で良いのかは、よく分からないが・・・。
投稿者 masatsu : 15:36 | コメント (0)
2005年03月08日
rsyncでバックアップ
このブログもそうだが、サーバ上に直接書き込みを行なっている場合、ローカル環境にデータが残っていない。
もしもサーバのハードディスクがクラッシュすると、泣くに泣けない話しになる。
そこで、rsyncでPlamoの/home以下をVineの外付けUSBハードディスクにバックアップしよう。
1.まずVineにrsyncをRPMでインストール(Plamo側は標準で入っていた)。
2.Plamoでrootになり、「ssh-keygen -t rsa」で公開鍵と秘密鍵を作成し、公開鍵(id_rsa.pub)をVineの/root/.sshにコピーし、catでauthorized_keysに追加(但し、鍵作成時、パスフレーズを入力しない)。
3.Vineのsshd_configを書き換え。
PasswordAuthentication no
PermitRootLogin yes
4.Plamoにスクリプトファイルを作成。
----------------------------------------------------------------
#!/bin/sh
rsync -avz --delete -e ssh /home/ (VineのIPアドレス):/mnt/usbhdd/backup/
----------------------------------------------------------------
(cronでスケジューリングしても良いのだが、外付けHDDなのでスクリプトにした)
これで、いつでもPlamoの/home以下をバックアップすることができる。簡単だ。
投稿者 masatsu : 17:37 | コメント (0)
2005年02月19日
またまたDelegate
契約しているプロバイダからは、固定IPアドレスを1つ貰っている。
名前の解決において、正引きはDynamicDNSだが、逆引き設定は最初からプロバイダ側で行われている。
なぜか、この逆引き用の名前でブラウザからアクセスすると、サーバにアクセスできてしまうのだ。
で、Delegateの起動スクリプトには、この逆引き名を設定していなかったため、またもやDelegate管理画面が出てしまう。
これまた知人(以前と同一人物)の指摘により判明したわけだが、よくまぁ調べるよな。
とにかく、以下の記述を起動スクリプトに追加した。
MOUNT="/* http://(VineのIPアドレス)/* vhost=-cb8ab2-226.tiki.ne.jp" \
REACHABLE=(VineのIPアドレス) \
投稿者 masatsu : 13:23 | コメント (0)
2005年01月06日
Delegateの管理画面
2ヶ月以上に渡ってDelegateをリバースプロキシとして稼動させていたが、知人の指摘によってえらいことが判明した。
うちのサイトのグローバルIPアドレス(203.138.178.226)をブラウザから直打ちすると、Delegateの管理画面が表示されてしまう・・・。
ドメイン名での振分けのみを設定していたのが原因だ。
そこでDelegateの起動スクリプトに以下の2行を追加した。
MOUNT="/* http://(VineのIPアドレス)/* vhost=-203.138.178.226" \
REACHABLE=(VineのIPアドレス) \
これでIPアドレスを直打ちしても、Vineサーバの方に自動転送するようになったはず・・・。
投稿者 masatsu : 02:44 | コメント (2)
2004年12月23日
CGI(Perl)でMySQLを使う
PerlからMySQLデータベースへ接続できるように、DBIとDBDモジュールを入れてみた。
# perl Makefile.PL
# make
# make test
# make install
の手順で、両方をソースからビルドしたわけだが、何の問題も無く完了した。
簡単なサンプルコードを書いて接続実験を行なった結果もうまくいったし、割と面白いかも・・・。
まぁ、PHPからデータベースを使うほうが簡単なんだろうけどね。
投稿者 masatsu : 15:12 | コメント (0)
2004年12月06日
MovableType不具合?
なんだかこのページの下のほうにゴミが出現している。
再構築の際に変になったかな?
投稿者 masatsu : 21:58 | コメント (1)
2004年12月05日
tDiaryの設置完了
Plamo上にRubyスクリプトで記述されたtDiaryを設置してみた。
.htaccessファイルの「+ExecCGI」は、既にhttpd.confで許可されている場合は、記述してはいけない。
あと、やたらとパーミッションエラーが出るので、tDiary関係の全てのディレクトリ及びファイルの所有者をApacheユーザにすることでクリア。
テーマ(サイトの外観)が豊富で、なかなか面白い。
投稿者 masatsu : 21:18 | コメント (0)
2004年11月17日
NICの変更
PlamoのNICはメルコ(バッファロー)の「LPC2-T」を使っていた(余っていたので)わけだが、速度が10Mbpsというのはサーバとしてはどうかと思う(まぁ実際は、ADSL回線速度が2Mから3Mbpsなので、外部セグメントからのアクセスにおいては関係無いが)。
とにかく100BASE-TXにしたいので、NICを購入した。
バッファローの「LPC-PCM-CLX」を買ってきたが、Plamoで認識できない(カードマネージャーの問題か?・・・よく分からん)。
どうしようもないので同じメーカーの「LPC4-TX」を買ってきた。これはVineのほうでも使っているので確実に認識されるはず。
案の定、何の苦も無く100Mbpsで通信できるようになったが、単なる自己満足かもしれない。
投稿者 masatsu : 00:42 | コメント (0)
2004年11月04日
ノートン先生
IMGタグがHTML中から消失する・・・。
HTML文法の間違いかと思って色々試してみたが、解決しない。
Webで調べると、すぐに原因が判明した。
ノートン先生は、88×31ドットの画像ファイルがあると、そのタグを取り除くらしい。
いらんことするな。
投稿者 masatsu : 15:59 | コメント (0)
2004年11月03日
携帯で日付が文字化け
mt.cfgの設定でデフォルトの文字コードをシフトJISにしているので、携帯(iモード)でも文字化けせずに表示される。
ところが、日付部分だけは「年」「月」「日」の文字が出ない(PCのブラウザでは問題なく表示される)。
おそらくバグなんだろうけど、見栄えが悪いので変更してみた。
テンプレート中のDate関係のMTタグ(MTEntryDateとかMTCommentDateとか)のformat指定を「%x」から「%Y/%m/%d」または「%Y/%m/%d %X」に変更しただけ。
英語表記にすると月が英単語になってしまうのが、嫌だったので・・・。
ちなみに、こちらのページはデフォルトのまま、Moblogのほうだけ変更。
投稿者 masatsu : 14:59 | コメント (0)
Moblogのアーカイブ設定
携帯電話からメールを送信し、mail2entry.cgiで登録する場合、アーカイブへのリンクがうまく張られないようだ。
おそらく、このCGIプログラムが「カテゴリー」に対応していない(カテゴリー指定できない)せいではないかと思う。
プログラム自体を修正するのは面倒なので、MovableTypeの設定のほうを変更してみた。
「設定」画面で「以前の形式の個別アーカイブへのリンクをつかう」をチェックし、「アーカイブ設定」で「カテゴリー」のチェックをはずした。
なお、この設定はMoblogのほうだけに行なったので、このページの「携帯のカメラから投稿」という記事だけは、リンクが切れたままになっている。
投稿者 masatsu : 13:38 | コメント (0)
2004年11月02日
もう一つブログを作成
MovableTypeの無償版では3つまでブログを作れるようだ。
というわけで、もう一つ作り、こちらはサーバ技術的な日記として、新しいほうは携帯からの更新専用(通称「モブログ」)にしよう。
投稿者 masatsu : 13:52 | コメント (0)
2004年11月01日
携帯電話からメールで投稿
携帯メールで長い文章を打つのは、さすがに疲れるので、この投稿はPCからだ。
携帯からメール(画像添付OK)をうちのサーバの某アカウントに送り、CGIプログラムがそのアカウントからPOP3で受信した内容をMovableTypeに反映させる。
そういうCGIを公開してくれている方がいらっしゃるとは、実に素晴らしい。
というわけで、あひるさんの「mail2entry.cgi」をダウンロードして、yataiさんの設置法を参考に設置してみた。
KENTさんの「pcheck.cgi」で文法チェックして、不足していたPerlモジュールはCPANからインストールした。
投稿者 masatsu : 01:40 | コメント (0)
2004年10月31日
MovableTypeのテンプレート
「MovableType」「テンプレート」「サンプル」等のキーワードでググると、様々なサイトが独自のテンプレートを公開しているのが分かる。
その中から良さげなのを選んで、うちのページにも設定してみた。
なかなか、かっこいい。
投稿者 masatsu : 14:08 | コメント (0)
2004年10月30日
コメント入力のメール通知
誰かがコメントを入力した場合、私宛にメール通知を行なうように設定してみた。
mt.cfgの
MailTransfer smtp
SMTPServer (VineのIPアドレス・・・PostfixがVine上で動作しているので)
の部分を有効にして(コメントをはずして)、あとはMovableTypeの設定画面から設定しただけだが、何の問題も無くうまくいった。
Perl::Sendmail(Perlモジュール)は先にインストールしていたので、これが無いと動かないのかどうかは不明。
投稿者 masatsu : 17:26 | コメント (0)
2004年10月29日
MovableTypeの設定ファイルが丸見え
MovableTypeの設定ファイルであるmt.cfgやデータベース用ディレクトリの各種ファイルが、デフォルトの設定ではブラウザから丸見え状態だ。これは、セキュリティ的にまずい。
当然、何らかの対策が必要だ。
私は、このファイルやディレクトリに対して、.htaccessファイルでブラウザからの直接アクセスを禁止したが、そんなに神経質になることではないかもしれん。
投稿者 masatsu : 16:18 | コメント (0)
アクセスログについて
Delegateを通すとApacheのログにはDelegateサーバのIPアドレスが記録されてしまう。
まぁ、当然のことだ。
Delegateのログも取るようにしているが、やはりApache側できちんと要求元のIPアドレスを記録したい。
これにはDelegate側とApache側でそれぞれ設定が必要になる。
まず、Delegate側では
HTTPCONF="add-qhead:X-Forwarded-For:%a"
を起動スクリプトに追加。
次にApache側では自動的にアクセスログの要求元IPを書き換えるモジュール「mod_rpaf」を組み込む。
ソースで入手し、MakefileにAPXSパスを記述後、make、make installした後、httpd.confに以下を追記。
---------------------------------------------------
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname Off
RPAFproxy_ips (DelegateのプライベートIPアドレス)
---------------------------------------------------
これで、OK。
投稿者 masatsu : 15:20 | コメント (0)
Delegateの設定
当初の起動スクリプトは、
---------------------------------------------------------
#!/bin/sh
/(Delegateを置いたディレクトリ)/delegated -P80 \
SERVER=http \
MOUNT="/* http://(PlamoのIPアドレス):50000/* vhost=-friction.mars.ddns.vc" \
REACHABLE=(PlamoのIPアドレス) \
MOUNT="/* http://(VineのIPアドレス)/* vhost=-ww1.friction.ddo.jp" \
REACHABLE=(VineのIPアドレス) \
RELIABLE="*" \
ADMIN=masatsu@friction.ddo.jp
---------------------------------------------------------
としていた。
ところが、DNSがワイルドカードAレコードなので、ホスト名がww3でもhomepageでも、さらにホスト名が無くても名前解決されてしまう。
上記の設定の場合、ww1とww2以外のホスト名でアクセスすると、Delegateの管理画面がブラウザ上に表示されてしまう。
これでは困るので、下記のように設定しなおしてみた。
---------------------------------------------------------
#!/bin/sh
/(Delegateを置いたディレクトリ)/delegated -P80 \
SERVER=http \
MOUNT="/* http://(VineのIPアドレス)/* vhost=-*.friction.ddo.jp" \
REACHABLE=(VineのIPアドレス) \
MOUNT="/* http://(PlamoのIPアドレス):50000/* vhost=-friction.mars.ddns.vc" \
REACHABLE=(PlamoのIPアドレス) \
RELIABLE="*" \
ADMIN=masatsu@friction.ddo.jp
---------------------------------------------------------
このとき、ワイルドカードを使った設定(*.friction.ddo.jp)は、個別ホストの設定よりも前に記述しなければならない。
これでVineへは「friction.ddo.jp」で、Plamoへのアクセスは「friction.mars.ddns.vc」で行なえるようになった。
投稿者 masatsu : 13:14 | コメント (0)
Delegateサーバでリバースプロキシ
思い切ってddoの有料サービスに申し込んだ。
これで、ワイルドカードAレコードが使えるようになったので、ホスト名に何を指定しても名前解決される。
Vine2.5 (Apache1.3) → ww1
Plamo4.0 (Apache2) → ww2
としてDelegateでリバースプロキシを設定し、Delegate自体はPlamo上(80番ポート)で稼動させることにする。
80番のサービス要求がルータによってPlamoにフォワードされると、Delegateは
ww1.friction.ddo.jp → Vine
friction.mars.ddns.vc → 自分自身の50000番ポート(Apacheのポート番号)
に転送するわけだ。
投稿者 masatsu : 02:48 | コメント (0)
2004年10月28日
DynamicDNS
現在、ddoの無料サービスを使っているが、www1やwww2といった複数のホスト名を利用できない。
年間6000円の有料サービスを申し込めば使えるようだが、悩みどころだ。
独自ドメインを取得するほうが良いかも・・・。
つーか、そもそも複数台のWebサーバを立てているのが、変かもしれん。
投稿者 masatsu : 16:03 | コメント (0)
2004年10月27日
2台のWebサーバを名前ベースで切り替える
うちはグローバルIPを一つしか持たない自宅鯖公開なので、ルータ設定では、ポート番号で判断して各サーバにフォワードしている。
Webとメール等、異なるサービスならWellKnownを使えるが、Webサーバが2台となると困ってしまう。
1台は80番で良いとしても、もう1台のほうは同じポート番号が使えない(でないと、ルータでフォワードできない)。
これを解決するには、
1.DynamicDNSの有料サービスでサブドメイン登録を行なう。
2.次にDelegateサーバを構築して、リバースプロキシをかける。
しかないのかな?
金をかけたくないのだが・・・。
投稿者 masatsu : 18:13 | コメント (0)
2004年10月26日
Weblog構築
Plamo4.0で自宅サーバを構築した。
既に立てているサーバは、Vine2.5ベースでWeb(Apache1.3)、メール(Postfix)サーバとして公開している。
今回Plamoで構築した2台目は、SSH2により外部からログインできるようにして、さらにFTPもSSHでトンネリングする等、セキュリティに配慮している。
この2台目サーバでは、WebサーバとしてApache2をポート50000番で動かしているが、フリーのWeblogシステム(MovableType)を入手して、Weblogを稼動させてみた。