centos7基於SVN+Apache+IF.svnadmin實現SVN的web管理


一、介紹

  本文介紹的是CentOS7上搭建基於Apache、SVN Server、iF.svnadmin實現web后台可視化管理SVN。

  iF.SVNAdmin應用程序是Subversion授權文件基於Web的GUI。該應用程序不需要數據庫后端,它完全基於Subversion授權和用戶認證文件。

二、 軟件准備

  安裝相關軟件包

  1.安裝apache

# yum install httpd -y

  2.安裝svn服務器(其中,mod_dav_svn是apache服務器訪問svn的一個模塊)

# yum install mod_dav_svn subversion -y

  3.安裝完成后可以通過如下命令查看是否安裝成功

# httpd -version
# svnserve --version
# ls /etc/httpd/modules/ | grep svn

  4.在apache下配置svn

# vi /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>

  5.Apache使用ssl模塊配置HTTPS

  a、安裝OpenSSL

# yum install mod_ssl openssl

  安裝完畢后,會自動生成 /etc/httpd/conf.d/ssl.conf 文件。

  b、生成一個自簽名證書

  下面的命令可以被用來產生一個自簽名的證書。

  首先,生成2048位的加密私鑰

# openssl genrsa -out server.key 2048

  然后,生成證書簽名請求(CSR),這里需要填寫許多信息,如國家,省市,公司等

# openssl req -new -key server.key -out server.csr

  最后,生成類型為X509的自簽名證書。有效期設置3650天,即有效期為10年

# openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

  創建證書后,將文件復制到對應的目錄。

# cp server.crt /etc/pki/tls/certs/
# cp server.key /etc/pki/tls/private/        
# cp server.csr /etc/pki/tls/private/

  c、配置Apache Web服務器

  首先,修改下面的配置文件。僅需配置SSLCertificateFile和SSLCertificateKeyFile

# vi /etc/httpd/conf.d/ssl.conf

### overwrite the following parameters ###
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/server.key

### The following parameter does not need to be modified in case of a self-signed certificate. ###
### If you are using a real certificate, you may receive a certificate bundle. The bundle is added using the following parameters ###
SSLCertificateChainFile /etc/pki/tls/certs/example.com.ca-bundle

  然后,重新啟動httpd服務使更改生效。

  三、建立SVN Server倉庫

  通過如下命令建立svn倉庫,其中/var/www/svn是准備放倉庫的目錄,這個目錄可以放置多個代碼倉庫。

# mkdir /var/www/svn
# svnadmin create /var/www/svn/test-project
# ls /var/www/svn/test-project

# chown -R apache.apache /var/www/svn

  創建用戶文件passwd和權限控制文件authz

# touch /var/www/svn/passwd
# touch /var/www/svn/authz
# chmod -R 777 /var/www/svn/passwd
# chmod -R 777 /var/www/svn/authz

  四、配置安裝PHP&IF.SVNadmin

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

# yum install php -y

  安裝配置if.svnadmin(http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download)

# unzip svnadmin-1.6.2.zip
# mv iF.SVNAdmin-stable-1.6.2/ /var/www/html/svnadmin
# cd /var/www/html
# chown -R apache.apache svnadmin
# cd /var/www/html/svnadmin
# chmod -R 777 data

  五、啟動服務

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

# firewall-cmd --zone=public --add-port=80/tcp --permanent
# firewall-cmd --reload

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

# vi /etc/sysconfig/svnserve

OPTIONS="-r /var/svn"    

  通過如下命令來啟用服務

# systemctl start httpd.service

  如下命令使其開機自啟動

# systemctl enable httpd.service

  重啟Apache

# systemctl restart httpd.service

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

 

配置完成會提示默認的賬戶為admin/admin。

六、iF.SVNAdmin使用

設置項目

 

設置用戶

 

設置權限

 

查看項目用戶

 


免責聲明!

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



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