您的位置:首页 > 理论基础 > 计算机网络

4# CentOS 6.7 x64 安装Subversion1.9.3(svn,http)

2016-06-16 11:31 676 查看
系统安装按照1# CentOS 6.7 x64 最小化安装
Apache/PHP/MariaDB环境按照2# CentOS 6.7 x64 Apache/PHP/Mariadb环境搭建

更新Python
# CentOS 6.7 x64 默认使用Python2.6, 我把它更新成了2.7
[root@centos2 src]# wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2 [root@centos2 src]# tar -jxvf Python-2.7.3.tar.bz2
[root@centos2 src]# cd Python-2.7.3
[root@centos2 Python-2.7.3]# ./configure --prefix=/usr/local/python2.7
[root@centos2 Python-2.7.3]# make && make install
[root@centos2 Python-2.7.3]# mv /usr/bin/python /usr/bin/python2.6.6
[root@centos2 Python-2.7.3]# ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python
[root@centos2 Python-2.7.3]# python -V


下载、安装Subversion
相关软件在junlins_lnamp里面的src/subversion文件夹里含有,也可以单独下载
[root@centos2 subversion]# wget https://mirrors.junlins.site/subversion/expat-2.1.0.tar.gz [root@centos2 subversion]# wget https://mirrors.junlins.site/subversion/scons-2.4.1.tar.gz [root@centos2 subversion]# wget https://mirrors.junlins.site/subversion/serf-1.3.8.tar.bz2 [root@centos2 subversion]# wget https://mirrors.junlins.site/subversion/sqlite-amalgamation-3071501.zip [root@centos2 subversion]# wget https://mirrors.junlins.site/subversion/sqlite-autoconf-3080500.tar.gz [root@centos2 subversion]# wget https://mirrors.junlins.site/subversion/subversion-1.9.3.tar.gz 
# 解压软件包
[root@centos2 subversion]# tar zxf expat-2.1.0.tar.gz
[root@centos2 subversion]# tar zxf scons-2.4.1.tar.gz
[root@centos2 subversion]# tar xf serf-1.3.8.tar.bz2
[root@centos2 subversion]# unzip sqlite-amalgamation-3071501.zip
[root@centos2 subversion]# tar zxf sqlite-autoconf-3080500.tar.gz
[root@centos2 subversion]# tar zxf subversion-1.9.3.tar.gz

# 安装软件包
[root@centos2 subversion]# cd expat-2.1.0
[root@centos2 expat-2.1.0]# ./configure --prefix=/usr/local/expat && make && make install

[root@centos2 expat-2.1.0]# cd ../scons-2.4.1
[root@centos2 scons-2.4.1]# python setup.py install

[root@centos2 scons-2.4.1]# cd ../serf-1.3.8
[root@centos2 serf-1.3.8]# scons PREFIX=/usr/local/serf APR=/usr/local/apache/bin/apr-1-config APU=/usr/local/apache/bin/apu-1-config install

[root@centos2 serf-1.3.8]# cd ../sqlite-autoconf-3080500
[root@centos2 sqlite-autoconf-3080500]# ./configure --prefix=/usr/local/sqlite && make && make install

[root@centos2 sqlite-autoconf-3080500]# cd ../sqlite-amalgamation-3071501
[root@centos2 sqlite-amalgamation-3071501]# mkdir -p ../subversion-1.9.3/sqlite-amalgamation
[root@centos2 sqlite-amalgamation-3071501]# \cp -a ./ sqlite3.c ../subversion-1.9.3/sqlite-amalgamation/

[root@centos2 sqlite-amalgamation-3071501]# cd ../subversion-1.9.3
[root@centos2 subversion-1.9.3]# ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apache/bin/apr-1-config --with-apr-util=/usr/local/apache/bin/apu-1-config --with-sqlite=/usr/local/sqlite --with-zlib --enable-maintainer-mode --with-serf=/usr/local/serf
[root@centos2 subversion-1.9.3]# make && make install
[root@centos2 subversion-1.9.3]# echo "/usr/local/serf/lib" >> /etc/ld.so.conf && echo "/usr/local/subversion/lib" >> /etc/ld.so.conf && ldconfig
[root@centos2 subversion-1.9.3]# echo "export PATH=/usr/local/subversion/bin:$PATH" > /etc/profile.d/subversion.sh
[root@centos2 subversion-1.9.3]# source /etc/profile.d/subversion.sh

