« 2009年01月 | メイン | 2009年03月 »
2009年02月20日
8080ポートから80ポートへ
このサイトは、ずっと長い間8080ポートで運用して来ました。単純にMovableTypeを別のサーバーで練習していたら公開しちゃえって感じになって、Routerのポートフォワードで8080ポートを練習用のサーバーにフォワードさせていただけ。
当時は他に方法を知らなかったから。 (mod_proxyとかね)
8080ポートでの運用は色々弊害があって、Vodafoneの携帯からはアクセス出来ないし、なんとかならんもんかと調べてApacheのリバースプロクシとか覚えた。これはこれで遠回りした甲斐があったと今は思っている。
さて、ここいらで綺麗さっぱり80ポートに環境を引っ越ししちゃおうと思いきや、Googleをはじめとしたサーチエンジンや、なんと2ちゃんねるにも私のブログのURLが8080ポートで引用されていて、これはリンク切ったらマズイやなという事で思いとどまらされた訳だ。
80ポートでの稼働に移行し、かつ8080ポートへのアクセスも同様に処理したい。
漠然とmod_rewriteで行けるんじゃないか?と思ったので挑戦してみた。結果上手く出来たと思う。
以下、既にLinuxメモに記録してあった内容だがまぎれもなく私自身が記した内容である。
間違っている可能性もあるので鵜呑みにしない程度に参考にして欲しいものである。
8080ポートを80ポートに変更
★mt-config.cgiの編集
CGIPath http://blog.sasapurin.com:8080/
↓
CGIPath http://blog.sasapurin.com/
StaticWebPath http://blog.sasapurin.com:8080/mt-static★httpd.confの編集(バーチャルホストにmod_rewrite記述)
↓
StaticWebPath http://blog.sasapurin.com/mt-static
Listen 80
Listen 8080
#
<VirtualHost *:80>
ServerAdmin sasapurin@hotmail.com
DocumentRoot /home/sasapurin/mt
ServerName blog.sasapurin.com
</VirtualHost>
#
<VirtualHost *:8080>
ServerAdmin sasapurin@hotmail.com
DocumentRoot /home/sasapurin/mt
ServerName blog.sasapurin.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^blog.sasapurin.com:8080$
RewriteRule ^/(.*)$ http://blog.sasapurin.com/$1 [R=301,L]
</VirtualHost>
★ここを参考にさせてもらった
http://tech.bayashi.net/svr/doc/apache/mod_rewrite.html
http://tech.bayashi.jp/archives/entry/techweb/2007/001981.html
こんな分かりやすい例を作ってくれている事に感謝である。ネットって有意義に使うと本当に便利だなとつくづく思う。
ついでに、エントリー内のURLも書き換えてしまおう。SQLならコマンド一発で出来るハズだ。
調べてみたら下記のルールでSQLコマンドを記せば良いと分かった。phpMyAdminから実行。
UPDATE テーブル SET カラム = REPLACE (カラム,"置換させたい文字列","置換したい文字列")
UPDATE `mt_entry` SET `entry_text`=REPLACE (`entry_text`,"sasapurin.com:8080","sasapurin.com")
UPDATE `mt_entry` SET `entry_text_more`=REPLACE (`entry_text_more`,"sasapurin.com:8080","sasapurin.com")
恐ろしい程あっさり置換出来てしまう。もちろんこの後でMTの再構築を行う。
ややヒヤヒヤする作業だったが無事に8080ポートの情報を変更することが出来た。
投稿者 sasapurin : 22:32
|Movable Type
, Network系
| コメント (0)
| トラックバック
| ![]()
かなり変則的な事に
このブログはVineLinux 3.2で稼働させていたのですが、もういい加減3系はマズイやろと、dist-upgradeした訳ですよ。そしたらVineがカーネルエラーを出して起動しなくなってしまった。
完全にヤバイ状態になってもう一ヶ月くらい放置(触れる時間的余裕なし)になっていたのですが、MTってそういえば静的ページを生成している筈だから、とりあえずWebサーバにアップしとけって感じでFreeBSDなWebサーバにアップしたですよ。
んでもって壊れてしまったVineサーバからは、ハードディスクを抜き出してUSB-IDEでマウント。幸いファイルシステムは壊れてないから取り出すことに成功したです。作業はKNOPPIXでやったけどやっぱ遅いね。もうKNOPPIXの時代は終わったと思うな。重過ぎるって。最低限のレスキューなLiveCDが欲しいもんだ。
その後も色々あった・・・
静的なコンテンツはファイルコピーで取り出せる。問題はMySQLに蓄積してある筈のデータである。こいつを抜き出すのには結構くろうしたのだが、結局Vine Linux 3.2環境でMySQLをセットアップし、データが蓄積されていると思われるファイル(データベースファイル)を慎重に同じディレクトリに保存。
なんかリカバリコマンド打ったと思ったけど忘れたや・・・
とにかくMySQLに読み込ませる事に成功して、WebminからSQL形式で書き出し。とにかく全てのデータベースを書き出した。これが最後のチャンスかも知れないからね。そんな感じでSQL形式では取り出した。
しかしどうせならそっくりそのままの状態をバックアップして起きたかった。なぜならHDDのアクセスに怪しいメッセージが返って来てたからディスククラッシュは時間の問題だと思った。それにパーミッションやらオーナー情報はそのまま残したかったから、USBメモリーをext2形式でフォーマットしてファイルを全てコピー。これは当分保存版のUSBメモリーになった。4GBほぼ満タン。
しかーし、ハードウェア側がUSB1.1なのでメチャクチャ遅い・・あきれる程遅い。COPYしているのを忘れてしまう位だ。やっぱ新しいハードウェアはいいやね。うちのは型遅れもいいところだからね。売っても値段つきませんって(苦笑
SQLで書き出したファイルは、作業用WindowsのXAMPP環境でMySQLに食わせる。XAMPPにはphpMyAdminが備わっているので作業は楽勝と思った。
引っかかったところと言えば、データベースのアクセス権限(特権)でlocalhost以外からのアクセスをキックしていた為、FreeBSD鯖からのSQLアクセスが拒否られていたことにしばし困惑。これはエラーメッセージから推測できたので自力対処可能であった。
問題はVine環境のMySQLでSQLに書き出したSQLファイルを、XAMPP環境のMySQLに食わせると文字化けすることであった。UTF-8にしているし、utf8_general_ciにもしている。上手くphpMyAdminでは文字化け無く取り込んだのだが、MovableTypeからアクセスするとブログ名などが既に全て文字化けして????となっているのだ。一体どういうこっっちゃ?
途中からMT側の問題じゃないか?と疑って調べてみたところ、参考となる情報が書かれてあるサイトがあった。
MySQLのインポート時に文字化け
http://www.add-info.com/mt/archives/001206.php
「新サーバへphpMyAdminでインポートすると日本語の照合順序が「latin1_swedish_ci」になってしまい、文字化けしてしまう」 というのが原因らしい。確かにlatin1ってのはなんで?と思う程遭遇した文字コードだ。今はそういう事にはなってないけど。
んでこれが決めてとなった
mt-config.cgi中の
SQLSetNames 1
行のコメントアウトをとって、無事完了。
ウチの3.36のmt-config.cgiにはこの記述は無かったのだが、早い話この記述を書けば有効になる訳だ。MTが対応していれば解消するんではなかろうかとね。
結果的にOKになった。ものの見事に。本当に感謝したい気持ちでいっぱいである。
なお、このエントリーを初投稿する訳だが本当に書き込めるのか(データベースに)は、投稿ボタンをクリックするまでヒヤヒヤである。さてどうなることやら。
PS
色々とひっかかる問題があったので一個ずつつぶしていく。とても書ききれない・・orz
投稿者 sasapurin : 21:11
|Movable Type
| コメント (0)
| トラックバック
| ![]()