安装Subversion1.6和Apache

1.检测是否已安装subversion

[root@localhost subversion-1.6.13]# rpm -qa |grep subversion
subversion-1.4.2-4.el5_3.1

2.卸载subversion

[root@localhost subversion-1.6.11] rpm -e subversion --nodeps
[root@localhost subversion-1.6.11]# rpm -e subversion-1.4.2-4.el5_3.1

如果报error:"subversion-1.4.2-4.el5_3.1"specifiesmultiplepackages

[root@localhost bin]# rpm -e --allmatches subversion-1.4.2-4.el5_3.1

1、安装apr

apr-1.3.6.tar.gz

下载地址:http://apr.apache.org/

tar zxvf  apr-1.3.6.tar.gz #解压包
      cd apr-1.3.6
      ./configure
      make
      make install

2、安装apr-util

apr-util-1.3.8.tar.gz
      tar zxvf apr-util-1.3.8.tar.gz
      cd apr-util-1.3.8
      ./configure --with-apr=/usr/local/apr
      make
      make install

3、安装apache

httpd-2.2.9.tar.gz下载地址:http://httpd.apache.org/

tar zxvf  httpd-2.2.9.tar.gz
      cd httpd-2.2.9
      ./configure --prefix=/usr/local/apache2 --enable-dav --enable-so --enable-maintainer-mode --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config  
      #--prefix表示把apache安装在指定目录
      make
      make install

3.下载subversion

1. http://subversion.tigris.org/downloads/subversion-1.6.13.tar.bz2  
2. http://subversion.tigris.org/downloads/subversion-deps-1.6.13.tar.bz2

4、解压(不要乱了顺序)

tar zxvf  subversion-1.6.13.tar.gz 
      tar zxvf  subversion-deps-1.6.13.tar.gz

      cd subversion-1.6.13
      ./configure --prefix=/opt/svn/subversion --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr
      make
      make install

至此,安装基本完毕,再配置下就可以使用了

配置apache

vi/usr/local/apache2/conf/httpd.conf

1)安装是成功后,会有

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

2)在虚机中添加

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName 192.168.1.100
    <Location /svn>
        DAV  svn
        SVNParentPath /data/svn_repos
        SVNListParentPath On
        SVNAutoversioning On
        SVNReposName "svn"
        AuthzSVNAccessFile /data/svn/conf/authz.conf
        AuthType Basic
        AuthName "Subversion repository"
        AuthUserFile /data/svn/conf/passwd.conf
        Require valid-user
    </Location>
</VirtualHost>

配置svn

1)建立svn版本库目录

mkdir -p /data/svn_repos/repos

可以多建版本库目录,这里我的目录是repos

2)建立svn版本库

svnadmin create /data/svn_repos/repos

因为apache的线程使用的用户是daemon

chown -R daemon /data/svn_repos/repos
chmod -R 755 /data/svn_repos/repos

3)建立本地访问控制文件

/usr/local/apache2/bin/htpasswd -c /data/svn/conf/passwd.conf  username

然后输入密码即可,默认是MD5加密的

/usr/local/apache2/bin/htpasswd  /data/svn/conf/passwd.conf  username1
#追加用户

4)建立本地项目控制文件

touch /opt/svn/conf/authz.conf

本例authz.conf内容为:

[groups]
      #<groupname1>=<username1>,<username2>
      admin=username

      #[<versionLib>:projectName/directory]
      #@<groupsname>=<authorities>
      #<username>=<authorities>

      [/]
      @admin = rw      
	#指定用户组成员可以读写根目录所有应用

      [repos:/abc/aaa]
      username1= rw     
	 #指定用户username1可以读写:/abc/aaa目录的文件

测试连接

1)启动apache

/usr/local/apache2/bin/apachectlstart

2)再浏览器访问http://192.168.1.100/svn/repos

#本例服务器ip是192.168.1.100

使用刚才创建的权限用户名与密码登录即可访问

/////////////////////////////////

ldap的apache文件

<Location/>

#EnableSubversion

DAVsvn

SVNParentPath/data/svn_repos

SVNListParentPathOn

#SVNIndexXSLT"/repos-web/view/repos.xsl"

#EnableWebDavautomaticversioning

SVNAutoversioningOn

#Reposdisplayname

SVNReposName"twitter"

AuthTypeBasic

AuthName"XXX"

AuthBasicProvider"ldap"

authzldapauthoritativeOff

AuthLDAPBindDN"[email protected]"

AuthLDAPBindPassword"XXXXX"

AuthLDAPURL"ldap://ldap.XXXX.com:389/DC=XXX,DC=com?sAMAccountName?sub?(objectClass=*)"

Requirevalid-user

Requiregroup"cn=XXX-tech,ou=groups,dc=XXX,dc=com"

#Authorizationfile

#AuthzSVNAccessFile/

</Location>

相关推荐