centos7搭建SVN+Apache+IF.svnadmin支持https實現web管理SVN


閱讀目錄

1、介紹

公司最近想把Windows server平台的SVN遷移到Linux平台;這邊經過測試成功,所以寫個隨筆記錄一下

今天寫的是CentOS7上搭建基於Apache,http訪問的SVN Server;和IF.svnadmin實現web后台可視化管理SVN

 

iF.SVNAdmin

iF.SVNAdmin應用程序是您的Subversion授權文件的基於Web的GUI。它基於PHP 5.3,需要安裝一個Web服務器(Apache)。

該應用程序不需要數據庫后端或任何類似的,它完全基於Subversion授權和用戶認證文件。(+包含用戶和組的LDAP支持)

2、軟件准備

安裝相關軟件包

安裝過程如下: 1.安裝apache [root@localhost ~]# yum install httpd -y 2.安裝svn服務器(其中,mod_dav_svn是apache服務器訪問svn的一個模塊) [root@localhost ~]# yum install mod_dav_svn subversion -y

3.安裝完成后可以通過如下命令查看是否安裝成功
[root@localhost ~]# httpd -version

[root@localhost ~]# svnserve --version
[root@localhost ~]# ls /etc/httpd/modules/ | grep svn

mod_authz_svn.so
mod_dav_svn.so
3.在apache下配置svn 

[root@localhost ~]# vim /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn   #svn的根目錄
SSLRequireSSL #SSL訪問權限 AuthType Basic #Basic認證方式 AuthName "Authorization SVN" #認證時顯示的信息 AuthUserFile /var/www/svn/passwd #用戶文件&密碼 AuthzSVNAccessFile /var/www/svn/authz #訪問權限控制文件 Require valid-user #要求真實用戶,不能匿名 </Location>

 

3、建立SVN Server倉庫

通過如下命令建立svn倉庫

其中/var/www/svn是准備放倉庫的目錄,這個目錄可以放置多個代碼倉庫

[root@localhost ~]# mkdir /var/www/svn

[root@localhost ~]# svnadmin create /var/www/svn/sungeek
[root@localhost ~]# ls /var/www/svn/sungeek
             --->  conf  db  format  hooks  locks  README.txt
[root@localhost ~]# chown -R apache.apache /var/www/svn

創建用戶文件passwd和權限控制文件authz
[root@localhost ~]# touch /var/www/svn/passwd 

[root@localhost ~]# touch /var/www/svn/authz

 

4、配置安裝PHP&IF.SVNadmin

由於iF.SVNAdmin使用php寫的,因此我們需要安裝php

[root@localhost ~]# yum install php -y

安裝配置if.svnadmin

[root@localhost ~]# wget http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download
[root@localhost ~]# cd /usr/src/
[root@localhost src]# unzip iF.SVNAdmin-stable-1.6.2
[root@localhost iF.SVNAdmin-stable-1.6.2]# cp -r iF.SVNAdmin-stable-1.6.2/ /var/www/html/svnadmin
[root@localhost ~]# cd /var/www/html
[root@localhost html]# chown -R apache.apache svnadmin
[root@localhost html]# cd /var/www/html/svnadmin
[root@localhost html]# chmod -R 777 data

 

5、啟動服務

如果開啟了防火牆, 需要開啟httpd訪問權限

[root@localhost ~]# firewall-cmd --permanent --add-service=http
[root@localhost ~]# firewall-cmd --permanent --add-service=https
[root@localhost ~]# firewall-cmd --reload 

通過查看文件/usr/lib/systemd/system/svnserve.service, 了解到svnserver的配置文件是/etc/sysconfig/svnserve
修改/etc/sysconfig/svnserve

[root@localhost ~]# vim /etc/sysconfig/svnserve
OPTIONS="-r /var/svn"     
======> OPTIONS="-r /var/www/svn" 

通過如下命令來啟用服務

[root@localhost ~]# systemctl start httpd.service

如下命令使其開機自啟動

[root@localhost ~]# systemctl enable httpd.service

重啟Apache

[root@localhost ~]# systemctl restart httpd.service

啟動webserver服務后,瀏覽器地址輸入http://ip/svnadmin出現配置界面,輸入下圖中配置信息,輸入每個配置信息可以點擊旁邊的Test測試是否輸入正確,最后保存配置

保存后,會提示默認的賬戶為admin/admin。

登陸后我們可以在“Repositories”下“add”,添加項目目錄;

在"Users"下添加用戶;

在“Access-Paths”下關聯對應項目的用戶,並分配相關讀寫權限。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM