Svn服务器的安装和配置
前提是系统以挂载光驱 若没有挂载 则输入一下命令进行挂载 mount /dev/cdrom 空格/media/cdrom
1.安装svn服务器端软件
从镜像服务器或者YUM源下载安装SVN服务器软件:yum install subversion
mkdir /usr/local/svn //创建SVN安装目录
chmod -R 777 svn //修改目录权限为777
svnadmin create /usr/local/svn/sunny //创建一个SVN版本仓库sunny(sunny可以自定义)
cd /usr/local/svn/sunny/conf //进入sunny版本仓库下的配置文件目录
下面要修改这个目录下的三个配置文件
(1)vi svnserve.conf //配置版本库信息和用户文件和用户密码文件的路径、版本库路径,把
# anon-access = read
# auth-access = write
# password-db = passwd
//这四行,前面的#号和空格去掉(注意去掉#要顶格写,不要留有多余空格),变成
anon-access = none //匿名访问,改成none
auth-access = write
password-db = passwd
realm = sunny //改成自己的版本库名称
保存退出
(2)vi authz //文件,创建SVN组和组用户的权限
[group]
sunny = gep,wce //创建一个sunny的组,并指定两个用户gep和wce
[/] //制定根目录下的权限
@sunny = rw //sunny组用户权限为读写
* = r //其他用户只有读权限
保存退出
(3) vi passwd //创建或修改用户密码
[users]
gep = 123456 //用户名为gep的用户的密码为123456
wce = 123456 //。。。
保存退出
启动SVN服务器:
//这里采用多版本库的方式启动
svnserve -d -r /usr/local/svn/
如果是单版本库可以添加一行
svnserve -d -r /usr/local/svn/sunny
然后要设置自启动
vi /etc/rc.local 打开自启动文件添加
/usr/bin/svnserve -d -r /usr/local/svn/
到此为止可以从服务端检出文件了.
svn命令:
netstat -tnl |grep :3690 查看svn是否启动
安装成功!
ps aux |grep svn 查找所有svn启动的进程
kill -9 2505 杀死2505这个查找到的svn进程
svn checkout svn://172.19.5.2/sunny /data0/htdocs/blog //检出一份版本库文件到指定目录
svn up //更新文件
自动更新
进入/usr/local/svn/sunny/hooks/中
cd /usr/local/svn/sunny/hooks/
将post-commit.tmpl复制并重命名为post-commit
cp post-commit.tmpl post-commit
对post-commit进行编辑 vi post-commit
①先对其清空
②将下面代码复制进去
#!/bin/sh
#设置一些变量
SVN=/usr/bin/svn(尤其注意这一块,复制的时候S总复制不上)
WEB=/usr/local/apache2.2/htdocs #要更新的目录
export LANG=en_US.UTF-8
$SVN update $WEB --username xxx --password xxx
其中SVN=右边改成 svn 命令位置 一般默认为/usr/bin/svn
WEB=右边改成你实际的web目录
赋予可执行权限
chmod 777 /usr/local/svn/sunny/hooks/post-commit
安装完毕
前提是系统以挂载光驱 若没有挂载 则输入一下命令进行挂载 mount /dev/cdrom 空格/media/cdrom
1.安装svn服务器端软件
从镜像服务器或者YUM源下载安装SVN服务器软件:yum install subversion
mkdir /usr/local/svn //创建SVN安装目录
chmod -R 777 svn //修改目录权限为777
svnadmin create /usr/local/svn/sunny //创建一个SVN版本仓库sunny(sunny可以自定义)
cd /usr/local/svn/sunny/conf //进入sunny版本仓库下的配置文件目录
下面要修改这个目录下的三个配置文件
(1)vi svnserve.conf //配置版本库信息和用户文件和用户密码文件的路径、版本库路径,把
# anon-access = read
# auth-access = write
# password-db = passwd
//这四行,前面的#号和空格去掉(注意去掉#要顶格写,不要留有多余空格),变成
anon-access = none //匿名访问,改成none
auth-access = write
password-db = passwd
realm = sunny //改成自己的版本库名称
保存退出
(2)vi authz //文件,创建SVN组和组用户的权限
[group]
sunny = gep,wce //创建一个sunny的组,并指定两个用户gep和wce
[/] //制定根目录下的权限
@sunny = rw //sunny组用户权限为读写
* = r //其他用户只有读权限
保存退出
(3) vi passwd //创建或修改用户密码
[users]
gep = 123456 //用户名为gep的用户的密码为123456
wce = 123456 //。。。
保存退出
启动SVN服务器:
//这里采用多版本库的方式启动
svnserve -d -r /usr/local/svn/
如果是单版本库可以添加一行
svnserve -d -r /usr/local/svn/sunny
然后要设置自启动
vi /etc/rc.local 打开自启动文件添加
/usr/bin/svnserve -d -r /usr/local/svn/
到此为止可以从服务端检出文件了.
svn命令:
netstat -tnl |grep :3690 查看svn是否启动
安装成功!
ps aux |grep svn 查找所有svn启动的进程
kill -9 2505 杀死2505这个查找到的svn进程
svn checkout svn://172.19.5.2/sunny /data0/htdocs/blog //检出一份版本库文件到指定目录
svn up //更新文件
自动更新
进入/usr/local/svn/sunny/hooks/中
cd /usr/local/svn/sunny/hooks/
将post-commit.tmpl复制并重命名为post-commit
cp post-commit.tmpl post-commit
对post-commit进行编辑 vi post-commit
①先对其清空
②将下面代码复制进去
#!/bin/sh
#设置一些变量
SVN=/usr/bin/svn(尤其注意这一块,复制的时候S总复制不上)
WEB=/usr/local/apache2.2/htdocs #要更新的目录
export LANG=en_US.UTF-8
$SVN update $WEB --username xxx --password xxx
其中SVN=右边改成 svn 命令位置 一般默认为/usr/bin/svn
WEB=右边改成你实际的web目录
赋予可执行权限
chmod 777 /usr/local/svn/sunny/hooks/post-commit
安装完毕