在 /etc/yum.repos.d/ 创建源文件 wandisco-svn1.8.repo,写入下列内容
[WANdisco] name=WANdisco SVN Repo 1.8 enabled=1 baseurl=http://opensource.wandisco.com/rhel/6/svn-1.8/RPMS/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-WANdisco
wget rpm --import RPM-GPG-KEY-WANdisco
yum update subversion
CentOS6安装完成后自带的有Apache2.2和subversion1.6,先来看系统自带的如何配置
useradd -r -s /sbin/nologin svn
mkdir -pv /www/svnroot/ # 为svn建立库目录 chown -R svn.svn /www/svnroot/ # 更改权限 cd /etc/httpd/conf.d # 编辑配置文件 vim subversion.conf LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn/> # 定义访问是的路径;例如http://IP/svn DAV svn SVNParentPath /www/svnroot # SVN的库路径 SVNListParentPath on # 允许列出目录 AuthzSVNAccessFile /www/svnroot/authz # 认证文件 #RedirectMatch ^(/svn)$ $1/ AuthType Basic # 基本认证 AuthName "Subversion Auth" # 认证提示信息 AuthUserFile /www/svnroot/password # 认证密码文件 Require valid-user # 必须为有效的用户 </Location> service httpd start
cd /www/svnroot svnadmin create platform chown -R svn.svn * cp platform/conf/authz . vim authz [aliases] # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average [groups] # 定义组 group_platform_admin = admin # 组内成员 [/] # 根目录所有用户的浏览权限 * = r [platform:/] # 每个版本库的对应权限 @group_platform_admin = rw # 权限 htpasswd -c password admin # 生成密码文件和添加用户
到此,就可以正常访问了。此时可以在浏览器里输入地址访问,也可以是用客户端访问。
yum -y install pcre-devel perl-ExtUtils-Embed perl perl-devel yum -y remove subversion
apr-1.5.1.tar.bz2
apr-util-1.5.4.tar.bz2
httpd-2.4.12.tar.gz
sqlite-autoconf-3080802.zip
subversion-1.8.10.tar.bz2
zlib-1.2.8.tar.gz
expat-2.0.1.tar.gz
apr
./configure --prefix=/usr/local/apr make && make install
apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ make && make install
httpd-2.4.12
./configure --prefix=/usr/local/apache \ --sysconfdir=/etc/httpd24 --enable-so --enable-ssl \ --enable-cgi --enable-rewrite --with-zlib --with-pcre \ --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util \ --enable-modules=most --enable-mpms-shared=all --with-mpm=event \ --enable-proxy --enable-proxy-fcgi --enable-dav --enable-dav-fs \ --enable-maintainer-mode make && make install # 编译完成后添加环境变量: vim /etc/profile.d/apache.sh export PATH=/usr/local/apache/bin/:$PATH . /etc/profile.d/apache.sh # 生效
expat
./configure make && make install
sqlite
./configure --prefix=/usr/local/sqlite --enable-libtool-lock make && make install
subversion
./configure --prefix=/usr/local/svn \ --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ \ --with-apxs=/usr/local/apache/bin/apxs --with-apache-libexecdir \ --with-sqlite=/usr/local/sqlite/ --with-openssl --enable-maintainer-mode make && make install # 编译完成后添加环境变量: vim /etc/profile.d/svn.sh export PATH=/usr/local/svn/bin/:$PATH . /etc/profile.d/svn.sh #生效 # 以上编译过程请注意是否有报错,如果有报错,解决后在进行下一步的安装操作。
# 在Apache编译完成后,由于系统自带的Apache是不需要卸载的,直接到/etc/init.d/目录下。 cd /etc/init.d/ cp httpd{,.bak} vim httpd apachectl=/usr/local/apache/bin/apachectl httpd=${HTTPD-/usr/local/apache/bin/httpd} prog=httpd pidfile=${PIDFILE-/var/run/httpd/httpd.pid} lockfile=${LOCKFILE-/var/lock/subsys/httpd} # 把这个几个对应的路径改一改,pidfile在配置文件中要定义下路径,并把error log的路径也写全了,这样方便排错 # 然后在配置文件中添加如下行: 在LoadModule装载的路径后面添加下面两行: LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so # 注意:把启动的用户和组改成SVN使用的用户和组,否则没有写权限,或者把SVN的目录的属主属组更改为运行Apache的也行。 # 在其他位置添加如下: <Location /svn/> DAV svn SVNParentPath /data/svn AuthzSVNAccessFile /data/svn/authz #SVNListParentPath on AuthType Basic AuthName "Subversion Auth" AuthUserFile /data/svn/password Require valid-user </Location> service httpd restart