- 追加された行はこの色です。
- 削除された行はこの色です。
参照先~
[[ここ:https://qiita.com/ir-shin1/items/65b935b7a57787a76053]]~
redmine&Postgresを公式イメージで構築し、ActiveDirectoryでユーザ認証するまで。
* インストール作業 [#e82ab510]
** docker [#cfbb28fa]
# yum install docker
# systemctl start docker
# systemctl eneble docker
# systemctl status docker
** Proxy環境設定 [#tb02631a]
CentOS7 の 場合
# export http_proxy=http://192.168.10.251:8080/
# cp /usr/lib/systemd/system/docker.service /etc/systemd/system/
# vi /etc/systemd/system/docker.service
--------------
[Service]
......
Environment="HTTP_PROXY=http://192.168.10.251:8080"
Environment="HTTPS_PROXY=http://192.168.10.251:8080"
--------------
# systemctl restart docker
** イメージ取得 [#g2acd18f]
** イメージ取得~コンテナ構築~起動 [#g2acd18f]
# docker pull redmine
# docker pull postgres
# mkdir -p /srv/docker/redmine/postgres
# mkdir -p /srv/docker/redmine/redmine
# docker run -d --name=postgres-redmine -v /srv/docker/redmine/postgres:/var/lib/postgresql/data/pgdata -e PGDATA=/var/lib/postgresql/data/pgdata -e POSTGRES_PASSWORD=redminepwd -e POSTGRES_USER=redmineuser postgres
# docker run -d --name=redmine -p 81:3000 --link=postgres-redmine:postgres -v /srv/docker/redmine/redmine:/usr/src/redmine/files redmine
※docker内の80番ポートをホストの81番ポートに転送しています。
※docker内の3000番ポートをホストの81番ポートに転送しています。
** DockerコンテナのNAT追加 [#vbfdbf3e]
後述するLDAP認証する場合に、Docker内部のコンテナから外部サーバへアクセスするためNAT設定を追加する。~
CentOS7なのでfirewalldが動作しているのだが、Dockerはこれを迂回して直接iptablesをたたいているぽいのです。~
iptables -t nat -A POSTROUTING -s 172.17.0.0/16 -j MASQUERADE
* 環境設定 [#v5aef778]
** 初期ログイン [#p851f01b]
初期アカウントはadmin/adminになっている~
** デフォルト設定の変更 [#k4874e28]
管理 -> 設定 -> 表示 -> デフォルトの言語:日本語~
管理 -> 設定 -> 認証 -> 認証が必要にチェック~
** LDAP認証 [#h5fa58c6]
以下の前提で設定する~
- ドメイン:prosper2.local
- ADサーバ:192.168.10.231
- 情報システム部に所属するユーザのみRedmineにログイン可能
#ref(ad.png,nowrap,有効化,75%)
*** ldapsearchによる事前確認 [#e1211380]
したいんだけど、マルチバイトをldapsearchに引き渡すにはかなり面倒らしい。~
ので、OUはすっとばして、ユーザ名だけ取得できるか確認します。~
チェックしたいのは、下記の方です。
#ref(user.png,nowrap,有効化,75%)
# ldapsearch -x -D SEARCHUSER@prosper2.local -w SEARCHUSERPASSWORD -h 192.168.10.231 -b "dc=prosper2,dc=local" "sAMAccountName=inshi.dento" | grep -v ^# | grep inshi.dento
sAMAccountName: inshi.dento
userPrincipalName: inshi.dento@prosper2.local
mail: inshi.dento@prosper2.local
*** redmineでの設定 [#mb1bf19e]
管理 -> LDAP認証 -> 新しい認証方式 を選択
|名称|ドメイン名|
|ホスト|192.168.10.231|
|ポート|389|
|アカウント|検索ユーザ@ドメイン名|
|パスワード|検索ユーザのパスワード|
|ベースDN|OU=情報システム部,OU=本社,DC=prosper2,DC=local|
|あわせてユーザを作成|チェックする|
|ログインIDの属性|sAMAccountName|
|名の属性|givenName|
|性の属性|sn|
|メールアドレスの属性|mail|
保存して、「テスト」をクリックし、上部メッセージが「接続しました」となればOK
#ref(redmine.png,nowrap,有効化,75%)
なんの疑いもなく日本語でDN指定してるけど、完璧に動いてる!すごい!
#counter