linux debian安装配置SVN服务器
来源:互联网 发布:微信端口开发 编辑:程序博客网 时间:2024/05/29 13:47
1.安装SVN:apt-get install subversion subversion-tools
2. 查看SVN版本: svnserve –version
3. 创建svn仓库存放路径:mkdir /home/svn
4. 创建仓库: root@debian:/home/svn# svnadmin create theyun
5. 重启SVN服务命令: killall svnserve ,svnserve -d -r /home/svn
6. 配置用户及权限】
svnserve.conf 中默认配置都是注释掉的把下列几个配置去掉注释,稍作修改
nano /home/svn/theyun/conf/svnserve.conf
[general]
anon-access = none // 拒绝匿名用户
auth-access = write // 有权限用户可读写
password-db = passwd // 指定密码配置文件的路径
authz-db = authz // 指定目录权限配置文件的路径
注:不能有空格
【配置用户】
配置用户名为zhangmengbo, 密码为123456
nano /home/svn/theyun/conf/passwd.conf
zhangmengbo=123456
【配置用户权限】
nano /home/svn/theyun/conf/authz.conf
#分组权限
[groups]
g_manager = zhangmengbo,zhuyulei,liujun
python_developer = zhangmengbo,zhuyulei,liujun
android_developer = zhangkun,tianjianguo
iOS_developer = duananqing,liusen
php_developer = songlu,zhuchuanxu,heyupeng,zhangshuai,zhangdongling
[/python]
@python_developer = rw
#* =
[/theyun_android]
@android_developer = rw
#* =
[/theyun_iOS]
@iOS_developer = rw
#* =
[/web_php]
@php_developer = rw
#* =
[/]
@g_manager = rw
注:[theyun:/]表示目录结构的相对根节点,@表示是一个组名,不是用户名,也可以换成单独的用户名,* 表示”除了g_manager里的人之外的其余所有人”,
* = r 表示”那些只能读,不能写”,* = 表示除了该部门开发者之外,任何人都被禁止访问本目录
*
查看svn程序监听的所有端口以及PID信息:netstat -anp |grep svn
二.设置钩子自动更新
实现SVN与WEB同步,可以CO一个出来,也可以直接用自动更新web目录的方法,我们要在svn版本库中配置钩子来实现,就是创建一个post-commit的配置文件,对其进行简单的配置,简简单单的四步就可以实现Linux下SVN自动更新web目录配置。
第一步:建立你的web程序目录
mkdir
/
var
/www/html/test
进入你建立的web程序目录(svn checkout可以简写为co)
svn checkout svn:
//localhost/svntest //不重命名文件夹,直接在当前目录下检出
svn checkout svn:
//localhost/svntest test //检出文件并且重命名文件夹
例如将当前目录导入版本库myproject:
svn import . file:///home/user/svn/myproject -m "导入文件"
第二步:在项目库的 hooks/ 目录下新建 post-commit 文件 【钩子脚本】
添加脚本内容如下
export LANG=en_US.UTF-8
SVN=/usr/bin/svn #这里配置的是svn安装bin目录下的svn文件
WEB=/
var
/www/html/test #要更新的目录
$SVN
update
$WEB
--username cqh --password 123456
chown
-R www:www
$WEB
or
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=zh_CN.UTF-8 #这里配置的是/etc/default/locale文件下的LANG="en_US.UTF-8" LANGUAGE="en_US:en"
svn up /var/www/html/qishi
其中SVN=右边改成 svn 命令位置
WEB=右边改成你实际的web目录
第三步:让post-commit有执行的权限
chmod
a+x post-commit
第四步:这里就已经完成了,第四步就是测试了。
说明:
export LANG=en_US.UTF-8是为了解决svn post commit 中文乱码,设置本地化编码,因为我的系统为UTF8编码,其实SVN默认就是UTF-8编码,如果编码是GBK的话不设置将会出现错误,而执行不成功,错误标识为
svn: Can
't convert string from native encoding to '
GBK'
/usr/bin/svn update --username cqh --password 123456 /var/www/html/test 执行更新操作
如果提示:
post-commit hook failed (
exit
code 255) with no output
赋予post-commit文件可执行权限
如果您的默认编码就是UTF-8的,要上传中文文件,先将文件另存为UTF-8格式在提交
- linux debian安装配置SVN服务器
- linux debian安装配置SVN服务器
- Linux安装配置SVN服务器
- Linux安装配置SVN服务器
- Linux 安装SVN服务器配置
- Linux安装配置SVN服务器
- Linux安装配置SVN服务器
- Debian下SVN服务器安装
- Debian下SVN服务器安装
- debian下安装配置svn
- 在linux中架设(安装)配置ftp服务器(debian)
- linux下安装配置svn独立服务器
- linux下安装配置svn独立服务器
- Linux下安装配置SVN服务器
- linux下SVN+Apache服务器安装配置
- [Linux] 安装配置svn独立服务器
- linux下安装配置svn独立服务器
- linux下svn服务器安装和配置
- 随笔 | Homebrew 更换国内源
- 浅谈对梯度下降的理解
- 自定义View三个小圆
- java 微信开发 捕捉手机回退按钮
- 半自动化安装系统(本地引导)
- linux debian安装配置SVN服务器
- 内存泄露与内存溢出
- java基础-head first java
- Python中sum函数的详细用法说明
- D3D11的纹理
- [RK3288][Android6.0] 调试笔记 --- RT5640播放时的Codec寄存器列表
- Java final 简单用法
- 用n元钱买橙子,6元/8元一包,不零卖。设计函数返回最少袋数或-1
- mysql group by中没有的字段 select中有 的情况说明