Apache/PHP/MySQL/SQLite/SQLiteManage/PhpMyAdmin/Zend OptimizerをWindowsにまとめてインストールできる「VertrigoServ」を使ってRAMディスクでホームページ公開
設定が簡単な「VertrigoServ」を使ってセカンドサーバーを作ってみました
インストーラーは日本語化されていますが、肝心なプログラムは英語表記で使い方や、設定方法がよく解らないままとりあえず導入してみました
「VertrigoServ」には「Perl」が含まれてないので、CGIを使う為には別途インストールする必要がありますが、後から「Perl」をインストールするとCGIプログラムがうまく動きませんでした
そのため一旦「VertrigoServ」をアンインストールし、「Perl」の後でインストールし直すと何も設定しないままCGIプログラムが動作します
かなり簡単にセカンドサーバーが出来上がりました(全てRAMディスク上にインストールし、動作しています)
メインサーバーのルートディレクトリにある、公開しているホームページを全て「VertrigoServ」で作ったセカンドサーバーのルートディレクトリにコピーしメインサーバーを停止、PCの接続設定でプライベートIPアドレスをメインサーバーに合わると自動的に「VertrigoServ」が認識してくれます
httpd.confを編集してServerNameをドメインに変更しRestartすると代替サーバーとして簡単にホームページ公開できました
インストールや導入方法はhttp://www.nori12.com/VertrigoServ.htmlに用意しました
自宅サーバーの最近のブログ記事
サーバーを構築し運営していると24時間365日回り続けているHDDのクラッシュが心配になります
もともとHDDの駆動音はあまり気になる程ではないのですが、サーバーのアクセスが増加してくるとHDDのアクセスランプが頻繁に点灯しているため耐久性に不安がでます
そこでHDDの負荷を軽減する為に、公開ディレクトリをRAMdiskに配置してみました
ディレクトリ内には「ブログサーバーMovableType」「アップロード掲示板」「ショッピングカート」「公開ホームページ」約34MBが存在します
RAMdiskのメリットは「早い」「無音」、デメリットは「電源が切れるとデータが消えてしまう」ことです
それらの特性を踏まえた上でUSBフラッシュメモリを利用して可能な限りHDDへのアクセスを減らします
USBフラッシュメモリにApacheアクセスログの保存先を変更し、RAMdisk内のデータもバックアップを自動保存し電源が切れても再起動後にデータが復元できるように設定します
設定方法
1・I-O DATA のメモリを買うと無料で利用できるRamディスク作製管理ソフト「RamPhantom 2 LE」をインストールします
Ramドライブ「D」を256MBで作製し、バックアップの方法に「Ramディスクの書き込みと同時に保存」を設定、保存先にUSBフラッシュメモリ「Z」を指定します(※ドライブのパスは固定にしておきます)
RAMdiskと同時にUSBフラッシュメモリへ書き込みを同時に行うので、書き込み速度は通常より遅くなりますが、読み込みは高速で行えます
2・ドキュメントルート(公開ディレクトリ)フォルダ「nori」を「C」→「D」に移動します
3・Apacheの「httpd.conf」ドキュメントルートを変更します
DocumentRoot "C:/nori"
↓
DocumentRoot "D:/nori"
4・MovableTypeブログの設定で、公開パス(サイトパス)を変更します
C:/nori/blog
↓
D:/nori/blog
5・Apacheアクセスログの保存先をUSBフラッシュメモリ「Z」ドライブに変更します
ErrorLog "| bin/rotatelogs.exe logs/%y%m%d_error.log 604800"
↓
ErrorLog "| bin/rotatelogs.exe Z:/logs/%y%m%d_error.log 604800"
CustomLog "| bin/rotatelogs.exe logs/%y%m%d_access.log 604800" cmbined env=! nolog
↓
CustomLog "| bin/rotatelogs.exe Z:/logs/%y%m%d_access.log 604800" cmbined env=! nolog
あとはApacheを再起動(Restart)すれば設定変更が反映されます・・・・が、このままではサーバーの電源が切断されても、サーバーは自動起動することができません
電源が供給されサーバーが起動しRamドライブが作製されると「Z」ドライブに保存されているバックアップがRamドライブ「D」に復元されますがタイムラグがあるのでApacheはエラーを起こしサーバーは起動しません
そのためRamドライブ内にデータが復元されてから、自動的にApacheのRestartをかける必要があります
スタートアップ起動時に起動順番の設定、遅延起動を管理できる「StartupEX」を使用します
1・StartupEXを起動、プログラム本体をWindowsスタートアップに登録
2・遅延押入を追加→Time:40 起動に失敗する場合は長めにとるようにしましょう
3・ファイル追加→C:\Documents and Settings\All Users\スタート メニュー\プログラム\Apache HTTP Server 2.0.59\Control Apache Server\Restart.lik
すべてのプログラム、Apacheスタートメニューにある「Restart」を選択します
ホームページをRAMディスクで公開した結果報告
接続回線がADSLの為、外部接続から体感できないと思いますが、内部ネットワークでの接続では、かなりの高速です
HDDのアクセスランプもホームページを開くだけならまったく点きません、しかしブログや掲示板などのCGIプログラムにアクセスがあると一瞬点灯しているようです、PHPやPerlもRamディスク上に配置すればよいのかもしれません(試していませんが)
あきらかにHDDの負荷が減ったのではないでしょうか?しかし、USBフラッシュメモリと同時にRamディスクの書き込みが行われている為に、ブログ(MovableType)の再構築に時間がかかるようになってしまいます
そこで自宅サーバー内に Movable Type 4(ブログサーバー)を再構築しました
以前に比べて「Six Apart」からの登録・ダウンロードも簡単になり、インストール作業も簡単になっています
しかしながら、自宅サーバー内に構築し内部接続(LAN)で利用する場合ルータの影響を受けトラブルが発生していましたが、単純な「hosts」ファイルの設定ミスが原因でした
詳しくは、ブログサーバーの構築 Movable Type 4 の記事を修正しています、興味のある方はご覧ください
余談になりますが、自分のグローバル IP アドレスを知りたいときに便利なサイト(アクセスするとグローバル IP アドレスを表示して教えてくれる)がたくさん存在しますが、ちょっと変わった教え方をするサイトを紹介します 「MoanMyIP.com」はとてもセクシーなあえぎ声であなたの IP アドレスを読み上げてくれます
くれぐれも、周りの人に注意しながら音声を上げすぎないように注意してください、アクセスするとすぐに再生されます
