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] # 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内の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