目的:

  1. 以預設選項安裝 CentOS 5.5
  2. 以 WANdisco 的 binary distribution 安裝 subversion 1.6.13
  3. 設定 apache 與 firewall
  4. 設定 subversion 以 multiple repositories 運作, 並透過 Windows Active Directory 進行認證


1. 以預設選項安裝 CentOS 5.5

  • 這個就不用說了吧, 放入CentOS 5.5安裝光碟, 下一步到最後


2. 以 WANdisco 的 binary distribution 安裝 subversion 1.6.13

  • 到 WANdisco 網站 http://www.wandisco.com/subversion/os/downloads 下載 CentOS 5 的 Subversion (需要註冊一個免費帳號) 安裝 script, 一個叫做 svninstall_centos5_wandisco.sh 的檔案
  • chmod +x svninstall_centos5_wandisco.sh
  • ./svninstall_centos5_wandisco.sh
  • 安裝時會問幾個問題, 都回答 "y"


3. 設定 apache

  • yum install mod_ssl
  • chkconfig --level 345 on
  • service httpd start


4. 設定 firewall

  • iptables -I RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
  • iptables -I RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
  • service iptables save


5. 建立 subversion repositories

  • mkdir -p /var/svn
  • mkdir -p /var/svn/repos
  • svnadmin create /var/svn/repos/dotProject
  • chown -R apache.apache /var/svn
  • chcon -R -u system_u -t httpd_sys_content_t /var/svn


6. 以 multiple repositories 運作, 並透過 Windows Active Directory 進行認證

  • echo REFERRALS OFF >> /etc/openldap/ldap.conf
  • 建立 /var/svn/accessfile 如下
[groups]
admin = egg
developer = joe
all = @admin, @developer

[/]
* = r

[dotProject:/]
* =
@admin = rw
@all = r
  •  建立 /etc/httpd/conf.d/subversion.conf 如下

LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

<Location "/svn/">
#SSLRequireSSL
AuthBasicProvider ldap
AuthType Basic
AuthzLDAPAuthoritative on
AuthName "AcBel Subversion Server"
AuthLDAPURL "ldap://example.com.tw:389/DC=example,dc=com,dc=tw?sAMAccountName?sub?(objectClass=user)" NONE
AuthLDAPBindDN "LdapBindUser@example.com.tw"
AuthLDAPBindPassword PasswordOfLdapBindUser

Satisfy Any
Require valid-user

DAV svn
SVNParentPath /var/svn/repos

SVNListParentPath on
SVNAutoversioning on
AuthzSVNAccessFile /var/svn/accessfile
</Location>

  • 重開 httpd
service httpd restart




ok, 大功告成!!


匆忙之下來不及做詳細文件, 容後再補充囉 ^^

創作者介紹

Egg Chang 的部落格

Egg Chang 發表在 痞客邦 PIXNET 留言(0) 人氣()