何気に6系は初めてだったりする。
いつものようにMySQLでデータベースを作成
mysql> create database confluence_demo_20171205 default character set utf8 ; Query OK, 1 row affected (0.01 sec)
で、confluence/WEB-INF/classes/confluence-init.properties にconfluence.homeを設定してインストールWizardを走らせる。
MySQLを選択したら
Confluence needs a driver to connect to MySQL. You'll need to: Download the MySQL driver Drop the .jar file in /home/confluence/xxx/confluence/WEB-INF/lib Restart Confluence and continue the setup process.
とか言われてしまった。しまったうっかりとお約束のMySQLのJDBCを入れ忘れ。
Database JDBC Drivers - Atlassian Documentationに従って、MySQLのJDBCドライバをOracleからいただきまして、/home/confluence/xxx/confluence/WEB-INF/libに入れてConfluenceの再起動
MySQLの設定
JDBCを入れて再度Wizardを進めると、Databaseのテスト接続で
Collation error The database collation 'utf8_general_ci' is not supported by Confluence. You need to use 'utf8_bin'. Learn more
と言われてしまった。
https://confluence.atlassian.com/confkb/how-to-fix-the-collation-and-character-set-of-a-mysql-database-670958160.htmlによると、ちゃんとCollationまで気にして作らないとダメっぽい。
ということで、作り直し。
mysql> drop database confluence_demo_20171205; Query OK, 0 rows affected (0.05 sec) mysql> create database confluence_demo_20171205 default character set utf8 collate utf8_bin; Query OK, 1 row affected (0.00 sec)
まだだめっす
Incorrect isolation level Your database must use 'READ-COMMITTED' as the default isolation level. Learn more
なんだこれは?
なんか、MySQL3.5からおかしかったらしいけど、なんか使えてたのがダメにされたっぽい。
詳細はConfluence fails to start and throws 'MySQL session isolation level 'REPEATABLE-READ' is no longer supported' error - Atlassian Documentationのあたりを読んでくれということで、結局my.cnfの[mysqld]セクションに
[mysqld] transaction-isolation=READ-COMMITTED
という一行を付け加えてMySQLを再起動。
更にダメッす
これで一応最後まで行った…。とおもいきや。
なんか日本語が化けている。Confluenceのページ内は大丈夫だけどスペース名とかページタイトルが文字化けしてる。
んー、なんだこれはと思ったら、そういえば、以前のConfluenceのJDBCのDSNを決めるときって「useUnicode=true&characterEncoding=UTF8」とかつけてたよな…と思い出す。
一旦全部アンインストールして、DBのセットアップで「Setup type」を「By connection string」にしてさっきの文字を追加してやる。
jdbc:mysql://localhost/confluence_demo_20171205?useUnicode=true&characterEncoding=UTF8
ここまでやってようやく成功。