centos7源码编译安装Subversion 1.9.5
svn是Subversion的简称,是一个开放源代码的版本控制系统。 http://mirrors.cnnic.cn/apache/subversion/subversion-1.9.5.tar.gz
? http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz
? http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
? https://www.apache.org/dist/serf/serf-1.3.9.tar.bz2
? https://sourceforge.net/projects/scons/files/scons/2.5.1/
? http://www.sqlite.org/2017/sqlite-amalgamation-3160200.zip
? > yum -y install zlib zlib-devel openssl openssl-devel
> tar xf apr-1.5.2.tar.gz
> cd apr-1.5.2
> ./configure --prefix=/data/apr
> make && make install
? > tar xf apr-util-1.5.4.tar.gz
> cd apr-util-1.5.4
> ./configure --prefix=/data/apr-util
--with-apr=/data/apr
> make && make install
? > yum -y install python
> tar xf scons-2.5.1.tar.gz
> cd scons-2.5.1
> python setup.py install --prefix=/data/scons
? > tar xf serf-1.3.9.tar.bz2
> cd serf-1.3.9
> /data/scons/bin/scons PREFIX=/data/serf APR=/data/apr APU=/data/apr-util
> /data/scons/bin/scons install
> cp /data/serf/lib/libserf-1.so* /usr/local/lib/
? > tar xf subversion-1.9.5.tar.gz
> mkdir /data/subversion-1.9.5/sqlite-amalgamation
> unzip sqlite-amalgamation-3160200.zip -d /data/subversion-1.9.5/
> cd subversion-1.9.5
> mv sqlite-amalgamation-3160200 sqlite-amalgamation
> ./configure --prefix=/data/svn
--with-apr=/data/apr
--with-apr-util=/data/apr-util
--with-serf=/data/serf
--enable-mod-activation
> make && make install
? > echo "export PATH=/data/svn/bin:$PATH" >> /etc/profile
> source /etc/profile
? > svn help
> svnserve --version
> svn --version
如果出现如下信息 svn: error while loading shared libraries: libserf-1.so.1: cannot open shared object file: No such file or director
> cd /etc/ld.so.conf.d/
> vi user-libs.conf
把我们拷贝serf的文件的目录加上
/usr/local/lib
> ldconfig
? > mkdir -p /data/repos
> svnadmin create /data/repos
> cd /data/repos
> ll
目录结构如下: drwxr-xr-x. 2 root root 72 1月 15 06:58 conf
drwxr-sr-x. 6 root root 4096 1月 15 06:58 db
-r--r--r--. 1 root root 2 1月 15 06:58 format
drwxr-xr-x. 2 root root 4096 1月 15 06:58 hooks
drwxr-xr-x. 2 root root 39 1月 15 06:58 locks
-rw-r--r--. 1 root root 246 1月 15 06:58 README.txt
? > cd /data/repos/conf
> ll
文件如下: 权限配置文件 authz
用户名口令文件 passwd
svn服务配置文件 svnserve.conf
> vi authz
# /表示仓库根目录,用户名=权限
[/]
test = rw
> vi passwd
[users]
test = 123456
> vi svnserve.conf
[general]
#禁止匿名访问
anon-access = none
#授权用户写权限
auth-access = write
#用户密码文件
password-db = passwd
#授权登录文件
authz-db = authz
#每个svn项目认证名,建议写项目名
realm = repos
> svnserve -d -r /data/repos --listen-port 3690
> ps -ef|grep svn
> netstat -ln|grep 3690
> killall svnserve
? /data/svn/bin/svnserve -d -r /data/repos --listen-port 3690
? #!/bin/bash
# centos下可以用如下命令管理svn: service svn start(restart/stop)
SVN_HOME=/data/repos
if [ ! -f "/data/svn/bin/svnserve" ]
then
echo "svnserver startup: cannot start"
exit
fi
case "$1" in
start)
echo "Starting svnserve..."
/data/svn/bin/svnserve -d --listen-port 3690 -r $SVN_HOME
echo "Finished!"
;;
stop)
echo "Stoping svnserve..."
killall svnserve
echo "Finished!"
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: svn { start | stop | restart } "
exit 1
esac
? > svn co svn://192.168.1.233/www1 /data/wwwroot/www1
2、修改目录权限 > chmod -R 766 /data/www/www1
3、建立同步脚本 > cd /data/repos/www1/hooks
> cp post-commit.tmpl post-commit
> vi post-commit
添加如下代码 export LANG=en_US.UTF-8
SVN=/data/svn/bin/svn
WEB=/data/wwwroot/www1
$SVN update $WEB --username test --password 123456
chown -R 766 $WEB
> chmod 755 post-commit
? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |