MySQLとWordPressインストールのメモ

 Twitter連携機能を試したくて、学内Blogを復活させることにした。それなりの機能のものを、ということで、MySQLをインストールしてWordPressを入れた。すでに掲示板ではPostgreSQLが動いているしこっちの方が馴染みなんだけど、MySQL無しでは動かないアプリケーションもあるのでやむを得ず。

 で、案の定はまる。

 まず、この間新しくしたばっかりのFreeBSD portsコレクションから入れようとしたら、あちこちのディレクトリに関連ファイルがバラ撒かれる結果に。しかもデーモンが上がらない。バラ撒かれて何が困るかというと、PHPのコンパイルの前の設定で、
./configure –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql=/usr/local/mysql –with-pgsql=/usr/local/pgsql –enable-mbstring –enable-mbstr-enc-trans –enable-mbregex –with-libmbfl –enable-pcntl –with-zlib -with-openssl
とかやるんだけど、–with-mysql=の後のMySQLのベースディレクトリがどこなのかさっぱりわからないのが困るわけで。PHPまでportで入れていればいいんだろうけど、PHPはソースから入れてるわけで……。
 仕方がないのでMySQLのソースをダウンロードして、/usr/local/mysqlに入れる。関連ファイル全部この下にまとまってくれるという何だかお行儀のよいインストール結果に。で、PHPの再コンパイルをし、動くことを確認、と普段の掲示板にアクセスしたらhttpdがやたら重くなった。httpdを一旦止めて上げ直したら問題なかったのでやれやれ。
 MySQLは5.5から軽くなったということなので5.5を入れた。ところが、やっぱり最初からdaemonが上がらない。
 ログファイルを確認すると、
/usr/local/mysql/bin/mysqld: Table ‘mysql.plugin’ doesn’t exist
[ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.
とあるので、言われた通りにmysql_upgradeを動かす、つまり
/usr/local/mysql/bin/mysql_upgrade
を実行すると次のようなエラー。
/usr/local/mysql/bin/mysqlcheck: Got error: 2002: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) when trying to connect
FATAL ERROR: Upgrade failed

 もしかしてデータベースが無いからか?
 ということで、cd /usr/local/mysql してから/usr/local/mysql/scripts/mysql_install_db –user=mysql とやると特にエラーも無く成功し、daemonも上がるようになった。
 mysql_install_dbは、ベースディレクトリにcdして実行するか、コマンドラインでベースディレクトリを指定するかしないとエラーが出るので注意。
 ここまでいけば、ネットで探しながらMySQLのコマンドをぽつぽつ叩いて、rootのパスワードを設定、WordPress用のユーザーとデータベースを作って全アクセスを許可、とやって無事終了。

 便利ツールをいくつか入れて、さてツィッター連携を、と試してみたんだが……。どうもバージョンの不一致かあまりうまく動かない。
 まず、TweetBlenderは設定画面が出ない。ウィジェットには出るが、肝心の Archiveの設定ができないのであまり役に立たない。
 Tweet2Postsは、一番最初に出る設定の画面しか出ない上に、こいつを有効にすると、WordPressのプラグイン一覧で、Tweet2Postsの下に表示されているプラグインのどれを設定しようとしても、Tweet2Postsの1ページ目(?)の設定画面になって、他のモノまで道連れで設定できなくなるという……。
 SimpleTweetは、インストールも設定もできるが、投稿しても連携してくれない上に、投稿後のページが真っ白になる、という(でも投稿はできている)。