Ubuntu下Apache+SVN搭建SVN服务多项目管理
2017-05-26 15:40
609 查看
一、系统环境
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访问限制
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访问限制
相关文章推荐
- 在Ubuntu上搭建svn服务器 ; 创建svn服务器 ; SVN 项目管理
- Ubuntu下搭建Apache+SVN服务
- Linux下快速搭建SVN服务管理项目源代码
- Apache+SVN+Trac搭建项目管理服务器的安装与配置详解!
- VMware+Ubuntu14.04.5+Trac-1.2+svn 搭建轻量级软件项目缺陷管理工具
- Ubuntu系统下搭建Redmine项目管理系统详细说明(包括配置apache服务器)(一)搭建本地Redmine
- Ubuntu系统下搭建Redmine项目管理系统详细说明(包括配置apache服务器)(二)Web服务器apache配置
- ubuntu服务器建设---结合apache搭建svn服务器
- [svn] 一个版本库对应一个项目 svn服务务器搭建 祥解
- Ubuntu 下搭建svn,Apache报错:options请求返回无效xml
- ubuntu搭建svn服务器+apache http访问
- centos下搭建svn+apache服务
- 【原创】在Windows 环境下利用SVN和Apache以及Ankh配置源代码管理服务
- 在rhel6下搭建简单Nexus+svn项目管理环境
- ubuntu 搭建SVN服务
- Ubuntu Server Apache + SVN 的搭建笔记
- SVN+Trac+Apache 软件项目版本控制及Bug跟踪平台搭建
- 转自:Technology Life博客 使用VisualSVN Server和TotoiseSVN 搭建项目管理
- 项目管理实践教程一、SVN 服务器搭建