エントリー

URL変更でドタバタする

  • 2016/06/03 12:14
  • カテゴリー:備忘録

 個人が自宅にサーバーを立てて公開するという話は,以前よりも聞かなくなったように思います。かつての牧歌的な時代ならともかく,今どきマシンをネットに繋ぐと5秒でセキュリティホールを探しに来る奴がいるというのですが,これはもう素っ裸で銃弾飛び交う最前線に飛び出すようなものです。

 自宅にサーバーを置いたからと言って,別にお金がかからないわけではないし,信頼性はむしろ低く,速度も遅ければ容量も限られていて,バックアップもきちんと撮られていないからトラブルでコケると復旧に忙殺されるしで,なにもいいことはありません。

 それでも自宅でサーバーをたてているのは,自分で管理が出来る面白さと,何でも出来るという可能性,そして自分の実力で手に負えない物はすっぱりあきらめるという自由があることが,大きいと思っています。

 そもそも,私が自宅で運用しているのは,それまで利用していたYahoo!JapanのWEBサービスだった「ジオシティーズ」の,個人情報に関する規約に疑問が提起されて当時大きな反発を呼んでおり,広義の意味も込めて離れる人が多かったからです。

 なんかまあ,これも非常に牧歌的だなあと今にして思うのですが,私もこのムーブメントに同調し,ジオシティーズから離れたのでした。

 このことの是非はともかく,なにかと窮屈だったジオシティーズから自分の契約するISPが用意したWEBサービスに乗り換えようと思ったのですが,これが私の別の要件で使われていて,すぐには移行できないことが分かっていました。

 そこで,とりあえず余ったPCにWindowsを入れて,これで簡単なWEBサーバーを立てることにしたのが事の始まりです。このころのWEBは,サーバー側もクライアント側もまだまだ進化の途中で,加速度的に向上するハードウェアの処理能力と次々に実装されるOSの機能とAPIに,新しく出来る事が現れては消えを繰り返す時代でした。

 そんな中,最初のマシンは確か富士通のB5ノートで,MMXPentiumの133MHzに8MBのメモリ,1GBかそこらのHDDだったんじゃないかと思います。OSはWindows2000でした。WEBサーバーはIISで,DyndnsにDNSをお願いし,DiCEで自動更新するというスタイルでした。ああ懐かしい・・・というか,この素っ裸っぷりが,危険という前に恥ずかしいレベルです。

 ・・・えと,言い訳させて欲しいのですが,当時はみんなこんなもんで,素っ裸かパンツ1枚かの違いくらいはあったと思いますが,ちゃんとした服装にするためだけに高価なマシンのリソースをほぼ使い切るような時代でしたから,素人には非現実だったんです。

 その後,何度かマシンを更新し,WIndowsベースからLinuxベースにサーバーを更新して運用していたのですが,幸い大きなトラブルもなく,現在に至っています。当時はCGIとかPerlとか・・・,ああ懐かしいですね。

 そのころから,ダイナミックDNSを使わせてもらっていましたが,老舗のDyndnsを使っていたのはそれが雑誌に出ていたからで,特に理由はありません。長く使っていて,自分のURLに親しみもあったのですが,有料になってしまって,やめることにしました。

 ドメインの変更は自分が辛抱すると言うより,利用する人が不便を強いられることになりますから,なかなか思い決断ではあったのですが,他に無償のサービスがたくさんある中で,わざわざ同じ程度のサービスをお金を払って運用するほどの価値もないという判断で,次に乗り換えたのでした。

 それから数年,クラッカーに便利な道具になっているとか,そもそも自宅サーバーは踏み台になっているとか,そもそも利用者が減っているんじゃないかとか,そういう逆風が福中でダイナミックDNSも廃止あるいは有償化される流れが目立って来たように思います。

 no-ipがマイクロソフトに濡れ衣を着せられた数年前の事件をきっかけに,私も別の安定したダイナミックDNSを使いたいと思っていたのですが,幸いネットワーク機器のメーカーであるプラネックスが,自社のWEBカメラ用に提供してくれていたCyberGateというサービスを使うことにしましたのが,今年の2月だったと思います。

 安定して動いているなあと思っていた所,4月にはサービス終了のお知らせが届き,今年7月末に終了されることになりました。またドメイン難民です。

 難民が一斉に出てくるちょうどこのタイミングでgoogle先生に落ち着き先を尋ねて見ると,MyDNSがいいよと教えてくれました。なるほど,良さそうなのですが,ちょっと試してみると,一部のゲートウェイで弾かれてしまうことがわかり,ケチが付いてしまいました。

 断定してはいけませんが,セキュリティに手を抜かない人達が,お金をかけて「はじく」んですから,やっぱりそれなりに危険性があると見るべきでしょう。どんな世界でも完璧はありませんが,そんな中でもわざわざ「危ない」といってる人がいるものを,使う事もないように思いますし。

 さて,万策尽きたように思ったのですが,私が使っているNASには,DDNSサービスが提供されています。今までなんとなく避けていたこのサービスを,思い出したように使ってみることにしました。さらに調べて見ると,SSLの証明書も38ヶ月で50ドルと,なかなかリーズナブルに提供されていることもわかりました。

 しかし,freoでドメインを変更するのは初めてです。ちょっと調べて見たのですが,移行の仕方がどうもはっきりしません。初めて設置する際に設置パスを記述するのですが,設置後に変更する方法が見つかりません。

 そこで,いろいろ試行錯誤をして,動くようになりました,

