centOS7.2的amh控制面板搭建svn服务器


amh安装好环境使用了一段时间,之前用的ftp,挺麻烦的,然后10月20号晚上下定决心安装svn。

也整了好几个小时,占了好多坑,看了好多篇文章,好了,步入正题;


1.首先安装svn,命令如下:
a.  yum install -y subversion
b.  查看版本可以使用 svnserve --version 命令来看
[code]
[root@izwz91h7c6rjthp7a8fz4vz /]# svnserve --version
svnserve, version 1.7.14 (r1542130)
   compiled Aug 23 2017, 20:43:38


Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/


The following repository back-end (FS) modules are available:


* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.


Cyrus SASL authentication is available.
[/code]


c.  rpm -ql subversion查看安装位置
[code]
[root@izwz91h7c6rjthp7a8fz4vz /]# rpm -ql subversion
/etc/subversion
/etc/sysconfig/svnserve
/run/svnserve
/usr/bin/svn
/usr/bin/svnadmin
/usr/bin/svndumpfilter
/usr/bin/svnlook
/usr/bin/svnrdump
/usr/bin/svnserve
/usr/bin/svnsync
/usr/bin/svnversion
/usr/lib/systemd/system/svnserve.service
/usr/lib/tmpfiles.d/svnserve.conf
[/code]


这么看来svn安装好了,接下来就是配置等等的问题咯。


装逼模式开始:
2,创建svn版本库
a. 我先在home目录下创建svn,作为后面版本库的文件夹 mkdir /home/svn  
b. 创建版本库:svnadmin create /home/svn/tggui    tggui文件夹就是我一个项目的版本库了
c. tggui里面会生成几个文件夹及文件:conf db format hooks locks README.txt
d. 首先配置conf里面的文件 
1) vi /home/svn/tggui/conf/passwd   配置用户账号密码
在后面加就行  比如  tggui = tggui666,多个的话继续加,空行就行
tggui = tggui666
tgguitest = tggui888

2) vi /home/svn/tggui/conf/authz   配置权限
如:[版本库名称:/] 比如我的 [tggui:/] 然后空行写用户名 = 权限
完整的例子:
[code]
[tggui:/]
tggui = rw
tgguitest = rw
[/code]

3) vi /home/svn/tggui/conf/svnserve.conf  svn服务配置文件
                    打开如下注释,[b]并且前面不要留有空格[/b]
                    [code]
anon-access = none //匿名用户访问权限:无
auth-access = write //普通用户访问权限:读、写
password-db = passwd //密码文件
authz-db = authz //权限配置文件
realm = /home/svn/tggui  //版本库所在
[/code]


服务器上测试:svn:svn co svn://localhost/tggui   tggui就是我的版本库


svn更新自动同步到web目录:svn co svn://localhost/tggui /home/wwwroot/LAMP5.6/domain/tggui66/web/  --username tggui --password tggui666


/home/wwwroot/LAMP5.6/domain/tggui66/web/ 为我在amh面板绑定的站点tggui66路径,


接下就配置hooks了


进入hooks文件夹
cd /home/svn/tggui/hooks


复制一份post-commit.tmpl :
cp post-commit.tmpl post-commit


编辑post-commit:
vi post-commit


在后面添加如下代码:
export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn
WEB_PATH=/home/wwwroot/LAMP5.6/domain/tggui66/web/ #web访问目录
$SVN_PATH update $WEB_PATH --username tggui --password tggui666 --no-auth-cache  #设置同步账号密码


保存退出后把post-commit文件修改下用户组和用户:
chown www:www post-commit


然后修改post-commit权限:
chmod 755 post-commit 




关闭svn命令为:killall svnserve
启动svn命令为:svnserve -d -r /home/svn


值得说一下的是 启动命令启动到svn 如果启动到/home 可能就跑不起来哦


然后就可以使用svn客户端了。


以上还不得的话,请开启你的3690端口。








你可能感兴趣的:(svn,amh搭建svn,amh5.3搭建svn,svn服务器搭建)