说明:以下软件有些linux版本自带了,就不要安装了,在grep后的结果中可以看到是否已经安装。
当然,如果想升级,那就yum update packagename 吧。
一、安装软件
1、安装subversion
yum list|grep subversion 看看有哪些包可以安装
yum install subversion* -y 完全安装,包括subversion-perl等。
可以用命令svn help 测试下是否安装ok.
2、安装mysql-server
yum list|grep mysql-server
yum install mysql-server* -y 因为服务中还包一个mysql-server的升级安装包,所以用*
二、配置SVN服务器
1、 新建svn目录,作为svn服务器中存放svn文件的目录
mkdir -p /usr/local/svn
2、新建版本库
svnadmin create /usr/local/svn/project
3、初始化版本库project中的目录
mkdir project project/srver project/client project/doc 创建临时目录用于后面导入到版本库中
svn import project/ -m "init the project verion library"
rm -rf project
4、添加用户
在/usr/local/svn/project/conf/passwd文件添加,格式是“用户名 = 密码”,需要注意的是,等号=两边有空格,且每行只能有一个用户;比如 “jason = lwsdkd”,这样用户名为jason的用户就增加为svn的用户了,并且他的密码为lwsdkd;
为了测试,我们添加如下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
zhangsan = zhangsanpasswd
lisi = lspasswd
wangwu = wspasswd
zhaoliu = zlpasswd
5、设置权限
在/usr/local/svn/project/conf/authz中设置,以下是参考:
[groups]
project_p = zhangsan
project_s = lisi
project_c = wangwu
project_t = zhaoliu
[project:/]
@project_p = rw
* =
[project:/server]
@project_p = rw
@project_s = rw
* =
[project:/client]
@project_p = rw
@project_c = rw
* =
[project:/doc]
@project_p = rw
@project_s = rw
@project_c = rw
@project_t = rw
* =
以上信息表示,只有zhangsan有根目录的读写权,张三还有其他所有目录的读写权限;lisi能访问server目录,有读写权限,wangwu能访问client目录,有读写权限,所有人都可以访问doc目录,有读写权限.
6、修改/usr/local/svn/project/conf/svnserve.conf文件,让用户和权限设置文件生效.修改后的内容如下:
[general]
anon-access = none
auth-access = write
password-db = /local/usr/svn/project/conf/passwd
authz-db = /local/usr/svn/project/conf/authz
7、启动服务器
svnserve -d -r /local/usr/svn
8、下载
svo co svn://ip/project
ip值机器的IP地址
三、配置邮件提醒功能
(以下参考互联网资料,我在实际操作过程中,发现有许多依赖包需要安装,根据提示依依安装即可)
1,安装Perl模块Module::Build
# wget
# tar xvf Module-Build-0.36_11.tar.gz
# cd Module-Build-0.36_11
# perl Build.PL
# ./Build
# ./Build test
# ./Build install
# cd ..
2,安装Perl模块Authen::SASL
# wget
# tar xvf Authen-SASL-2.15.tar.gz
# cd Authen-SASL-2.15
# perl Makefile.PL
# make test
# make install
# cd ..
3,安装Perl模块Net::SMTP_auth
# wget
# tar xvf Net-SMTP_auth-0.08.tar.gz
# cd Net-SMTP_auth-0.08
# perl Makefile.PL
# make test
# make install
# cd ..
4,安装Perl模块SVN::Notify
# wget
# tar xvf SVN-Notify-2.80.tar.gz
# cd SVN-Notify-2.80
# perl Build.PL
# ./Build
# ./Build test
# ./Build install
# cd ..
5,启动邮件服务器
service sendmail restart
6,配置自动发邮件脚本
修改post-commit脚本,以支持邮件通知功能.
# cd /home/svn/project/hooks/
# vim post-commit
内容如下:
#!/bin/sh
REPOS="$1"
REV="$2"
/usr/bin/svnnotify --repos-path "$1" --revision "$2" --to caodaijun@pica.com --from caodaijun@feinno.com --handler "HTML::ColorDiff" --with-diff --smtp localhost --smtp-user root --smtp-pass 5201314318 -c "UTF-8" -g zh_CN -o raw --svnlook /usr/bin/svnlook --subject-prefix '[SVN Update]'
(to参数代表接收邮件的地址,可以有多个,当你有多个老大的时候,这就很重要了,:)。from参数是虚拟的,代表你的发送地址,一般情况下,这个参数不重要,但如果接收者的邮件服务器有反垃圾邮件的功能,需要判定源地址的话,这个参数是否合法就显得很重要了)
再给该脚本添加可执行权限
# chmod +x post-commit
7,再次提交时,就会给指定邮件地址发信了。
阅读(802) | 评论(0) | 转发(0) |