Centos6.1详细搭建svn独立服务器
Centos6.1详细搭建svn独立服务器
?1准备源码包:2个源码包一个是Subversion-1.6.20.tar.gz一个是Subversion-deps-1.6.20.tar.gz
源码安装目录:/usr/local/svn/版本库的用户文件目录/usr/local/svn/conf/passwd.conf
版本库的权限控制文件目录:/usr/local/svn/conf/authz.conf?需要的有glibc gcc libstdc++ openssl openssl-devel zlib
2安装报错
?
解决方法挂载本地iso镜像文件使用centos6.1光盘自带安装包安装?挂载本地iso镜像
./configure –prefix=/usr/local/svn/ --with-neon=?注什么都不加
注:在编译安装之前要先安装openssl和openssl-devel,否则以下错误
checking openssl/opensslv.h usability... no
checking openssl/opensslv.h presence... no
checking for openssl/opensslv.h... no
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf
解决:yum -y install openssl openssl-devel
3安装完成之后添加环境变量在/etc/profile?添加PATH=/usr/local/svn/bin:$PATH
4source /etc/profile一下/usr/local/svn/bin下的命令可以使用
5测试一下安装是否成功svnserve –version
?
6?创建版本库
1创建版本库目录mkdir –p /var/svndata/9000
Svnadmin create /var/svndata/9000?其中如果想在任意目录使用svnadmin请添加环境变量
2创建完成之后生成如下文件其中的conf目录下放置有版本库配置文件svnserve.conf
用户密码存放文件passwd?组权限控制文件authz我这里的用户密码配置文件和组权限
文件放置在/usr/local/svn/conf/下名字分别是:passwd.conf? authz.conf
? 3:配置版本库配置文件如下
4注意对用户配置文件的修改不用重启svn立即生效。
5开机自动开启svn服务在/etc/rc.d/rc.local?加入svnserve –d –r /var/svndata就可以实现svn自动开机自启动
?附另外一种方法把svn做为服务器启动
SVN_HOME=/var/svndata?9.?if?[?!?-f?"/usr/local/svn/bin/svnserve"?]?10.?then?11.?echo?"svnserver?startup:?cannot?start"?12.?exit?13.?fi?14.?case?"$1"?in?15.?start)?16.?echo?"Starting?svnserve..."?17.?/usr/local/svn/bin/svnserve?-d?--listen-port?3690?-r?$SVN_HOME #这个3690是默认端口18.?echo?"Finished!"?19.?;;?20.?stop)?21.?echo?"Stoping?svnserve..."?22.?killall?svnserve?23.?echo?"Finished!"?24.?;;?25.?restart)?26.?$0?stop?27.?$0?start?28.?;;?29.?*)?30.?echo?"Usage:?svn?{?start?|?stop?|?restart?}?"?31.?exit?1?32.?esac?33.?[root@svn?~]#?chmod?755?/etc/init.d/svn?34.?[root@svn?~]#?chkconfig?svn?on?35.?[root@svn?~]#?/etc/init.d/svn?start?
注意如果脚本里不加?# chkconfig:空格-空85空格15的话在使用chkconfig –add? svn?会提示
?
正确的设置如下:
?
添加成功之后如下显示
设置等级345开机自启动
个人喜欢第二种方法简单一目了然不过原理都一样总结一下
开启svn服务:svnservice –d –r /var/svndata?
关闭svn服务:?killall svnservice?或者kill -9 pid
脚本开启svn服务:service svn start
脚本关闭svn服务:service svn stop
脚本重启svn?服务:service svn restart
注意:/etc/ini.d/svn?提示错误以前也遇到过是windowslinux下删除windows换行符^M
启动时发现一个问题:用%c读入的代码都会报wa。后来发现跟scanf有关。在linux下使用%c会读到/n和/r两个字符。所以需要将^M(也就是/r)字符删掉
删除方法不少。
下一步:配置svn用户和组直接上截图:
密码:
?
?下面是组
?
注意这里的组适合大型项目,个人感觉比较有条理性
注意svn配置文件需要顶格写?登录用户中间有空格?如:?svnadmin = svnadmin
左边是登录的用户名右边是密码
测试成功之后项目导入然后下边是备份脚本
要执行成功备份脚本必须使用ssh-kegen? rsa?回车回车回车。。
然后用scp ~/.ssh/id_rsa.pub?root@1xxx.xxx.xxx.xxx:/root/.ssh/authorized.keys?复制id.rsa.pub到240上的root/.ssh/下并重命名为authorized.keys
然后定时执行备份脚本
Crontab –e –u root
下面是备份脚本内容
查看本机上的定时任务crontab –l
?
查看远程服务器是否生成文件注意脚本里面使用svnadmin hotcopy命令使用的是绝对路径?
?
以上过程亲测,并经过测试运行正常.???http://www.th7.cn/system/lin/201304/38807.shtml (原文地址)