user_sqlを使ってownCloudとRedmineを連携してみた
user_sqlというownCloudのプラギンを使うと、RedmineのアカウントでownCloudにログイン出来るように連携できるらしい
ということで試してみた。
2015/12/12 追記
- Redmine側でログインIDに大文字が入っていると、user_sqlで連携しているユーザがowncloudでログイン出来ない問題ですが、原因が分かりました。
- user_sql.phpの137行目、355行目に
strtolower($uid)
があるのですが、これのstrtolower($uid)
のstrtolower
を消して$uid
だけにするとログイン出来るようになります。 - ただ
strtolower
を外すことによってどんな問題が発生するかはまだ分かりません。 - とりあえず今のところは問題なく使えています。
2015/08/30 追記
- この方法でユーザの連携を行うと、一部のユーザがログイン出来ないことがわかった。原因はRedmine側のログインIDに大文字アルファベットが入っているとownCloudにログイン出来ないみたい。
- ownCloud側でユーザを確認するとログインIDがすべて小文字に変換されていて、その小文字に変換されているIDを使用してもログインすることは出来なかった。
- 一応Redmine側のログインIDをすべて小文字アルファベットで登録すれば連携に関しては問題ないと思う。 対策を考え中...
パッケージのダウンロードと展開
https://apps.owncloud.com/content/show.php/user_sql?content=155512
ここからuser_sqlをダウンロード
展開してコピー
$ sudo -u http tar fvxz user_sql-388830cefba7.tar.gz -C /usr/share/webapps/owncloud/apps/ $ sudo -u http mv /usr/share/webapps/owncloud/apps/user_sql-388830cefba7 /usr/share/webapps/owncloud/apps/user_sql
/usr/share/webapps/owncloud/appsディレクトリにぶっこむだけ
後はowncloudが勝手に認識してくれるわーい
ownCloudでの設定
左上のプルダウンから「アプリ」を選択
無効のタブの下の方に「SQL user backend」があるので有効に。
なかったらApacheを再起動すると出てくるかも
有効にしたら右上のプルダウンから「管理」
設定項目に「SQL」というのが追加されてるはず。
後は設定項目を入力していく。
分からないところはpsqlでRedmineのテーブルを見てそれっぽいのを選択
Connection settings SQL Driver : PostgreSQL Host : localhost Username : redmine Database : redmine Password : my_password
Advanced Settings Table : users Username Column : login Password Column : hashed_password Real Name Column : firstname Encryption Type : Redmine
とりあえずこれだけ設定すればRedmineのアカウントでログイン出来た。
注意点
/usr/share/webapps/owncloud/apps
にぶっこむディレクトリ名は、user_sql/appinfo/info.xml
の
<id>user_sql</id>
と同じにしなければownCloud側で認識はするけどアプリを有効にしようとすると No app name specified
って怒られる
http://stackoverflow.com/questions/21700112/no-app-name-specified-in-owncloud
ちなみにinfo.xmlファイルの
<name>SQL user backend</name>
がownCloudのappsに表示されるアプリ名
最初これを知らずにuser_sqlが無い無いと探しまわってしまった
参考 公式ドキュメント