Svn 1.8.5安装(源码)
1,安装组件
yum install autoconf libtool expat-devel –y
1.1,安装apr
wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.5.tar.gz -O apr.tar.gz
tar -zxf apr.tar.gz
cd apr-1.6.5
./buildconf
./configure --prefix=/usr/lib/apr
注:如果遇到:rm: cannot remove `libtoolT’: No such file or directory错误信息
make && make install
1.2,安装apr-util
wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz -O apr-util.tar.gz
tar -zxvf apr-util.tar.gz
./buildconf --with-apr=…/apr-1.6.5 # 需要加上apr的路径
./configure --prefix=/usr/lib/apr-util --with-apr=/usr/lib/apr
make && make install
1.3, 安装zlib
wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -xf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure --prefix=/usr/lib/zlib
make && make install
2,安装svn
wget http://archive.apache.org/dist/subversion/subversion-1.8.5.tar.gz
tar -zxvf subversion-1.8.5.tar.gz
wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip
unzip sqlite-amalgamation-3071501.zip
mv sqlite-amalgamation-3071501 subversion-1.8.5/sqlite-amalgamation
编译安装svn
cd subversion-1.8.5
./configure --prefix=/usr/local/svn
–with-apr=/usr/lib/apr
–with-apr-util=/usr/lib/apr-util
–with-zlib=/usr/lib/zlib
make && make install
需要的命令软链接到/usr/bin下(或者添加环境变量)
ln -s /usr/local/svn/bin/svn /usr/bin/svn
ln -s /usr/local/svn/bin/svnadmin /usr/bin/svnadmin
ln -s /usr/local/svn/bin/svnserve /usr/bin/svnserve
svnserve –version //查看svn
二,主从同步svn
主:10.128.41.69
从:10.128.41.72
1,创建版本库
主:
mkdir -p /home/svn/doc
svnadmin create /home/svn/doc/
cd /home/svn/doc/conf
2,修改conf下的三个配置文件 //注意配置文件要顶格和=左右要空格
修改文件svnserve.conf //末尾添加
vim svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /home/svn/doc
配置passwd
vim passwd
[users]
admin = admin123. //用户名密码
配置authz //末尾添加
vim authz
[/]
admin = rw
- = rw
3,修改钩子文件:/home/svn/doc/hooks
cd /home/svn/doc/hooks
cp pre-revprop-change.tmpl pre-revprop-change
chmod 755 pre-revprop-change
vim pre-revprop-change 全部注释结尾加 exit0
4,修改配置文件post-commit 实现自动更新
cd /home/svn/doc/hooks
cp post-commit.tmpl post-commit
chmod 755 post-commit
vim post-commit 全部注释,末尾添加:
svnsync sync --non-interactive svn://10.128.41.72/doc --username admin --password admin123.
export LANG=en_US.UTF-8
主机配置完成后启动svn
svnserve -d --listen-port=3690 -r /home/svn/ //注意启动指定路径
从:
同主节点的1,2,3步 //创建版本库,修改配置文件,修改钩子。
2,启动svn
svnserve -d --listen-port=3690 -r /home/svn/
初始化:在主节点
svnsync init svn://10.128.41.72/doc svn://10.128.41.69/doc
即svn init 目标库 源库 ,将向你询问库用户名密码,建议主从库用户名密码相同。
正确后,显示:Copied properites for revision 0
测试:
mkdir data && cd data //创建一个工作目录
svn co svn://10.128.41.69/doc //检出
cd doc
echo “内容” > test.txt
svn add test.txt //添加文件
svn ci test.txt –m “备注” //提交文件
查看:
svn ls svn://10.128.41.72/doc
svn ls svn://10.128.41.69/doc
刚才提交的文件test.txt 两边都有同步成功