RedmineとGitのLDAP(ActiveDirectory)認証設定
RedmineとGitのユーザ認証をActiveDirectoryに登録しているユーザで認証連携させる方法を説明します。RedmineのLDAP認証
■Redmineの管理メニューに[LDAP認証]をクリックする項目 | 説明 | 設定値 |
---|---|---|
名前 | 任意の名前 | TEST用LDAP |
ホスト | LDAPサーバのホスト名 | 172.20.1.204(DCサーバ) |
ポート | LDAPポート番号(デフォルトは389) | 389 |
LDAPS | ディレクトリにLDAPSでアクセスしたい、もしくはLDAPSが要求される場合はチェックしてください。 | - |
アカウント | LDAPの読み取りアクセスが可能なユーザーを入力してください。匿名アクセスが許可されている場合は、この欄は空白にします。 | tmpad\testredmine |
パスワード | アカウントのパスワード | - |
検索範囲 | 検索を許可するLDAPディレクトリツリー | OU=web-clients,DC=tmpad,DC=dev,DC=basis |
あわせてユーザーを作成 | ActiveDirectoryユーザがRedmineに未登録の場合、Redmineユーザを作成する | チェック |
属性 | Redmineのユーザ名として使用するLDAP属性 | - |
ログイン名属性 | sAMAccountName |
---|---|
名前属性 | givenName |
苗字属性 | sN |
メール属性 | |
GitのLDAP認証
RedmineのLDAP認証設定に引き続き、GitのLDAP認証も行っていきます。Auth::Simple | EPEL testing リポジトリからRPMファイルを入手してインストール |
---|---|
CPANサイトからインストール(要インターネット接続) | |
Auth::Simple::LDAP | CPANサイトからインストール(要インターネット接続) |
# yum install perl-LDAP perl-Params-Validate perl-Module-Runtime \ perl-Module-Implementation perl-Class-Accessor perl-Class-Data-Inheritable \ perl-Crypt-PasswordMD5 perl-Test-Simple
# yum --enablerepo=epel-testing install grep perl-Authen-Simple
# yum install perl-CPAN perl-YAML・[Auth::Simple::LDAP]のインストール
# perl -MCPAN -e shell cpan[1]> o conf prerequisites_policy follow prerequisites_policy [follow] Please use 'o conf commit' to make the config permanent! cpan[2]> o conf commit commit: wrote '/usr/share/perl5/CPAN/Config.pm' cpan[3]> install Authen::Simple::LDAP CPAN: Storable loaded ok (v2.20) CPAN: LWP::UserAgent loaded ok (v5.833) Warning: no success downloading '/root/.cpan/sources/authors/01mailrc.txt.gz.tmp29553'. Giving up on it. at /usr/share/perl5/CPAN/Index.pm line 225 Appending installation info to /usr/lib64/perl5/perllocal.pod CHANSEN/Authen-Simple-LDAP-0.3.tar.gz /usr/bin/make install -- OK
vi /etc/httpd/conf.d/vcs.conf
PerlLoadModule Apache::Authn::Redmine # Gitの設定 PerlLoadModule Authen::Simple::LDAP SetEnv GIT_PROJECT_ROOT /var/opt/alminium/git SetEnv GIT_HTTP_EXPORT_ALL SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/ <Location /git/> PerlAccessHandler Apache::Authn::Redmine::access_handler PerlAuthenHandler Apache::Authn::Redmine::authen_handler AuthType Basic AuthName Git # for Redmine Authentication RedmineDSN "DBI:mysql:database=alminium;host=172.20.1.205" RedmineDbUser "alminium" RedmineDbPass "password01" RedmineGitSmartHttp yes Require valid-user </Location>※RedmineのDBは、別サーバ(172.20.1.205)としています。ただし、RedmineのWEBとGitは同じサーバである必要があります。
プロジェクト - [設定]
[設定]画面 - [リポジトリ]タブ - [新しいリポジトリ]
[新しいリポジトリ] - バージョン管理システム[Git] - 識別子[プロジェクト識別子と同じ] - [リポジトリの作成]
# git config --global http.sslVerify false # git clone https://user01@localhost/git/pj01 Password: warning: You appear to have cloned an empty repository.※自己証明書の場合のみ「git config --global http.sslVerify false」を実行する。