共计 4036 个字符,预计需要花费 11 分钟才能阅读完成。
只是记录下安装过程,方便下次直接拷贝,省的在去查找一些选项。CentOS6 安装完成后自带的有 Apache2.2 和 subversion1.6,那我们就先来看系统自带的如何配置:
一、用系统自带的 Apache 和 svn 配置
1、添加 svn 用户
1 # useradd -r -s /sbin/nologin svn
2、配置 Apache 的配置文件
# 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
3、创建版本库并测试:
# 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 # 生成密码文件和添加用户
到此,就可以正常访问了。
此时可以在浏览器里输入地址访问,也可以是用客户端访问。
二、源码编译安装
1、解决依赖包
yum -y install pcre-devel perl-ExtUtils-Embed perl perl-devel
yum -y remove subversion
2、下载需要的源码包
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
3、编译
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 #生效
以上编译过程请注意是否有报错,如果有报错,解决后在进行下一步的安装操作。
4、配置 Apache
# 在 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
5、配置 svn 的库以及认证文件,如第一个配置是一样的。
6、访问测试
测试如上。客户端访问也是一样的。
Linux 中 Subversion 配置实例 http://www.linuxidc.com/Linux/2012-02/53109.htm
CentOS 6.2 SVN 搭建 (YUM 安装) http://www.linuxidc.com/Linux/2013-10/91903.htm
Apache+SVN 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm
Windows 下 SVN 服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm
Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN 数据 http://www.linuxidc.com/Linux/2013-05/84695.htm
Ubuntu Server 搭建 svn 服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm
借助网盘搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-10/91271.htm
更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14