WordPressに限ったことじゃないんだけど、他人さまの翻訳ファイル(.mo)を使わせていただいていて、「ちょっとここの訳はなぁ」と思うこともたまにはあると思います。
明らかな間違いだったら、作者に教えてあげるのが親切だと思いますが、自分が使いたい用途が少し特殊で、そのときだけ「こういう言い回しになっててほしいな」ということもあるんじゃないでしょうか?
そういうときに、.poファイルがついていれば、Poeditでオレオレ翻訳ファイル(.mo)を作ってチョチョイのチョイでいいんですが、往々にして作者の方はそこまで親切じゃないので、バイナリの .moファイルだけしか付いてこないという場合も結構あります。
そういう場合は、コレ(↓)。
cd C:\Program Files\Poedit\bin\
msgunfmt.exe C:\tmp\hoge.mo -o C:\tmp\hoge.po
これで .poファイルが手に入ります。あとは Poeditで好きにするだけ。
保存のときにこんなエラーが出ますが、.moファイル自体はちゃんと作られてます。
5:07:20: C:\tmp\hoge.po:269: message catalog has plural form translations...
5:07:20: C:\tmp\hoge.po:2: ...but header entry lacks a "plural=EXPRESSION" attribute
5:07:20: C:\tmp\hoge.po:269: message catalog has plural form translations...
5:07:20: C:\tmp\hoge.po:2: ...but header entry lacks a "nplurals=INTEGER" attribute
5:07:20: msgfmt: found 2 fatal errors
moファイルを修正
WP TipsWordPressに限ったことじゃないんだけど、他人さまの翻訳ファイル(.mo)を使わせていただいていて、「ちょっとここの訳はなぁ」と思うこともたまにはあると思います。
明らかな間違いだったら、作者に教えてあげるのが親切だと思いますが、自分が使いたい用途が少し特殊で、そのときだけ「こういう言い回しになっててほしいな」ということもあるんじゃないでしょうか?
そういうときに、.poファイルがついていれば、Poeditでオレオレ翻訳ファイル(.mo)を作ってチョチョイのチョイでいいんですが、往々にして作者の方はそこまで親切じゃないので、バイナリの .moファイルだけしか付いてこないという場合も結構あります。
そういう場合は、コレ(↓)。
これで .poファイルが手に入ります。あとは Poeditで好きにするだけ。
保存のときにこんなエラーが出ますが、.moファイル自体はちゃんと作られてます。
WordPress3:ビギナー向けTips-1
WP Tips, WP3いままで、WordPress-mu 2.7 でサイトを構築していたので、WordPress 3.0.1 にしたら、テーマ関係がガラッと変わっていてびっくり。DB回りは大して変わってないのに。
というわけで、『ええー、こんなことも知らないの?』ということを中心にメモっていきます。
WP3には子テーマというやつができたらしい。いままで使いたいテーマをコピーして、それをシコシコ直していたんだけど、それはお行儀悪いから『親は誰それで、自分は誰それの子供です』と宣言して使うようになったらしい。なるほど、PHPerにも倫…(以下自主規制)
詳しくは、子テーマを見てもらうことにして、簡単にいうと、/wp-content/themes の下に子テーマのディレクトリを作って、その中に style.css を入れればいいと。
そんでもって、style.css の頭にこう書いておくと。
これで、WP3デフォルトの twentytenの子供ですよということです。うんじゃ、テンプレート自体直したいときはどうすんのというのはまた別で。もちろんできます。
これは、親テーマの前に読み込まれるようになっています。同じ名前があった場合、親テーマの関数が、こういうのをちゃんとやってくれてると二重定義になりません。
子テーマに出ていたサンプルはまさにいつもいつも使うやつなので、助かりました。こうやってやればスマートなんだ。
サンプルの favicon.ico はルートでしたが、通常は子テーマの中に置くので(マルチサイトなので)、ディレクトリを付けておきました。
従来の ’template_url’ だと親テーマ(この場合、twentyten)のディレクトリをもってくるのでNGです。
WordPress3:マルチドメイン対応
WP Tips, WP3重い腰を上げて、WordPress 3.0.1をインストールしました。インストール自体はいつにも増して簡単です。
ただ、2.9 by PostgreSQL はコアに手を入れすぎているので、アップデードはできそうになく、エクスポートを試みましたが一瞬でエラーになったので、やらなくてよかったなぁと。
2.7.1 by MySQL は、以前 2.9 にアップデートしようとして失敗した覚えがあるので、これも無理っぽいかなと。こちらはエクスポートできるので、地道に1つずつ移していけばいいかな。
ということで、普通に WordPress 3.0.1を新規インストールしたので、それをマルチドメイン対応にしていきたいと思います。
WordPress 日本語ローカルサイトからダウンロード。パーミッションとかをすごく気にしないといけないわけではないので、.zipで解凍したものをサーバに持っていってもいいと思います。もちろん、.tar.gz を wgetするのが正統派ですが。
MySQLに新しいDBをクリエイトしておきます。
ダウンロードしたファイルを解凍すると、ルート・ディレクトリに wp-config-sample.php があります。これをエディットして、以下のところを修正して、wp-config.php として保存します。(他のところはデフォルトのままでOK)
認証用ユニークキー(’AUTH_KEY’ ~ ‘NONCE_SALT’)は、WordPress.org の秘密鍵サービスを使って変えておきましょう。
WordPressをインストールするためには、/wp-admin/install.php をブラウザで開かないといけないので、WordPressのファイルを置いたサーバのディレクトリを DocumentRoot にする Apacheのエントリ(ドメイン)を作らないといけません。
ここでは、hoge.jp でアクセスにいくと、/home/www/wordpress3/ を見に行くようにしました。Apacheの再起動は忘れずに。(restartでなくて reloadでいいと思うけど)
http://hoge.jp/wp-admin/install.php でOKです。
WordPress3ではネットワークと呼んでる機能です。ざっと見たところ、WordPress-muと変わりありませんね。WordPress本体にマージされたということが重要なんでしょうね。
さて、ネットワーク機能を使用するためには、wp-config.php に以下の記述を追加します。
そうすると、ダッシュボードの「ツール」に「ネットワーク」が追加されます。
・「サブドメイン」にするか「サブディレクトリ」にするか ・・・ うちはいつも「サブドメイン」です。(好き好きですが)
・「ネットワークのタイトル」 ・・・ あとで変えられます。
・「管理者のメールアドレス」 ・・・ あとで変えられます。
これだけ設定して「インストール」を押すと、次のステップが表示されます。
これでネットワーク関係はOKです。
ネットワークを入れただけだと、http://hoge.jp や http://ore.hoge.jp 、http://dare.hoge.jp など、複数のブログを管理することができるようになりますが、マルチドメインになったわけではありません。
そこで、WordPress-muの文字通りのドン、donnchaさん作のプラグインを導入します。プラグインは新規追加で「WordPress MU Domain Mapping」を検索すれば出てきますから、いつもの手順通りにどうぞ。
インストールしただけだと有効化しないので、以下2点を忘れずに。
1.プラグインディレクトリの wordpress-mu-domain-mapping/sunrise.php を wp-content ディレクトリにコピー
2.define( ‘SUNRISE’, ‘on’ ); を wp-config.php に追加
時間切れなので、あとは注意点のみ。
・サイトを追加するときは、「サイトのアドレス」として、サブドメインを指定するが、独自ドメインにMappingしたあとは、使わなくなってしまうので、あまり名前付けに神経質にならなくてもよい。
・WordPress MU Domain Mapping の Domains で実際に割り当てる独自ドメインを指定する。
・Apacheの設定はもちろん必要。
phpMyAdminのインストール
Etc, サーバ管理今更ながら、phpMyAdmin をインストールしてみました。
いままで敬遠していたのは、PHPダサいなぁと思っていたことと、phpMyAdminを入り口にしてセキュリティが甘くなったら嫌だなぁということだったんですが、WordPressにこれだけお世話になっておいて、PHPダサいはないだろうと。あと、セキュリティについては、ルーターの外から入れないようにしとけばいいんじゃね、ということで手順と若干の注意点です。
現時点の最新安定版は、phpMyAdmin-3.3.5.1-all-languages.tar.gz でした。
tarで解凍するとバージョンも含んだ長い名前のディレクトリができちゃったので、リネームしました。
あと、Apacheのユーザが実際の読み書きをするので、ディレクトリごとオナ―を変えちゃいました。
あとは標準のままでいけます。
192.comは自分ででっち上げたドメインです。(本物の192.comはどこか別のところを指すはず)
お気軽にこのドメインを hostsファイルに登録して自サーバに振り向けておきます。(そうはいっても万が一、外から入ってこられたときのために内部LANだけ allowしておくと)
$cfg[‘PmaNoRelation_DisableWarning’] = true; の設定でエラーはでなくなりますが、拡張機能らしいのでちょっと使いたくなって、いろいろとやってみたのですが、最初の項目(pmadb)はOKになるんですが、それ以降はすべて NGで一向に進展がないため、あきらめました。忘れたことにやってみるかも。⇒ 参考サイト:phpMyAdminのインストール
こちら(↓)はインストールとは関係ありませんが、参考まで。
MySQL + phpMyAdmin によるバックアップ
HyperDB
WP Tips, サーバ管理なぜかあまり日本語での情報が少ない『HyperDB』ですが、負荷分散だったり、フェイル・オーバーだったりは、大切なことだと思うのです。
WordPress3.0にアップグレードするときには、HyperDBもセットで入れます!という決意表明です。
RT-200NEのバカぁ
サーバ管理タイトルは、もちろん親しみをこめて書いてますよ。
うちのルータは、NTTの RT-200NEというやつなんですけど、これがなかなか曲者なんです。
やりたいことは『WANに 2IP用意して、どっちのIPで入ってきても、同じサーバが応対する』ということなんですけど、ボクがバカなのか、RT-200NEがバカなのか、わかりませんが、うまくいきません。
言いたいことがうまく書けませんが、つまり、『外部からアクセスに来たIPに対して、その経路で応答を返す』ことを期待してるんですけど、静的ルーティングを書かないと、『どこからきたアクセスであろうと、常に』優先IPに対して応答を返しているようなんです。なんで、こんな仕様になってるのか。(ほんとか、ほんとか、俺が知らないだけじゃないのか?)
こんなこと、するやついないから、こうなってるのかなぁ。
参考:
RT-200NE 機能詳細ガイド
DNSラウンドロビン
DNS でラウンドロビンは当てにならない。