先日のDB移転後の話し。
正規のドメインに移行した例のCMSサイト。某県立施設のウェブサイトですが、下位のディレクトリに展開し各部のチェックを進めておりました。
施設のウェブ担当者(可愛らしい女の子ですがお子さんがいることが判明ガーン)から電話がかかって参りました。彼女曰く
「まだ公開してなかったのか(by施設長)と言われましたんで、今夜急遽公開で!」
え、マジですか?
夕べも遅くまで寝かせてもらえなかったのに今夜もですか。
ハイ、中小企業経営者は奴隷みたいなものです。今夜も働かせていただきます。
さてさて、ガンバって文字の間違いなどを訂正し、頃合いをみて帰宅。
夕食後に子供たちを風呂に入れ、しばらく遊び相手をする。近頃は幼稚園児のチビまでがネットでゲームをしてまして、なかなか寝ようとしないんですな。歯を磨かせようやく寝かせようとベッドに入るも、夕食のビールの影響でしょうか、こっちが寝かされてしまいました。
ムクッと目覚めると早朝の3時。
よかったー、目が覚めて。。
早速Macに向かい、MTの管理画面から公開パスを変更する。
テンプレートや個別ページに直接書き込んである旧URLを置換し、再構築。すべてのページのリンクチェックをし終わったのが5時30分過ぎ。。
ふぅ。。よかたよかた!
正直なところ、大変でした。
だって、最初に打ち合わせしたのが昨年の6月。その後数回(僅かですけど。。)の営業活動の後決済が降りたのが今年の正月明け。そのあとから正式な内容の提示をうけサイト作成を開始しましたが、度重なる仕様変更。
もうね、最初とは全然違うもんね。
そのほかにもサーバ移転の躓いちゃったりね。
でもね、ウチみたいな小さい事務所に仕事くれた施設長とウチを後押ししてくれた担当の女性に感謝ですよ。だって、自治体の仕事(しかもまるごと1サイト)させてもらえるなんて、幸せなことですよ。
ぶっちゃけ、採算は合わなかったけど、いい経験でした!
今日も感謝!
そーいやこのブログのMTは個人無償ライセンスですが。
バージョンが5.0のママだったことを思い出した。
更新Pingのエラーが頻発(というか100%)していますのでバージョンを5.01にアップしてみました。
これでエラーがなくなればいいですなぁー!
続きを読む
MovableType OpenSource5.01で県立の施設のウェブサイトを構築してます。
○コーテク○シス○ムズが管理するサーバからウチのサーバへ移転する手続に手間取り(○コーテク○シス○ムズの怠惰)、猛烈に納期が遅延することが確定。しようがなく、手持ちのドメインを使ってサイト構築を進めていました。
このたび概ね仕上がったので、本来のドメインへデータを移すこととなりました。
MT4の時にやったことあるから楽勝!
なーんて思っていましたら、手こずることこの上無し。
ZIPで圧縮したデータを吐き出そうとしたら、cgi上の処理は完了するみたい。でも、生成されたファイル名とシステム上のファイル名が合致せずダウンロードエラーになってしまう。
どうやら、ファイル名「nafosiufpr(ランダムな文字列)」+「.zip(拡張子)」となるはずが、「zip.nafosiufpr」みたいに拡張子とファイル名がアベコベになってしまっているよう。
最初これがわかんなくて、半べそかいてしまいました。
FTPで接続してファイルを見つけだし、DLの後名前を変更するとちゃんと展開できる。でもそのファイルを使っての復元は×。
毛局システム上からバックアップできなくて、MySQLからエクスポートし新規のDBへインポートする荒技でクリア。
ココんとこは早いところ改善して欲しいと思っております。
もっとも、DBは移行できても手書きで入力した旧サーバのURLなどは置換する必要があるのでまだまだチェックはしなくちゃならんのですが。
のこるは僅か。
最後のキモの部分のメモ。
1、htaccessの設置
MAMPは本来cgi-binフォルダ以外ではcgiは動かない仕様となっています。
実際cgi-binに入れたMTOSを使用していたりします。
でも実際に納品するときはドメイン内のディレクトリに設置するのが普通となっているので、ここでも同様に設置できるように設定します。
以下の2行をテキストエディタで書いてhtaccess.txtとして保存します。
Options +ExecCGI
AddType application/x-httpd-cgi .cgi .pl
※最後に改行を忘れないよーに!
2、MovableTypeの設置
ボクは主に無償版のMTOSを使用しています。
http://www.movabletype.jp/opensource/
今回はMAMPのhtdocs内にmtos5というフォルダを設置したということにします。
以下がmt-config.cgiに書き込む内容になります。
CGIPath http://localhost:8888/mtos5/
StaticWebPath http://localhost:8888/mtos5/mt-static
ObjectDriver DBI::mysql
Database データベース名
DBUser ユーザー名
DBPassword パスワード
DBHost localhost
DBSocket /Applications/MAMP/tmp/mysql/mysql.sock
DBPort 3306
DefaultLanguage ja
DBSocketとDBPortが曲者で、この設定が無いとインストールできません。
早とちりのボクはココで立ち往生・・(ビール飲みながらだからだよ!)
ここでcgiが動くように先ほどのhtaccess.txtをmtインストールディレクトリへ移動。
.htaccessとリネームします。
ところが、普通にファインダー上でリネームしようとしても「.で始まるファイル名はシステムのみが使用できます」みたいなメッセージが出てリネームできません。
ターミナルを使うか、ftpツールなどを使ってリネームしましょう。
リネームするとファインダー上からは見えなくなります。
あとは、http://localhost:8888/mtos5/mt.cgiにアクセスすればインストールが始まります。
やったね!
参考エントリの筆者の皆様、ありがとうございました。
いやー、人様のエントリを参考にするのは簡単ですが、自分で書くのは何て面倒なんだ!
でも次回から迷わずできそうです。
いよいよココからが大切な部分ですよー。
ここではXcodeとMAMPはインストール済みってことで話しを進めます。
気が向いたらそのうちMAMPのインストールについては記事を書きます。
期待しないで待っていてね。
まずですね、MacPortsをインストールします。
The MacPorts Project -- Home
http://www.macports.org/
ご自身の環境にあったバージョンをダウンロードして下さい。
以下はほぼ紹介されていた内容と同じです。
1、MacPortsの初期化
ターミナルで以下を順番に入力&enterキー
echo 'export PATH=$PATH:/opt/local/bin:/opt/local/sbin/' >> ~/.bashrc
echo 'export MANPATH=$MANPATH:/opt/local/man' >> ~/.bashrc
echo 'source ~/.bashrc' >> ~/.bash_profile
sudo port -d selfupdate
sudo port -d sync
2、ImageMagicとPerlMagicのインストール
やはりターミナル。
sudo port install ImageMagick +perl
3、Perlのパスの書き換え
cd /usr/bin/
sudo mv perl perl.bak
sudo ln -s /opt/local/bin/perl /usr/bin/perl
4、DB関連のモジュールをインストール
ココで何気にエントリ全体を眺めてみるとコメント欄になにやら情報が。
p5-dbd-mysqlをインストールする前に、mysql5-serverをインストールしないといけないらしい?
ならば早速マネしてみよう。
sudo port install p5-dbi
sudo port install mysql5-server
sudo port install p5-dbd-mysql
sudo port install p5-dbd-sqlite
sudo port install p5-dbd-sqlite2
sudo port install p5-dbd-pg
調子に乗って使う宛も無いSQLite2やPostgreSQLまでインストール。
ムダなことを!
5、オプションモジュールのインストール
参考エントリの筆者BUNさんはmt-check.cgiの結果を確認しながら作業されたようですが、ボクは横着者なのでエントリの記事を鵜呑みにまんまマネします。
sudo port install p5-gd
sudo port install p5-crypt-dsa
sudo port install p5-archive-zip
sudo port install p5-xml-atom
sudo port install p5-mail-sendmail
ここまでやって、mt-check.cgiで確認。
MySQLもきちんと使えるよになっているみたい。
幸せな気分ですー。
えーと、MAMPでMySQLを使うためのあれこれ実際について。
ココのエントリはうまくいかなかったことについて書いてますので、「アキってバカだな・・・」と笑い飛ばす程度のつもりでご覧下さい。
ってか、お急ぎの方はどーぞお次のエントリへ。
まあさてと、検索の結果出てきたページを上から順に見るのがボクの性。
Google1位のサイトはこちらでした。
http://aeolus.jp/higuma/2009/01/d-22.html
ちょっと読むと「先の記事」ってありますのでそちらを先に読んでみる。
http://aeolus.jp/higuma/2008/10/d-16.html
このエントリのステップを順番にこなしていこう。
非常に丁寧に解説して下さってますんでまずはマネしてみます。
指示通りにDBIをダウンロードしデスクトップで解凍。
最初のステップは以下のとおり。
cd Desktop/DBI-1.609
perl Makefile.PL
make
make test
sudo make install
※実際のエントリとはDBIのバージョンが違っています。
ふー、どやら大ジョブのようです。
続いて次のステップ。
sudo mkdir /tmp/mysql-lib
cd /usr/local/mysql/lib
sudo cp *.a /tmp/mysql-lib
となっておりますが、2番目のcdコマンドでファイルかディレクトリが見つからんよ。とクレームをいただきました。
何度も試してみますが残念ながら進展なし。
弱っちぃボクはここでうなだれて、冷蔵庫へビールをとりに行ってしまいました。
がっくりきて、他の検索結果へ移動してみますが、どれもこのエントリを参考にしてうまくできた!って書いてあります。
だから検索結果1位なんでしょうなぁ・・
とシロートっぽいことを平気で行ってみたりします。
なんでダメなんだろ?
真剣に考えないのがボクのいいところ。
回答になりそうなエントリを探してみます。
Google1ページ目最後にあったのがこのエントリ。
http://www.7-st.com/2010/01/entry67.html
ああ、神よ。
汝は我を見放さなかったか。(感謝)
このエントリ自体は特に解説等の内容は一切ないのですが、紹介されていたエントリがまさにボクの求めていたものだったのです。
MovableTypeの開発環境についてメモ。
MovableTypeテンプレート作ったりするとき、ネットに公開したウェブサーバではなく、ローカルの環境で作っています。まあ、あまり気にせずSQLiteで動かしていたわけですが、このところちょっと困っています。
MT5はDBについて、開発元であるSixapart社はMySQLしかサポートしないって明言したからなんですな。
まあ、とにかく今後はMT5ベースでの開発をしなくちゃならん、ということです。
ローカル環境はMAMPで構築してあります。
MySQLもインストールされてイるはず。
というか、パッケージになっている。
ところが、実際にインストールしてみるとウィザード画面でMySQLが選べない。
モジュールのチェックをするとデータベースドライバが無いと申しておられます。
メンドイな。
ブログのテンプレートを作るだけならこれまでのMT4でも無問題なのですが、MT5にはブログとは別にウェブサイトってのがあります。
えーとですね、ウェブサイトの中にブログを入れるようになっております。
あ、分かりにくい?
ボクは日本語が苦手なのでわかんないところがあっても気にしないで下さい。
ってことは、ウェブサイトのテンプレートとブログのテンプレートを別に作らなくちゃイカン。
っつーことで、ローカル環境にMySQLを導入することにしました。
まずは情報収集。
Google先生に「MAMP DBD::mysql インストール」などと質問してみる。
いろいろとブログなりができますが、どれも途中でつまずいちゃう。
情報が古かったり、このくらい分かってるだろうってことで説明を端折っていたり。。
んで、いろいろと試しながらなんとかデキタ。備忘録を兼ねてちょっとまとめてみることにしました。