# 配置Subversion
# 创建subversion版本库目录
[root@centos2 subversion]# mkdir /data/subversion
# 配置Subversion启动脚本
[root@centos2 subversion]# wget https://mirrors.junlins.site/subversion/Subversion-init [root@centos2 subversion]# cp Subversion-init /etc/init.d/subversion
[root@centos2 subversion]# chmod +x /etc/init.d/subversion
[root@centos2 subversion]# chkconfig --add subversion
[root@centos2 subversion]# chkconfig --level 235 subversion on


创建版本库(svn协议)
# 版本库创建
[root@centos2 ~]# svnadmin create /data/subversion/svn
[root@centos2 ~]# mkdir -p /data/subversion/svn-folder /data/subversion/svn-folder/trunk /data/subversion/svn-folder/branches /data/subversion/svn-folder/tags
[root@centos2 ~]# svn import /data/subversion/svn-folder file:///data/subversion/svn -m "Creating basic directory structure"

# 用户权限管理
[root@centos2 ~]# sed -i 's/# anon-access = read/anon-access = read/' /data/subversion/svn/conf/svnserve.conf
[root@centos2 ~]# sed -i 's/# auth-access = write/auth-access = write/' /data/subversion/svn/conf/svnserve.conf
[root@centos2 ~]# sed -i 's/# password-db = passwd/password-db = passwd/' /data/subversion/svn/conf/svnserve.conf
[root@centos2 ~]# sed -i 's/# authz-db = authz/authz-db = authz/' /data/subversion/svn/conf/svnserve.conf
[root@centos2 ~]# sed -i 's/# realm = My First Repository/realm = SVN Repository/' /data/subversion/svn/conf/svnserve.conf
[root@centos2 ~]# echo "svn = 12345" >> /data/subversion/svn/conf/passwd
[root@centos2 ~]# echo "[repo:/]" >> /data/subversion/svn/conf/authz
[root@centos2 ~]# echo "svn = rw" >> /data/subversion/svn/conf/authz

重启Subverison
[root@centos2 ~]# service subversion restart


使用svn协议访问Subversion

地址:svn://172.21.35.102/svn
用户名:svn
密码:12345

创建版本库(http协议)

# 版本库创建
[root@centos2 ~]# svnadmin create /data/subversion/http
[root@centos2 ~]# mkdir -p /data/subversion/http-folder /data/subversion/http-folder/trunk /data/subversion/http-folder/branches /data/subversion/http-folder/tags
[root@centos2 ~]# svn import /data/subversion/http-folder file:///data/subversion/http -m "Creating basic directory structure"

# 用户权限管理
[root@centos2 ~]# htpasswd -c /data/svnwebpasswd http
# 输入http库http用户的密码,这里使用12345
[root@centos2 ~]# cat > /data/svnwebaccess << EOF
[groups]

[http:/]
http=rw
EOF

# Apache配置
# 日志管理
[root@centos2 ~]# mkdir /data/wwwlogs/subversion
[root@centos2 ~]# chown -R www:www /data/wwwlogs/subversion

# 为apache添加mod_dav_svn和mod_authz_svn模块
[root@centos2 ~]# cp -r /usr/local/subversion/libexec/* /usr/local/apache/modules/
[root@centos2 ~]# echo "LoadModule dav_svn_module modules/mod_dav_svn.so" >> /usr/local/apache/conf/httpd.conf
[root@centos2 ~]# echo "LoadModule authz_svn_module modules/mod_authz_svn.so" >> /usr/local/apache/conf/httpd.conf
[root@centos2 ~]# chown -R www:www /data/subversion/http
[root@centos2 ~]# chown -R www:www /data/subversion/http-folder

[root@centos2 ~]# cat > /usr/local/apache/conf/vhost/subversion.conf << EOF
<VirtualHost *:8080>
ServerAdmin walter.jia@junlins.com
ServerName subversion.test.com

ErrorLog "/data/wwwlogs/subversion/error_subversiong_test_com_apache.log"
CustomLog "/data/wwwlogs/subversion/access_subversion_test_com_apache.log" common
<Location />
DAV svn
SVNParentPath /data/subversion
AuthType Basic
AuthName "HTTP Subversion"
AuthUserFile /data/svnwebpasswd
AuthzSVNAccessFile /data/svnwebaccess
Require valid-user
</Location>
</VirtualHost>
EOF
[root@centos2 ~]# echo "Listen 8080" >> /usr/local/apache/conf/httpd.conf


关闭防火墙、重启Apache
[root@centos2 ~]# service iptables stop
[root@centos2 ~]# service httpd restart


使用http协议访问Subversion
地址:http://172.21.35.102:8080/http用户名:http密码:12345
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  svn subversion