(1)config.phpとcommon.jsのパスを書き換える。私の場合common.jsは書き換えなくてもよく,config.phpの設置パスを書き換えるだけでよかった。

(2)ローカルからのアクセスのために,dnsmasqの設定を変更し,新しいドメインでNASのローカルアドレスが返るようにしておく。

(3)この段階で,とりあえずfreoは動きだした。外部からのアクセスでは画像が出ないだけで検索も出来るのだが,内部からのアクセスではなぜか文字しか出てこない。フレームも壊れている。実はこの時,夕食のレシピ(豚の角煮)を見ることが出来ずに,夕食が30分ほど遅くなってしまった。

(4)dnsmasqを再起動し,キャッシュをクリアし,クライアントも再起動して画像以外は出るようになった。

(5)問題は画像が出ないこと。まず,メディアの管理から画像を参照できるかどうかを調べて見たところ,アクセス出来ない事が判明。そこで新しいファイルをアップロードし比較をしたところ,オーナーが違っていた。サムネール画像も含め,アクセス出来ない画像すべてのオーナーを変更することで,メディア管理からアクセスが出来るようになった。

(6)それでも記事中の画像は出てこない。記事の編集画面で,画像のリンク先を確認すると,見事に古いURLの絶対パスでリンクされていた。しかし,1000枚近くもある画像のリンクすべてを,新しいURLに書き換えるなんてことは現実的に不可能・・・これで詰んだように思われた。

(7)記事のファイルを直接編集し,一斉置換をすることを考えたが,よく考えたらfreoの記事の管理ってどうやってるのか知らなかった。SQLLiteを使ったデータベースで管理しているのだが,記事のファイルはどうやらfreo.dbらしい。

(8)どうせURLなんてテキストだし,直接エディタで開いて置換すればいいさ,と試したところ,やはりダメ。バイナリも入ったファイルなわけで,編集してしまえばそりゃ別物になるわな。

(9)試しにエディタで編集を一際せず,そのままアップロードしたところ,問題なく動いている。うちはSQLite3を使っているので,freo.dbを直接ダウンロード/アップロードしても動くらしい。MySQLだとダメということなので,危ないところだった。

(10)freo.dbを得意のバイナリエディタを使って一斉置換をするか考えたが,文字数が変わってしまうと,文字数を記述した部分も変えないといけないし,フォーマットが崩れてしまうこともそりゃあるだろうということで,結局この方法は危ないので断念することに。

(11)ならばfreo.dbを直接編集できるエディタを使えばいいんじゃないかと思ったが,ドメインの再設定を行うツールも含めて,そんなものは見つからなかった。ああ万策尽きた。

(12)ふと,プラグインにインポートとエクスポートがあることを思い出した。もしかしたらエクスポートで書き出した物をエディタで編集し,インポートするという作戦があるかもと,早速試す。

(13)エクスポートしたファイルはSQLファイルという事なので,テキストエディタで編集可能のはず。そこでこのファイルをエディタで開いて新しいURLに一斉置換,これをインポートしてみる。ファイルサイズはほとんど変わっていない。

(14)ドキドキしながら試すと,画像が表示された。よかった,うまくいった。


 ということで,知っている人にとっては,寝ている間に出来てしまうような簡単な話だと思うのですが,どうにかこうにかURLの変更が出来ました。それにしても,記事のリンクに絶対パスを張り込まれてしまうと,せっかく動的にHTMLを生成するPHPなのに,なんで環境変数からリンクを動的に生成しないのかと,ちょっと疑問が残ります。

 まあ,私の専門分野じゃありませんし,うまく動けばいいってことで。

 SSLの証明書も購入し,インストール。これで安全に繋がるようになりました。

 確かに,こうした話ではまり込んでしまうことも相変わらずありますが,問題の解決にはそんなに時間がかからなくなっているなという印象です。これはツール類が良くなっていること,ノウハウの蓄積があって検索すればすぐに解決策が見つかること,そしてトラブルの原因が集約されたり,予想外のトラブルが少なくなってきていることがあるように思います。

 昔は,理屈通りにいかないとか,書いてあることと違う結果になったとかで,そこから手探りになることが多かったように思うのですが,今はそんなこともなくなっているような印象です。

 あまりありがたい話ではありませんが,これからはURLが変わっても,もう大丈夫でしょう。
 

ページ移動

ユーティリティ

2020年05月

- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 - - - - - -

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

新着エントリー

過去ログ

Feed