centos7部署if.svnadmin可視化管理svn


Centos 7下部署svn后,添加倉庫、分配權限、創建賬號等都需要登錄服務器操作,人員較多時不太方便。

svnadmin可以實現web后台方式可視化管理svn。

svn可視化管理svnadmin,有基於php的IF.svnadmin和基於java的jsvnadmin兩款。

本篇記錄一下php寫的if.svnadmin,另一篇記錄java寫的jsvnadmin。

iF.SVNAdmin

iF.SVNAdmin應用程序是您的Subversion授權文件的基於Web的GUI。它基於PHP 5.3,需要安裝一個Web服務器(Apache)。該應用程序不需要數據庫后端或任何類似的,它完全基於Subversion授權和用戶認證文件。(+包含用戶和組的LDAP支持)

一,安裝軟件

安裝過程如下:

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
<Location /svn/>
DAV svn
SVNParentPath /var/www/svn 
AuthType Basic            
AuthName "Authorization SVN"
AuthUserFile /var/www/svn/passwd 
AuthzSVNAccessFile /var/www/svn/authz
Require valid-user        
</Location>
RedirectMatch ^(/svn)$ $1/

4. yum安裝php
[root@localhost ~]# yum install php -y

5,下載if.svnadmin
#此處需翻牆
wget http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download

[root@localhost tools]# ls svnadmin-1.6.2.zip 
svnadmin-1.6.2.zip
#unzip解開后 mv到/var/www/html/ 改名為svnadmin
cd /var/www/html
chown -R apache.apache svnadmin

#網上大部分需授權svnadmin/data目錄權限為777,經測默認即可。
[root@localhost html]# cd /var/www/html/
[root@localhost html]# ll
total 4
drwxr-xr-x 9 apache apache 4096 Aug 29  2013 svnadmin

 

二,創建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

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

[root@localhost html]# cat /etc/sysconfig/svnserve
# OPTIONS is used to pass command-line arguments to svnserve.
#
# Specify the repository location in -r parameter:
#OPTIONS="-r /var/svn"
OPTIONS="-r /var/www/svn"

#如果不使用svn://ip/xxx方式請求,測出svn無需啟動。(貌似也沒啥用)

三,啟動服務

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

#添加開機自啟服務
[root@localhost ~]# systemctl enable httpd.service

四,訪問

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

 

 

 常見問題:

1,創建了代碼倉庫后,配置訪問路徑時不顯示倉庫問題?

處理辦法:起初出現這種情況時,我創建了BCD;CDE倉庫,重啟apache、退出重新登錄都不好使,最好只好刪除/var/www/html/ 目錄下的 svnadmin目錄,然后重新將svnadmin壓縮包解壓至此,刷新即可。

  但,在嘗試了數次之后,總覺得這辦法不靠譜,直到最后解壓開svnadmin壓縮包后,不對svnadmin/data目錄進行777的授權,權限太大不好。結果就順便解決了上面創建倉庫無法在訪問路徑下顯示的問題了。

2,創建代碼倉庫后,另一種情況是如果訪問路徑不顯示時,需要點擊創建的倉庫名前的五角星,然后新建即可。

3,創建了父目錄后,無法創建子目錄或多個子目錄?

解決辦法:在創建了父目錄test1后,還想在test1下創建一個子目錄和多個子目錄時,svnadmin就不能使用了,直接在test1目錄下提交多個子目錄,然后再登錄web端就可以查看到下面的子目錄了。

 


免責聲明!

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



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