一,安装subserversion所需的依赖包
1,apr-1.5.2.tar.gz
2,apr-util-1.5.4.tar.gz
3,sqlite-autoconf-3130000.tar.gz
4,zlib128.zip(有tar的包解压有问题,所以就用了zip的包)
二,安装 apr-1.5.2.tar.gz
下载地址:http://mirror.bit.edu.cn/apache//apr/apr-1.5.2.tar.gz
#tar zxvf apr-1.5.2.tar.gz
#cd apr-1.5.2
#./configure --prefix=/usr/local/apr
#make && make install
三, 安装 apr-util-1.5.4.tar.gz
下载地址:http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz
#tar xzfv apr-util-1.5.4.tar.gz
#cd apr-util-1.5.4
#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
#make && make install
四, 安装 sqlite-autoconf-3130000.tar.gz
下载地址:http://www.sqlite.org/2016/sqlite-autoconf-3130000.tar.gz
#tar zxvf sqlite-autoconf-3130000.tar.gz
#cd sqlite-autoconf-3130000
#./configure --prefix=/usr/local/sqlite
#make && make install
五, 安装 zlib128.zip(有tar的包解压有问题,所以就用了zip的包)
下载地址:http://zlib.net/zlib128.zip
#unzip zlib128.zip
#cd zlib-1.2.8
#./configure --prefix=/usr/local/zlib
#make && make install
六, 安装 subversion-linux_1.9.4.tar.gz
下载地址:http://mirrors.cnnic.cn/apache/subversion/subversion-1.9.4.tar.gz
#tar -zxvf subversion-1.9.4.tar.gz
# cd subversion-1.9.4
#./configure --prefix=/usr/local/svn1.9.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-sqlite=/usr/local/sqlite --with-zlib=/usr/local/zlib
#make && make install
七, 链接svn命令
4. 修改环境变量
vi /etc/profile
文件末尾加入:
PATH=$PATH:/usr/local/svn/bin
export PATH
使环境变量生效
Source /etc/profile
或者
#ln -s /usr/local/svn/bin/svnserve /usr/bin/
#ln-s /usr/local/svn/bin/svn /usr/bin
#ln -s /usr/local/svn/bin/svnadmin /usr/bin
八, 启动svn
#mkdir /svnroot
#svnserve -d -r /svnroot
最后给这个svn库使用默认端口3690启动命令:
#sudo svnserve -d -r /var/svn/test
使用8089端口:
#sudo svnserve -d --listen-port 8089 -r /svnroot
其他用户运行svn
[root@localhost ~]# chown -R webapp:webapp /usr/local/svn/
[root@localhost ~]# chown -R webapp:webapp /webroot/svnroot/
[root@localhost ~]# su - webapp -c "svnserve -d -r /webroot/svnroot"
[root@jiuyidai1 ~]# ps -ef|grep svnserve
webapp 10133 1 0 20:38 ? 00:00:00 svnserve -d -r /webroot/svnroot
注意:后面启动系统后给这个svn库启动的时候就用此命令。
查看是否启动成功
#ps -ef | grep svnserve
查看端口
#netstat -anp |grep svnserve
查看svn日志
#svn log svn://192.168.1.107 --username vsnuser --password 123456
九, 测试 svnserve --version
安装成功返回:
svnserve,版本 1.9.4 (r1740329)
编译于 Jun 22 2016,18:23:45 在 x86_64-unknown-linux-gnu
Copyright (C) 2016 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
下列版本库后端(FS) 模块可用:
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。
* fs_x : Module for working with an experimental (FSX) repository.
十,svn仓库创建(仓库test)
#mkdir -p /var/svn/
#cd /var/svn/
#/var/svn/svnadmin create test
#cd www/conf/
#ll
十一,版本库信息
项目配置:
#vi svnserve.conf
修改:去掉注释符
anon-access = none
auth-access = write
password-db = passwd
authzauthz-db = authz
realm = test
这里要注意:每一行的都要你顶头,不能有空格,不然会报错!
定义版本库访问权限:
# vi authz
添加: (svnuser为svn用户名,这里可以用用户组设置权限r:read w:wirte)
[/]
svnuser = rw
设定用户密码:
# vi passwd
添加(用户名=密码):
svnuser = 123456
十二, 安装服务
新建文件svnserve,内容如下:
#!/bin/bash
#
# chkconfig: 2345 10 90
### BEGIN INIT INFO
# Provides: svnserve
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: The svnserve Application Server
### END INIT INFO
# description: Starts and Stops the svnserve daemon.
SVN_HOME=/usr/local/svn1.9.4
SVN_START=$SVN_HOME/bin/svnserve
SVN_ROOT=/var/svn/www
start(){
echo "Starting svnserve: "
${SVN_START} -d -r $SVN_ROOT
echo "svnserve start ok."
}
stop(){
echo "Shutting down svnserve: "
killall -9 svnserve
echo "svnserve stop ok."
}
restart(){
stop
sleep 5
start
}
status(){
netstat -anp |grep svnserve
ps -ef | grep svnserve
}
case "$1" in
start)
start ;;
stop)
stop ;;
restart)
restart;;
status)
status ;;
*)
echo "Usage: svnserve {start|stop|restart|status}"
exit 1
esac
exit 0
把svnserve复制到/etc/init.d 下
设置权限
#cd /etc/init.d
#chmod 755 svnserve
启动:
#service svnserve start 或 #./svnserve start
出现问题的话试着执行:
# systemctl start svnserve.service
# systemctl enable svnserve.service
#systemctl start svnserve
#systemcltl status svnserve