1. 程式人生 > >svn+apache+ssl安裝配置,通過SSL訪問

svn+apache+ssl安裝配置,通過SSL訪問

text dav_svn top images fan 檢查 3.1 顯示 tps

系統環境:

[root@Linux-svn conf]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@Linux-svn conf]# uname -r
3.10.0-327.el7.x86_64

安裝SVN

[root@Linux-svn conf]# yum install -y subversion    #安裝SVN

[root@Linux-svn ~]# svn --version  #查看SVN版本
svn,版本 1.7.14 (r1542130)
   編譯於 Apr 11 2018,02:40:28

版權所有 (C) 2013 Apache 軟件基金會。
此軟件包含了許多人的貢獻,請查看文件 NOTICE 以獲得更多信息。
Subversion 是開放源代碼軟件,請參閱 http://subversion.apache.org/ 站點。

可使用以下的版本庫訪問模塊: 

* ra_neon : 通過 WebDAV 協議使用 neon 訪問版本庫的模塊。
  - 處理“http”方案
  - 處理“https”方案
* ra_svn : 使用 svn 網絡協議訪問版本庫的模塊。  - 使用 Cyrus SASL 認證
  - 處理“svn”方案
* ra_local : 訪問本地磁盤的版本庫模塊。
  - 處理“file”方案
[root@Linux-svn conf]# mkdir -p /home/data/svn/   #創建SVN目錄

[root@Linux-svn conf]# cd /home/data/svn/

[root@Linux-svn conf]# svnadmin create fendo   #創建倉庫

[root@Linux-svn conf]# cd fendo/conf/   #進入配置目錄

(1)svn服務配置文件:在conf目錄下,文件名為svnserve.conf
(2)用戶名口令文件:在conf目錄下,文件名為passwd
(3)權限配置文件,在conf目錄下,文件名為authz


[root@Linux-svn conf]# cp svnserve.conf svnserve.conf.ori  #備份配置文件預防出錯

[root@Linux-svn conf]# vim svnserve.conf   #修改為以下幾個參數

 anon-access = none  #匿名訪問的權限,可以是read,write,none,默認為read
 auth-access = write  #使授權用戶有寫權限
password-db = passwd  #密碼數據庫的路徑
authz-db = authz  #訪問控制文件
realm = /home/data/svn/fendo  #認證命名空間,subversion會在認證提示裏顯示,並且作為憑證緩存的關鍵字

修改passwd文件

[root@Linux-svn conf]# vim passwd
[users]  
admin = admin  
test = test

修改authz

[root@Linux-svn conf]# vim authz
[/]
admin = rw
* =
[/fendo]
test = rw
* =
[root@Linux-svn conf]# svnserve -d -r /home/data/svn/fendo/  #啟動SVN服務

[root@Linux-svn conf]# ps -ef|grep svn|grep -v grep
root      19711  20296  0 20:55 pts/0    00:00:00 vim svnserve.conf
root      21410      1  0 21:29 ?        00:00:00 svnserve -d -r /home/data/svn/fendo/

技術分享圖片

註意:

在svnserve.conf配置文件中配置了realm = /home/data/svn/fendo是無法這樣訪問的
技術分享圖片

安裝Apache支持HTTP訪問

[root@Linux-svn conf]#  yum install -y httpd mod_dav_svn

檢查Apache,mod_dav_svn是否安裝成功

[root@Linux-svn conf]# find / -name mod_dav_svn.so
/usr/lib64/httpd/modules/mod_dav_svn.so

[root@Linux-svn conf]# find / -name mod_authz_svn.so
/usr/lib64/httpd/modules/mod_authz_svn.so

修改配置文件/etc/httpd/conf.d/subversion.conf(沒有則新建),內容為:

[root@Linux-svn conf]# 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 /home/data/svn
    AuthType Basic
    AuthName "Authorization SVN"
    AuthzSVNAccessFile /home/data/svn/authz
    AuthUserFile /home/data/svn/passwd
    Require valid-user
</Location>

創建用戶文件passwd

[root@Linux-svn conf]# touch /home/data/svn/passwd   #創建用戶文件
[root@Linux-svn conf]# htpasswd /home/data/svn/passwd admin   #創建用戶admin密碼123456#web登陸使用的賬戶密碼
New password: 
Re-type new password: 
Adding password for user admin
[root@Linux-svn conf]# cat /home/data/svn/passwd    #查看用戶密碼
admin:$apr1$14TFxRn7$mBb78VyFANCN38NMDGUp/0

創建權限文件authz

[root@Linux-svn conf]# cp /home/data/svn/fendo/conf/authz /home/data/svn/authz

[root@Linux-svn conf]# cat /home/data/svn/authz

配置papche對SVN目錄權限

[root@Linux-svn conf]# chown -R apache:apache /home/data/svn/fendo

[root@Linux-svn conf]# ll /home/data/svn/
總用量 8
-rw-r--r-- 1 root   root   1125 8月  21 14:56 authz
drwxr-xr-x 6 apache apache   80 8月  21 15:06 fendo
-rw-r--r-- 1 root   root     44 8月  21 14:55 passwd

配置httpd

[root@Linux-svn conf]# vim /etc/httpd/conf/httpd.conf

AllowOverride None改為AllowOverride All

啟動apache

[root@Linux-svn conf]# service httpd start

httpd -v          #查看已經安裝的httpd的版本
rpm -qa | grep httpd  #查看是否已經安裝了httpd
ps -ef | grep httpd   #查看httpd的進程
service httpd status  #查看httpd的運行狀態
service httpd stop    #可以停止httpd
service httpd start   #可以啟動http

技術分享圖片

svn+apache+ssl安裝配置,通過SSL訪問