閱讀目錄php
公司最近想把Windows server平臺的SVN遷移到Linux平臺;這邊通過測試成功,因此寫個隨筆記錄一下html
今天寫的是CentOS7上搭建基於Apache,http訪問的SVN Server;和IF.svnadmin實現web後臺可視化管理SVNweb
iF.SVNAdmin應用程序是您的Subversion受權文件的基於Web的GUI。它基於PHP 5.3,須要安裝一個Web服務器(Apache)。數據庫
該應用程序不須要數據庫後端或任何相似的,它徹底基於Subversion受權和用戶認證文件。(+包含用戶和組的LDAP支持)apache
安裝相關軟件包vim
安裝過程以下: 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>
經過以下命令創建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
因爲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
若是開啓了防火牆, 須要開啓httpd訪問權限svn
[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」下關聯對應項目的用戶,並分配相關讀寫權限。