centos7搭建SVN+Apache+IF.svnadmin實現web管理SVN,centos7svn
閱讀目錄
- 1. 介紹
- 2. 軟體準備
- 3. 建立SVN Server倉庫
- 4. 配置安裝PHP&IF.SVNadmin
- 5. 啟動服務
1.介紹
公司最近想把Windows server平台的SVN遷移到Linux平台;這邊經過測試成功,所以寫個隨筆記錄一下
今天寫的是CentOS7上搭建基於Apache,http訪問的SVN Server;和IF.svnadmin實現web後台可視化管理SVN
2. 軟體準備
安裝相關軟體包
安裝過程如下:1.安裝apache[root@localhost ~]# yum install httpd -y2.安裝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.soLoadModule authz_svn_module modules/mod_authz_svn.so<Location /svn>DAV svnSVNParentPath /var/www/svn #svn的根目錄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/svnserveOPTIONS="-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”下關聯對應項目的使用者,並分配相關讀寫權限。
Sungeek原創,轉載記得備忘出處謝謝!
http://www.cnblogs.com/Sungeek/