linux系统上安装svn服务器 环境linux+nginx+svnserver
来源:互联网 发布:网络电视看不了直播 编辑:程序博客网 时间:2024/06/01 08:42
系统:Ubuntu 12.04 64位 lnmp环境
集成软件:PHP5.4.27、Nginx1.6.0、MySQL5.5.37
阿里云服务器
svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊。我这里是独立的服务器,svnserver。第一次接触感觉很麻烦,网上搜了很多,最后摸索出了一个适合阿里云服务器的环境配置方案。当然也适合普通服务器,linux系统。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
首先当然就是下载安装svnserver了
两种方法
# yum install subversion # apt-get install subversion
然后就是创建svn仓库我是创建在 /var/svndata目录下www目录的,这里目录可以自己定。当然这个目录得提前创建好
# cd /var# mkdir svndata# cd svndata# mkdir www
然后就是创建仓库了
# svnadmin create /var/svndata/www
修改配置文件
进入/var/svndata/www目录(这里的www目录不是网站的web目录,仓库名为www)
# cd /var/svndata/www# ls
会看到conf、hooks、db等目录,我们会用到的也就conf(配置目录)hooks(设置钩子,后面会讲到)
进入conf目录
# cd www
首先配置svnserve.conf
# vim svnserve.conf
修改(把前面的#号去掉,配置后面的值,共修改五行代码)
anon-access = noneauth-access = writepassword-db = passwdauthz-db = authzrealm = www在passwd文件中添加用户
# vim passwd
[users]admin = 123456dazeair = 123456user1 = 123456user2 = 123456这里设置了四个用户,分别为admin,dazeair,user1和user2。根据情况不同可以随意设置。
在authz中添加组和权限
# vim authz
[groups]group1 = admin,dazeair #group1组里的成员 group2 = user1,user2[/] #配置根目录的权限admin =rw #admin用户对[/]目录的权限:r读,w写@group1 = rw #@表示组,group1组有读写权限@group2 = r #group2组只有r读权限* = #这里表示其他用户无任何权限[www:/user1] #配置根目录(www目录)下的user1文件夹的权限user1 = rw[www:/user2] #配置user2文件夹的权限user2 = rw这里说明下,前面添加了四个用户,分了两个组,对于根目录group1拥有读写权限,而group2只有r权限。根目录(www目录)下有user1和user2两个文件夹,分别配置了user1和user2两个用户相应的权限。如不需要,可以不添加相应的代码。
启动svnserve
# svnserve -d -r /var/svndata/也可以使用 --listen-port 参数指定端口(默认端口3690),启动多个仓库正常情况下不会出现问题的,如出现请检查刚才的配置文件
项目目录为svn://localhost/www
创建svn仓库副本(nginx的读取目录,也就是web目录,我的web目录/var/www)
进入web目录
# cd /var同步
svn co svn://localhost/www显示如下
保存用户名与密码,实现之后的自动同步。
这里可能会出现 错误:svn:E170001;认证失败
看到这个恭喜,已经搭建成功了。
设置svn更新后自动更新web目录
# cd /var/svndata/www/hooks/里面会有很多.tmpl文件,这里我们只需要post-commit.tmpl文件,但这个文件只是模板文件,我们需要复制一份放在此目录下,命名为post-commit。
# cp post-commit.tmpl post-commit# vim post-commit在文件的底部修改和添加
# "$REPOS"/hooks/mailer.py commit "$REPOS" $REV "$REPOS"/mailer.conf # 注释掉这段代码export LANG=zh_CN.UTF-8export LANG=en_US.UTF-8svn update --no-auth-cache --non-interactive /var/www #主要是这段代码,最后的地址是web地址
说明:
#!/bin/sh 说明是执行shell命令,不需要修改
export LANG=zh_CN.GBK 是为了解决svn post commit 中文乱码,设置本地化编码,因为我的系统为GBK编码,SVN默认是UTF-8编码,如果不设置将会出现错误,而执行不成功,错误标识为svn: Can't convert string from native encoding to 'UTF-8'
到这里自动更新也解决了,下一步就是开机自动启动。
实现开机自动启动
将svnserve -d -r /var/svndata/ 写入/etc/rc.local即可实现开机启动(一般在etc文件下,或者/etc/rc.d/文件夹下)
# vim /etc/rc.local
svnserve -d -r /var/svndata/exit 0
ps:刚才配置的时候还有个user1之类的用户,user1只能管理user1目录,地址为svn://IP地址/www/user1
到这里所有大功告成,现在可以用客户端测试下了,一般都用TortoiseSVN,地址为svn://IP地址/www。
你的svn服务器搭建好了吗?是不是很简单。
原创文章转载请注明:http://blog.dazeair.com/转载自:linux系统上安装svn服务器 环境linux+nginx+svnserver
- linux系统上安装svn服务器 环境linux+nginx+svnserver
- linux系统上安装svn服务器 环境linux+nginx+svnserver
- linux下svnserver安装
- linux上安装svn服务器
- Linux服务器上安装nginx
- linux上nginx+apache 搭建 svn服务器
- linux系统安装nginx服务器
- Linux系统上安装nginx
- Linux系统环境下搭建SVN服务器
- linux 环境下安装SVN服务器
- linux环境下安装svn服务器
- Linux搭建Java服务器环境-Nginx安装
- CentOS Linux 上安装svn服务器
- linux(CentOS)上安装nginx服务器
- linux nginx svn 安装
- linux nginx svn 安装
- linux系统上安装apache+svn
- linux系统上安装svn服务
- 大家好
- cocos2d-x 3.0 使用UILayout布局开发
- Setting up an SSL secured Webserver with CentOS
- 2014.3.29阿里实习笔试
- C++利用gSoap调用WebService服务
- linux系统上安装svn服务器 环境linux+nginx+svnserver
- [Android] ImageView.ScaleType设置图解
- windows核心编程之进程间共享数据
- iOS开发笔记--异步加载UIImageView----AsyImageView
- H.265将于明年年初在国内视频领域大行其道
- kset_create_and_add
- Transportation uva+递归+回溯
- 【英语学习】六月份
- 链式基数排序