文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Svn服务器的安装部署+数据迁移+邮件自动通知

Svn服务器的安装部署+数据迁移+邮件自动通知

时间:2010-10-15  来源:yilongtech

Svn服务器的安装部署+数据迁移+邮件自动通知

1)         svn安装

2)         svn数据的迁移

3)         svn配置邮件自动通知

 

一、svn安装

1.    wget http://subversion.tigris.org/downloads/subversion-1.6.12.tar.gz

2.    wget http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.gz

3.    wget http://www.sqlite.org/sqlite-3.7.0.tar.gz

4.    tar zxvf sqlite-*.tar.gz

5.    ./configure

6.    Make &&make install

7.    tar zxvf subversion-1.6.12.tar.gz

8.    tar zxvf fubversion-deps-1.6.12.tar.gz

9.    cd subversion-1.6.12

10. ./configure –prefix=/usr/local/svn1.6.12 –with-apxs=/opt/httpd2.15/bin/apxs

11. Make && make install

 

Tar xvf db-5.0.26.tar.tar

To do a standard UNIX build of Berkeley DB, change to the build_unix directory and then enter the following two commands:

../dist/configure

make

This will build the Berkeley DB library.

To install the Berkeley DB library, enter the following command:

make install

至此,subversion安装完成。

接下来创建仓库。

 

1.    Mkdir /usr/local/svnroot

2.    /usr/local/svn1.6.12/bin/svnadmin create /usr/local/svnroot/wlotx

3.    创建后需要改变一下svnroot下db和dav的权限。
# chmod 777 svnroot/db
# chmod 777 svnroot/dav
# chown -R apache:apache svnroot

4. 修改配置文件

4.1 修改authz文件

#############添加一个组#################

[groups]

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

admin = test

#############给该组中所有用户授权#######

[/]

@admin=rw

:wq

4.2 修改passwd文件

[users]   

# harry = harryssecret

# sally = sallyssecret

test=test

 

4.3 修改svnserve.conf文件

anon-access = none

auth-access = write

password-db = /usr/local/svnroot/wlotx/conf/passwd

authz-db = /usr/local/svnroot/wlotx/conf/authz

 

5. 启动svn

/usr/local/svn/bin/svnserve -d -r /usr/local/svnroot/wlotx/

 

二、Svn数据迁移(从windows-àlinux)

 

公司的svn库是在windows server上,存放目录为d:/wlotx/
1.先导出svn库导出到d:\svnbak\svnbak20100728.dump
  在cmd命令行里输入
  svnadmin dump d:/svndata > d:\svnbak\svnbak20100728.dump
  此时你会看到窗口里显示从第一个版本开始备份,一直到最后一个版本
2.把svnbak20100303.dump想办法传到linux服务器,这是采用svn的方式
3.我在linux的svn代码库为:/usr/local/svnroot/wlotx
svnadmin load /usr/local/svnroot/wlotx < /ftp/svnbak20100728.dump

************************************************************************网上有人说用svnadmin load的时候,/wisedata/svn/repository必要要是空的。
我是在/wisedata/svn/repository库里原来有新增过代码,然后又把代码清空后,再用load的,而且是load成功

Issue:

用的是TortoiseSVN 右键选择show log 时弹出对话框提示“want to go offline?”其它功能 check out,commit,update都可以正常使用.

解决方法:

       在svnserve.conf 文件中,设置anon-access = none就可以了

三、 svn配置邮件通知

  以前在windows平台时,svnnotify是邮件通知的最好选择。但在aix系统上安装时,因某些模块需要联网获取,安装时很不方便。所以选择了svn自带的commit-email.pl文件来发送电子邮件。
当然,还可以使用mailer.py来发送邮件,但mail.py需要Python环境,安装也挺麻烦的。而aix自带了perl环境,commit-email.pl当然是比较好的选择。
commit-email.pl 的获取地址为:http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/
mailer.py的获取地址为:http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/mailer/
这二者应该是svn官方自己搞的脚本吧。

1、将下载后的commit-email.pl.in 改为commit-email.pl 上传至 hooks目录下
我的post-commit文件内容如下:

#export LANG=ZH_CN.UTF-8

export LC_CTYPE=en_US.UTF-8
export PATH=$PATH:/user/local/svn-1.6.12/bin:/usr/local/svnroot/wlotx/hooks:
REPOS="$1"
REV="$2"

commit-email.pl "$REPOS" "$REV" --from [email protected] [email protected] -s "svn"
[email protected] 是发邮件者,[email protected]是收件人的邮箱
上面设置 LANG和PATH的值非常重要,
设置LANG是为了使发送的邮件支持中文,在这卡了好久。哎。
设置/user/local/svn-1.6.12/bin 是使commit-email.pl能运行svnlook命令;
设置/usr/local/svnroot/wlotx/hooks 是为了运行commit-email.pl 和post-commit 命令;

2、修改commit-email.pl的一些设置

对于commit-email.pl 有些内容需要更改才能使得邮件通知成功。
第一点是修改perl路径
commit-email.pl 默认的perl路径是#!/usr/bin/env perl ,而centos下的perl是在/usr/bin目录下,所以将其改为#!/usr/bin/perl
第二点是设置smtp server的值
在61行,设置你的发送邮件的服务器
$smtp_server = "mail.****.com";
第三点是设置svn-look的路径
在64行,my $svnlook = "/usr/local/svn-1.6.12/bin/svnlook";
/usr/local/svn-1.6.12/是我的svn安装目录
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载