1. 程式人生 > >Ubuntu下Apache+SVN搭建SVN服務多項目管理

Ubuntu下Apache+SVN搭建SVN服務多項目管理

svn apache2

一、系統環境

[email protected]:~# cat /etc/issue

Ubuntu 16.04.2 LTS \n \l

二、創建svn組和用戶

[email protected]:~# addgroup svnser

Adding group `svnser‘ (GID 1001) ...

Done.

[email protected]:~# useradd svnser -g svnser -m #新增svnser用戶,-g並指定所在的組svnser,-m同時創建svnser用戶所在的家目錄

三、安裝Apache和svnserver

[email protected]

/* */:~# apt-get -y install apache2

[email protected]:~# apt-get -y install subversion libapache2-svn

四、創建版本庫目錄

[email protected]:~# mkdir -p /data/svn

[email protected]:~# svnadmin create /data/svn/repos01

[email protected]:~# svnadmin create /data/svn/repos02

[email protected]

*/:~# svnadmin create /data/svn/repos03

[email protected]:~# ls /data/svn/

repos01 repos02 repos03

[email protected]:~# ls /data/svn/repos01/

conf db format hooks locks README.txt

五、創建項目目錄結構並導入

[email protected]:~# mkdir -p test/{branches,tags,trunk}

導入項目到版本庫(初始化):

[email protected]:/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方式訪問

[email protected]:/etc/apache2# mkdir svn-repos

[email protected]:/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用戶

[email protected]:/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

八、用戶權限設置

新增如下配置

[email protected]:/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

用戶目錄權限設置:

[email protected]:~# cat /data/svn/repos01/conf/authz


[groups] #設置組

admin = test01,test #設置組用戶

[/] #項目版本庫根目錄,admin擁有讀寫權限

@admin = rw

* = # 其他用戶無任何權限




可以通過nginx+proxy+allow 來控制用戶IP訪問限制

本文出自 “點滴集” 博客,請務必保留此出處http://1606496.blog.51cto.com/1596496/1929869

Ubuntu下Apache+SVN搭建SVN服務多項目管理