• 欢迎访问VPS岛网站,国外VPS,国内VPS,国外服务器,国内服务器,服务器主机,测评及优惠码,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站 QQ群

Ubuntu下Apache+SVN搭建SVN服务多项目管理

Apache技术 大哥叔 103次浏览 已收录 0个评论

一、系统环境

root@ubuntu:~# cat /etc/issue

Ubuntu 16.04.2 LTS \n \l

二、创建svn组和用户

root@ubuntu:~# addgroup svnser

Adding group `svnser’ (GID 1001) …

Done.

root@ubuntu:~# useradd svnser -g svnser -m    #新增svnser用户,-g并指定所在的组svnser,-m同时创建svnser用户所在的家目录

三、安装Apache和svnserver

root@ubuntu:~# apt-get -y install apache2

root@ubuntu:~# apt-get -y install subversion  libapache2-svn

四、创建版本库目录

root@ubuntu:~# mkdir -p /data/svn

root@ubuntu:~# svnadmin create /data/svn/repos01

root@ubuntu:~# svnadmin create /data/svn/repos02

root@ubuntu:~# svnadmin create /data/svn/repos03

root@ubuntu:~# ls /data/svn/

repos01  repos02  repos03

root@ubuntu:~# ls /data/svn/repos01/

conf  db  format  hooks  locks  README.txt

五、创建项目目录结构并导入

root@ubuntu:~# mkdir -p test/{branches,tags,trunk}

导入项目到版本库(初始化):

root@ubuntu:/data/svn# svn import /root/test file:///data/svn/repos01 -m “test import” 

Adding         /root/test/branches

Adding         /root/test/tags

Adding         /root/test/trunk

Committing transaction…

Committed revision 1.

========================================================

/root/test   —————-> 需要导入的项目

file:///data/svn/repos01   —–> 表示一个项目的版本库

六、将SVN配置到apache中通过web方式访问

root@ubuntu:/etc/apache2# mkdir svn-repos

root@ubuntu:/etc/apache2/svn-repos# vim repos01.conf

<Location /svn/repos01>

    DAV svn

    SVNPath /data/svn/repos01

    AuthzSVNAccessFile /data/svn/repos01/conf/authz

    AuthType Basic

    AuthName “Subversion Repository”

    AuthUserFile /data/svn/repos01/conf/dev_passwd

    Require valid-user

</Location>

注:此配置文件告诉apache关于svn的访问路径已经相关配置文件,这里注意访问的根目录。重启apache服务器,然后就可以通过http://192.168.0.66:8000/svn/repos01进行访问  

###############################################

/etc/apache2/apache2.conf       <===========此文件新增如下一行:

IncludeOptional svn-repos/*.conf

################################################

/etc/apache2/ports.conf        <===========此文件修改Listen 80为:Listen 8000

################################################

/etc/apache2/sites-enabled/000-default.conf     <====此文件修改<VirtualHost *:80>为:<VirtualHost 127.0.0.1:8000>  ,新增一行ServerName 127.0.0.1

重启apache服务:/etc/init.d/apache2 restart


======================================

七、添加svn用户

root@ubuntu:/data/svn/repos01/conf# htpasswd -m -b -c /data/svn/repos01/conf/dev_passwd  test01 ‘PWDtest’      #第一次创建svn用户需要通过-c参数,第二次增加用户不用-c参数。

通过客户端或者浏览器进行访问输入http://192.168.0.66:8000/svn/repos01 

命令行使用svn checkout http://192.168.0.66:8000/svn/repos01  –username test01 –password PWDtest

八、用户权限设置

新增如下配置

root@ubuntu:/etc/apache2/mods-enabled# cat dav_svn.load

………略

LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so

LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so

LoadModule dav_fs_module /usr/lib/apache2/modules/mod_dav_fs.so

LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so

LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so

用户目录权限设置:

root@ubuntu:~# cat /data/svn/repos01/conf/authz 

[groups]                           #设置组

admin = test01,test          #设置组用户

[/]                              #项目版本库根目录,admin拥有读写权限

@admin = rw

* =                               # 其他用户无任何权限


可以通过nginx+proxy+allow 来控制用户IP访问限制


VPS岛 的文章和资源来自互联网,仅作为参考资料,如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。丨 转载请注明Ubuntu下Apache+SVN搭建SVN服务多项目管理
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址