yum install subversion -yapache
mkdir /svn 建立用来存放svn版本库的目录vim
svnadmin create /svn/first 建立一个svn的版本库centos
svnsereve -d -r /svn/first 启动该版本库tcp
svnadmin dump svn/test > svn_backfile 把具体的某个版本库(这里是“test”)重定向到某个文件中去。这样就将整个版本库备份下来了。分布式
yum install subversion -ysvn
mkdir /home/svn 建立用来存放svn版本库的目录ui
svnadmin create /home/svn/test 建立一个svn的版本库url
svnadmin load /home/svn/test < svn_backfile 导入以前备份的版本库spa
思路:apache自己自带svn的模块——mod_dav_svn,因为Subversion须要版本化的控制,所以标准的HTTP协议不能知足需求。要让Apache与Subversion协同工做,就要使用WebDAV(Web-based Distributed Authoring and Versiong)Web分布式创做和版本控制协议。 mod_dav_san模块就是做为Subversion与Apache之间的接口,经过它,Apache就能够访问版本库,而且可让客户端也使用HTTP的扩展协议WebDAV/DeltaV进行访问。版本控制
在安装了mod_dav_svn模块以后,只须要为版本库所在的目录进行相应的配置,并添加认证模块,就能够了。
安装并启动httpd(centos6.9)
由于centos6默认httpd是2.2没有svn模块,因此须要在编译时加入svn的功能
httpd-2.4 依賴于1.4+及以上版本的apr 并且版本不能过高,最好用1.5的
yum install gcc
yum install pcre-devel
yum install expat-devel
yum install openssl-devel -y
tar -xf apr-1.5.0.tar.bz2
cd apr-1.5.0
./configure --prefix=/usr/local/apr
make && make install
tar -xf apr-util-1.5.3.tar.bz2
cd apr-util-1.5.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
tar -xf httpd-2.4.28.tar.bz2
cd httpd-2.4.28
./configure --prefix=/usr/local/apache --with-apr-util=/usr/local/apr-util --with-apr=/usr/local/apr --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-mpm=prefork --enable-modules=most --enable-mpms-shared=all --enable-dav
# 其中--enable-dav --enable-so是和subversion整合时须要的
make && make install
在源码里已经有启动的脚本,咱们要修改下便可,把Apache加入系统SysV服务中来。
在源码httpd-2.x.x/build/rpm中存在httpd.init,将其复制到/etc/init.d/下面,并赋予执行权限。
yum install mod_dav_svn -y
修改/etc/httpd/conf.d/subversion.conf配置文件的内容
vim /etc/httpd/conf.d/subversion.conf
<Location /svn/>
DAV svn
SVNParentPath /home/svn/
# Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /home/svn/svn_http_passwd
AuthzSVNAccessFile /home/svn/svn_authz
Require valid-user
# </LimitExcept>
</Location>
cp /home/svn/project1/conf/svnserve.conf /home/svn/conf/svnserve.conf 获得版本库配置文件的模板
vi /home/svn/conf/svnserve.conf 编辑配置文件
anon-access = none
auth-access = write
password-db = /home/svn/svn_passwd
auth-db = /home/svn/svn_authz
realm = test-SVN
svnserve -d -r /home/svn/test --config-file /home/svn/svnserve.conf --listen-port 3690 启动时指明配置文件位置
修改了配置文件以后,要记住,这里是以apache用户的身份来访问svn的版本库,因此须要修改版本库的属主,使apache用户可以来访问。
chown -R apache:apache /home/svn/test/
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 3690 -j ACCEPT
经过网页访问版本库:ip/svn url路径是根据在/etc/httpd/conf.d/subversion.conf 配置文件中Location后面的地址来的。