Centos 搭建 svn 服务器
搭建好服务器之后,免不了需要搭建一个代码的版本控制,这里介绍如何在 Centos 服务器上搭建 svn 版本控制。
1、连接到远程服务器,并搭建 svn
yum install subversion |
安装完成后,会在命令行界面显示Complete!
2、安装好 svn 后,创建一个版本库。我个人比较习惯放在 /opt/ 目录下
mkdir -p /opt/svn/repos |
【配置】
创建版本库后,需要修改仓库的权限控制配置。进入到刚刚创建好的仓库目录,conf 目录存放该仓库的配置信息。里面有3个文件,
authz,passwd,svnserve.conf
passwd 表示用户的账号,密码
authz 表示有哪些用户,对当前仓库的目录访问权限
svnserve.conf 表示当前仓库的 svn 配置
(1)先设置passwd,配置多个用户时,以换行的格式区分
|
(2)设置authz
|
(3)配置svnserve.conf
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = passwd
authz-db = authz # 访问控制文件
realm = /opt/svn/repos #认证命名空间
|
【如何使用】
1、启动 svn 端口监听。这里监听的端口,要和服务器防火墙允许的端口一致。
另外,如果是使用阿里云服务器,除了服务器本身防火墙外,还需要在阿里云的防火墙进行端口开放。
svnserve -d -r /opt/svn/repos --listen-port 3391 |
通过监听不同的端口,一个服务器可以创建多个仓库。
2、同步到 web 目录下。通过钩子文件,实现 svn 提交后,同步到 web 目录。
(1)进入hooks目录下,复制post-commit.tmpl 到post-commit
(2)编辑 post-commit 文件
vi post-commit |
(3)并把内容修改成下面内容(ps:vi编辑器下,V + GG + D 删除文件全部内容)
#!/bin/bash |
(4)修改完成后,更改post-commit权限为755,使得文件有权限被执行
chmod 755 post-commit |
(5)设置好之后,在web目录先checkout一次svn才能同步过来。进入web目录下,过程会询问授权,按照操作输入yes 或者y 即可。
svn checkout svn://服务器ip:端口 /var/www/html --username username --password pwd |