Alminium(RedmineとGit/SVN)のインストール手順
■AlminiumAlminium(RedmineとGit/SVN)のインストール事前作業
■Gitのインストール確認# which git /usr/bin/git■libyamlのインストール確認
# wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm
# vi /etc/yum.repos.d/epel.repo
enabled=0※すべて無効化する
# yum --enablerepo=epel install libyaml.x86_64 libyaml-devel.x86_64
Alminium(RedmineとGit/SVN)のインストール
# cd /usr/local/src/ # git clone https://github.com/alminium/alminium.git # ls alminium # cd alminium/
# ./smelt RHEL 6.x / CentOS 6.x / OEL 6.xが検出されました。 ******************************************************* ホスト名の設定 ******************************************************* ホスト名(IPアドレスもしくはDNS名)を入力してください。ホスト名はApacheのバーチャ ルホストで利用されます。 例えば、192.168.1.4をホスト名で入力すると、http://192.168.1.4/でアクセスすることになります。 (上記の設定ではhttp://localhost/では接続できないのでご注意ください) ホスト名: www.hogehoge.com ******************************************************* SSLのサポート ******************************************************* SSLのサポートを有効にすると、httpsのみの接続を許可します。 httpでのアクセスは、全てhttpsのポートへ転送されるようになります。 SSLの証明書は認証機関により署名されたものではありません。通信の暗号化のみ に利用します。 gitの利用では、 $ git config --global http.sslVerify false などのコマンドで、SSLの証明書を無効にする必要があります。 SSL(https)サポートを有効にしますか?(y/N) y ******************************************************* メール設定 ******************************************************* Redmineのシステムメールを送信するための設定を行います。 <利用する上での注意> ・利用したいメールシステムと通信可能なことをご確認ください。ファイアーウォールなどで遮断されている場合は管理者にお問い合わせください。 ・Sendmailコマンドを利用する場合、別途Sendmailの設定を行う必要があります。 ・G-Mail/Hotmailを利用する場合、ユーザー名とパスワードがあれば利用可能です。 次の中から、使いたいメールシステムを選択してください。 ここでメール設定を行わない場合は「N」を選択してください。 0. 独自のメールサーバーを設定する 1. Linux内のSendmailコマンドを使用する 2. G-Mail/Google Apps 3. Windows Live Hotmail N. メール設定をしない 番号選択: 1 「Linux内のSendmailコマンドを使用する」を選択しました。 継続的インテグレーションツールのJenkinsのインストール・設定を行うことができます 。デフォルトはインストールしません。よく分からなければNを選択してください。Jenkinsをインストールしますか?[y/N] y *** run pre-install script *** ******************************************************* セキュリティの設定 ******************************************************* アプリケーションを動作させるために、ファイアフォールの設定とSELinuxの無効化を行 います。 nと答えると手動でセキュリティの設定が必要となります。分らない場合はYと答えてください。 アプリケーションを動作させるためにセキュリティの設定を行いますか?[Y/n] Y 省略・・・・・・・・・・・・・・・・・・※赤字箇所が入力箇所です。
Redmineログのログローテート設定
Redmine(alminium)のログは、/opt/alminium/log/production.logとなるが、 このログはデフォルトではログローテートしません。# vi /etc/logrotate.d/redmine
/opt/alminium/log/*log { missingok # ファイルが存在しなくてもエラーににない notifempty # copytruncate # ログを別名でコピーした後、元のファイルの内容を空にする compress # 古いログを圧縮して保存する }
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」を実行する。
CentOSをドメイン参加させずにKerberos認証させる
複数のCentOSサーバを管理する上で、ユーザの統合管理を行いたいが、LDAPの管理は敷居が高い。 そこでActiveDirectoryを導入し、ドメイン参加させずにユーザ認証する方法を探していたところ、PAM認証でActiveDirectoryと連携する方法がありましたので、紹介します。ドメイン名 | TMPAD.DEV.BASIS |
---|---|
DCサーバ1 | 172.20.1.203 |
DCサーバ2 | 172.20.1.204 |
# yum install pam_krb5 fprintd-pam
# authconfig --enablekrb5 --krb5kdc=172.20.1.204 --krb5realm=TMPAD.DEV.BASIS --update
krb5.confの修正点 | ・不要なEXAMPLE.COMに関する設定を消す ・DCサーバ指定を追加(DC2台構成の場合) |
---|
# vi /etc/krb5.conf
[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = TMPAD.DEV.BASIS dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true [realms] TMPAD.DEV.BASIS = { kdc = 172.20.1.203:88 kdc = 172.20.1.204:88 } [domain_realm] tmpad.dev.basis = TMPAD.DEV.BASIS .tmpad.dev.basis = TMPAD.DEV.BASIS※赤字箇所は環境により読み替えてください。
# cat /etc/pam.d/system-auth-ac
#%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth sufficient pam_fprintd.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth sufficient pam_krb5.so use_first_pass auth required pam_deny.so account required pam_unix.so broken_shadow account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 500 quiet account [default=bad success=ok user_unknown=ignore] pam_krb5.so account required pam_permit.so password requisite pam_cracklib.so try_first_pass retry=3 type= password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password sufficient pam_krb5.so use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so session optional pam_krb5.so※赤字箇所が追加されたKeberos認証関連の設定です。
# useradd -u 10001 user01※UIDは各環境に合わせてください。しかしUID番号は、全サーバで統一することをお勧めします。
基礎から分かる Samba 4 構築&運用入門 |
Software Design (ソフトウェア デザイン) 2014年 06月号 |