安装所用的软件
apr版本
http://archive.apache.org/dist/apr/apr-1.4.8.tar.gz
apr-util版本
http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz
apache版本
http://archive.apache.org/dist/httpd/httpd-2.4.6.tar.gz
subversion版本for apache
http://archive.apache.org/dist/subversion/subversion-1.8.3.tar.gz
一、apr的安装
tar zvxf apr-1.4.8.tar.gz -C /usr/src/
cd /usr/src/apr-1.4.8/
./configure --prefix=/usr/local/apr
make && make install
二、apr-utl的安装
tar zvxf apr-util-1.5.2.tar.gz -C /usr/src/
cd /usr/src/apr-util-1.5.2/
./configure --with-apr=/usr/local/apr/
make && make install
三、apache的安装
tar zvxf httpd-2.4.6.tar.gz -C /usr/src/
cd /usr/src/httpd-2.4.6/
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-utl=/usr/local/apr/bin/apu-1-config --enable-so --enable-dav
#需要安装pcre 本人使用自带的pcre,pcre默认自己安装 同时需要安装pcre-devel
#yum install -y pcre-devel
make && make install
#启动测试apache
/usr/local/apache/bin/apachectl start
elinks http:localhost --dump #出现 It works 即apache安装成功
四、subversion的安装
tar zvxf subversion-1.8.3.tar.gz -C /usr/src/
cd /usr/src/subversion-1.8.3/
./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-openssl --with-zlib
#安装报错需要sqlit 根据提示下载http://www.sqlite.org/sqlite-amalgamation-3071501.zip
#unzip sqlite-amalgamation-3071501.zip -d /usr/src/subversion-1.8.3/
#将解压的文件改名
#cd /usr/src/subversion-1.8.3/
#mv sqlite-amalgamation-3071501/ sqlite-amalgamation/
#再重新运行configure
#如果还有警告应该就是没有安装openssl和zlib yum install openssl openssl-devel zilb zilb-devel -y
make && make install
#查看svn安装是否成功
/usr/local/svn/bin/svnserve --version
五、创建svn库
mkdir -pv /svn/repos
/usr/local/svn/bin/svnadmin create /svn/repos/www #创建仓库www
#模拟实际项目
mkdir /shell
vim /shell/a.sh
#!/bin/bash
echo "hello"
#将shell项目导入仓库www
/usr/local/svn/bin/svn import /shell file:///svn/repos/www -m "my shell project"
成功会显示
正在增加 (二进制) /shell/a.sh
提交后的版本为 1。
六、配置apache支持svn
vim /usr/local/apache/conf/httpd.conf
将这一行的#去掉:LoadModule dav_module modules/mod_dav.so
在下面添加这两行指定apache的svn模块路径
LoadModule dav_svn_module /usr/local/svn/libexec/mod_dav_svn.so
LoadModule authz_svn_module /usr/local/svn/libexec/mod_authz_svn.so
这一行的#也去掉 LoadModule dav_fs_module modules/mod_dav_fs.so
在末尾添加svn路径
<Location /svn>
DAV svn
SVNParentPath /svn/repos #仓库主目录
SVNListParentPath on #此行打开可以看见主目录的所有仓库,可以省略
AuthType Basic #连接类型设置基本验证
AuthName "Hello welcome to here" #验证时的欢迎信息
AuthUserFile /svn/passwd #验证的用户及密码文件
AuthzSVNAccessFile /svn/auth.conf #验证的权限文件
Require valid-user #声明用户密码文件的有效用户访问
</Location>
之后重启apache
/usr/local/apache/bin/apachectl restart
在浏览器中输入http://192.168.18.6/svn/www 提示输入用户及密码下面设置用户及密码,权限
七、配置svn访问权限
1、创建用户密码
/usr/local/apache/bin/htpasswd -c /svn/passwd tom
#-c是创建文件 即使用htpasswd创建的用户保存到passwd中,第二次创建用户就不需要-c了
#例/usr/local/apache/bin/htpasswd /svn/passwd jack
#回车后输入密码,即创建用户密码成功
2、编辑权限
vim /svn/auth.conf
[groups] #编辑权限组
admin = tom #组都包括哪些组员
develop = jack
[/] #所有仓库的根目录下的权限
* = r #*代表所有,任何人都可以读
[www:/] #仓库www的权限
tom = rw #用户tom的权限
@develop = r #组权限设置,在组前加@
八、所有设置好后重启apache和启动svn
1、/usr/local/apache/bin/apachectl restart
2、启动svn
/usr/local/svn/bin/svnserve -d -r /svn/repos/
#-d 参数表示以进程模式运行 -r 指定仓库目录
如何重启可以这样
killall svnserve
/usr/local/svn/bin/svnserve -d -r /svn/repos/
3、测试在浏览器中输入http://192.168.18.6/svn/www
输入用户名和密码即可看见www仓库内容
4、同样可以使用TortoiseSVN连接