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

[经验分享] Apache+svn搭建svn服务器

[复制链接]

尚未签到

发表于 2018-11-24 14:03:19 | 显示全部楼层 |阅读模式
Apache+svn搭建svn服务器

  内部服务器:192.168.1.30 CentOS6.3_x86_64
  内部开发:win7 64位
  外网服务器:CentOS5.8_x86_64
  

1,安装svn软件服务器端(192.168.1.30)
       yum install subversionsvnversion,版本 1.6.11 (r934486) 编译于 Jun 23 2012,00:44:03
       yum install mod_dav_svn 【加载模块用的】
yum install httpd【Apache/2.2.15 (Unix) Server built: Feb 22 2013 11:19:58】
都不用去找软件包,yum直接安装,也不用配置yum,CentOS是最小化安装
2,安装好了以后,会有svn的相关命令,
DSC0000.png

打开svn的配置文件subversion.conf,在/etc/httpd/conf.d/下面,其实大家都知道,/etc/httpd/目录是apache的目录,默认安装svn的时候就把svn的配置文件放在apache下面,说明这个配置很简单,事实说明,我配置完了真的很简单,只是我走了很多弯路。
配置文件最前面里有这两句,加载svn模块,如果没有,安装不成功。
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so


这个配置文件里默认的版本库在apache的根目录/var/html/www,里面还有创建版本库的步骤。
# To create a new repository "http://localhost/repos/stuff" using
# this configuration, run as root:
#
#   # cd /var/www/svn
#   # svnadmin create stuff   
#   # chown -R apache.apache stuff
#   # chcon -R -t httpd_sys_content_t stuff
这是默认的,如果要修改版本库的话,最下面Location有标签。我把我做的贴出来,做下说明。
应该都能看懂吧。

----------->这个/svn很重要,名字随意
   DAV svn
#  SVNParentPath /data/svn  --------->原来有这行,但是没有用
  SVNPath /data/svn ------->这行原来没有,我自己加进去的,这个目录就是svn版本库目录
#
#   # Limit write permission to list of valid users.
#   
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
      AuthType Basic
      AuthName "svn for matu"     ----------->导出的时候在对话框里显示
      AuthUserFile /data/passwd.conf   ----------->密码文件的位置,文件名随意
      AuthzSVNAccessFile /data/authz.conf  ----------->权限文件,文件名随意
      Require valid-user
#   

所有语句都有#号,把#号去掉表示生效,不去掉表示不生效
  
3,创建svn版本库
mkdir /data/svn -p

svnadmin create /data/svn
Chown apache:apache /data/svn -R
Chmod 777 /data/svn -R ---->权限问题还有待研究
ls /data/svn -l
创建成功的话会有以下内容
drwxrwxrwx. 2 apache apache 4096 3月  13 17:26 conf
drwxr-xr-x  3 apache apache 4096 3月  14 10:12 dav
drwxrwsrwx. 6 apache apache 4096 3月  14 14:37 db
-rwxrwxrwx. 1 apache apache    2 3月  14 00:53 format
drwxrwxrwx. 2 apache apache 4096 3月  14 00:53 hooks
drwxrwxrwx. 2 apache apache 4096 3月  14 00:53 locks
-rwxrwxrwx. 1 apache apache  229 3月  14 00:53 README.txt

4,添加用户,分配权限
给用户添加密码:
htpasswd -c /data/passwd.conf  username ---->位置跟配置文件里的一样,别搞错,给第一个用户添加密码时要加c,意思是创建这个文件,以后就不用加了。
打开权限文件:
vim /data/authz.conf ---->这个文件可以参考/data/svn/conf/authz文件写
在下面添加组,名字随意
  
[groups]

all = admin,zhangsan,lisi
design = zhangsan

  admin = admin
  phone = lisi
   分配权限
  [/]  ---->这个根目录是指/data/svn

@all = r  ----->组名前面加@
admin = rw ----->r读,w写
[svn:/design] ---->svn是指配置文件location标签里的svn,design是指版本库下面的一个文件夹,可以用管理员admin在客户端创建,同理其他文件夹也一样
@design = rw
lisi = r
  
5,至此,svn服务器端搭建完毕。如果是外网客户端访问内部局域网IP用http的80端口,一般IP没有开放80端口,还需要进httpd.conf修改默认端口,改用别的端口,并进路由器进行端口映射。

  我把80端口修改为81,192.168.1.30为svn服务器IP,打开httpd.conf
   Listen 192.168.1.30:81


ServerName svn.xxx.com    ----->内部可以用域名来访问,但是要在hosts设置
启动apache
  /etc/init.d/httpd start

可以在本地用浏览器打开:http://svn.xxx.com:81/svn,会弹出对话框提示输入用户名和密码,表示安装成功。
6,内部安装svn客户端
LanguagePack_1.7.10.23359-x64-zh_CN
TortoiseSVN-1.7.10.23359-x64-svn-1.7.7
  
我安装的是这两个包,可以去网上下载,安装完了要重启。设置为中文版我就不具体说明了。

7,外网web端使用
  
首先安装subversion,跟第2条服务器端一样,会有相关命令。


外网要访问内网的IP,需要在内网的路由器上进行映射转发,进入内网路由器。一般都是192.168.1.1,登录后打开转发规则----虚拟服务器,添加新条目。我的配置如下:
DSC0001.png

如果需要用域名方式来访问内网的svn,需要在客户端设置hosts,如果不需要直接用公网IP,就是不需要设置,这个公网IP就是内网的路由器用来访问外网的IP,可以在百度搜索里搜索IP。
域名方式访问:
1)在/etc/hosts中加入:外网IP  svn.xxx.com
2)svn checkout http://svn.xxx.com:81/svn  /xxx/xxx  ----前面为服务器端目录,后面会本地目录,就是把服务器端的数据导出到本地目录。
IP方式访问:
不用设置hosts,直接svn checkout http://外网IP:81/svn /xxx/xxx

  

  
这样svn服务器端,开发端,web端就设置完成了











运维网声明 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.yunweiku.com/thread-639100-1-1.html 上篇帖子: 为什么我们使用Nginx而不是Apache 下篇帖子: 隐藏Apache访问错误显示系统和版本信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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