SnipSnap + MySQL 5.0 メモ

SnipSnap は、Java で書かれた blog + wiki エンジン。データの保存先は、デフォルトではファイルなんだけど、JDBC 対応の DB に入れることもできる。というわけで、MySQL 5.0.15 を使ってみた。

前提

めんどくさいので、以下はインストール済みだってことにする。

ちなみに、MySQL 5 のセットアップ中、デフォルトの文字コードUTF-8 を選んでいる。

あと必要なもの

  • SnipSnap 1.0b2-uttoxeter (war 単体のやつ)
  • MySQLJDBC Driver である Connector/J 3.1

手順

  1. MySQL Administrator を起動し、スキーマとユーザだけ作っておく。ユーザに権限をすべて追加しておく。
  2. Tomcat の webapps に snipsnap.war を置く。
  3. snipsnap.war を展開して、WEB-INF/lib に、Connector/J の jar ファイルを置く。
  4. Tomcat 起動する。
  5. ログにキーコードが出力されるので、http://localhost:8080/snipsnap?key=キーコード をブラウザで開く。
  6. 最初のページで、データの保存先を聞かれるので、[File Storage] に "MySQL Database Server" を選択 (ちょー手抜きの時の設定例は以下の通り)。残りのセットアップは、通常と同じ。
JDBC URL
jdbc:mysql://127.0.0.1/snipsnap
Database Driver
com.mysql.jdbc.Driver
Database User
snipsnap
Database Password
snipsnap

[2005-10-28 追記] 初回の設定が終わって "Start SnipSnap" ボタンを押すと、SnipSnap のトップページ (http://localhost:8080/snipsnap/space/start) が表示される。ここで一度、Tomcat を再起動するのがお勧め。理由は下記を参照。

www.toyfish.blog

MySQL Administrator でやること、もうちょっとくわしく

  1. 左上のリストで [Catalogs] を選び、左下を右クリックして [Create New Schema] を選択。名前を聞かれるので、snipsnap とか適当につける。
  2. 左上のリストで [User Administration] を選び、左下を右クリックして [Add new User] を選択。右半分が入力できるようになるので、[MySQL User] にユーザ名 (snipsnap とか)、[Password] にパスワードを入れる。続けて [Schema Privileges] に移動し、先ほど作った snipsnip スキーマを選択。[<<] ボタンを押すと、snipsnap スキーマに対する権限がすべて追加されるので、右下の [Apply Changes] を押す。

Tomcat でやること、もうちょっとくわしく

次は Tomcat の側。webapps の下に snipsnap.war を置けばいいのだけど、展開されるディレクトリのうち WEB-INF/lib に Connector/J の jar ファイルを置く必要がある。これは好きな方法でいい。war の中に jar を足してから webapps の下に置くとか、Tomcat を一旦起動してから停止し、展開された webapps/snipsnap/WEB-INF/lib に jar ファイルを置いてもいい。
Tomcat を起動した後は、SnipSnap の通常のセットアップと同じで、ログに出力されたキーコードを使ってセットアップ用ページに接続する。
最初の "Database" という画面に [File Storage] という項目があるが、Connector/J がちゃんと置けていると、選択肢に "MySQL Database Server" が追加される。当然これを選択。すると、設定項目の入力欄が表示されるので、それぞれ入力する。

データの移行

File Storage から MySQL に移行する場合は、以上の手順を行う前に、

  1. 管理者でログイン
  2. 設定画面を開き、Export Database でデータを 1 つの XML ファイルに吐き出す

ということをしておく。で、今まで使っていた webapps/snipsnap は一旦退避して、新しくセットアップしなおせばいい。たぶん。

[2005-10-28 追記] 初回起動直後に設定画面を開くとバグるみたいなので、インポートする前に Tomcat を再起動するのがお勧め。理由は下記を参照。

www.toyfish.blog

参考

今回はこの記事を参考にした。

SnipSnap - SnipSnap on MySQL
http://snipsnap.org/space/SnipSnap+on+MySQL

記事中には jdbcpool.jar が必要だと書かれているが、今回は必要なかった。