设为首页 收藏本站
查看: 843|回复: 0

[经验分享] linux系统上安装svn服务器 环境linux+nginx+svnserver-dazeair

[复制链接]

尚未签到

发表于 2018-11-12 06:43:46 | 显示全部楼层 |阅读模式
  系统: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 = none
  auth-access = write
  password-db = passwd
  authz-db = authz
  realm = www
  在passwd文件中添加用户
  # vim passwd
  [users]
  admin = 123456
  dazeair = 123456
  user1 = 123456
  user2 = 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;认证失败
  还有可能出现找不到openssl错误,利用yum安装openssl和openssl-dev即可。
  看到这个恭喜,已经搭建成功了。
  设置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-8
  export LANG=en_US.UTF-8
  svn 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
  并且请保证文件有读写权限,chmod -R 777 /var/www
  到这里所有大功告成,现在可以用客户端测试下了,一般都用TortoiseSVN,地址为svn://IP地址/www。
  你的svn服务器搭建好了吗?是不是很简单。
  原创文章转载请注明:http://blog.dazeair.com/转载自:linux系统上安装svn服务器 环境linux+nginx+svnserver


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-633824-1-1.html 上篇帖子: CentOS配置Nginx官方的Yum源 下篇帖子: nginx与tomcat结合,动静分离
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表