このサイトは、ずっと長い間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
↓
StaticWebPath http://blog.sasapurin.com/mt-static
★httpd.confの編集(バーチャルホストにmod_rewrite記述)
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ポートの情報を変更することが出来た。


コメント