按照如下步驟快速搭建centos6下的svn系統并支援https協定checkout和import代碼,親測成功!
1.【基本包yum安裝】
yum httpd subversion mod_dav_svn mod_ssl
2.【建立版本庫并設定版本庫目錄權限】
mkdir -pv /ce/rui
svnadmin create /ce/rrui/www
chmod -R 700 /ce/rui
chown -R apache:apache /ce/rui
3.【在/etc/httpd/conf.d/下subversion.conf檔案中添加項目路徑,可設定多個項目】
<Location /ce> --設定通路目錄
DAV svn --子產品
SVNParentPath /ce/rui --版本庫根目錄,在運作svnserve -d -r 時指定,我們測試指定的是/ce/rui,并在/etc/rc.d中增加svnserve -d -r /ce/rui
AuthType basic --認證類型
AuthName "svn authorization" --登陸認證提示
AuthUserFile /ce/passwd--認證使用者檔案 AuthzSVNAccessFile --/ce/auth.conf --svn權限檔案
Require valid-user --有效賬戶
</Location>
4.【添加認證使用者】
htpasswd -c /ce/passwd rui
5.【配置/ce/auth.conf svn版本庫下的各個使用者對各個項目的權限】
vim /ce/auth.conf配置内容如下
[groups]
admin = rui,ce,admin
user = caodan
[/]
@admin = rw
caodan = r
重新設定/ce目錄的屬主是apache,主要是針對剛剛建的auth.conf的,因為我們現在的使用者是root,是以建立的auth.conf屬主是root,則改下
chown -R apache:apache /ce
啟動svn并重新開機httpd
service httpd restart
svnserve -d -r /ce/rui并将此句加入到/etc/rc.local設定開機啟動
6.【測試】在windows用TortoiseSVN導入一個 項目
導入的目錄版本系統url路徑是如下标記
測試導入項目完成
浏覽器效果
到上面一個基于apache的svn版本控制系統就搭建完了,
注意哦!,上面的url路徑是http,此時我們還沒設定ssl,記住此處是為了下面的效果對比哦!
附加基于apache的svn系統增添ssl的https協定,
【附svn+ssl】快速配置如下
1.【cd到/etc/httpd/conf/目錄生成密鑰檔案】
openssl genrsa -out httpd.key 1024
2.【由密鑰生成自簽證書】
openssl req -new -key httpd.key -out httpd.pem -days 3650 -x509
依次填寫:國家,省份,城市,公司,部門,網絡名,郵箱完成
3.【修改/etc/httpd/conf.d/ssl.conf使用前步驟生成的證書和私鑰】
未改前
改成
修改/etc/httpd/conf/httpd.conf強制使用SSL
在<Directory />
</Directory>标簽中曾SSLRequireSSL即可
重新開機httpd
測試
包這個錯,先前以為是openssl-devel包沒裝,svn也需重新開機,但猜想一一被否決.原本還測試成功的啊!我靠,神馬 問題啊?留着有空再解決,大家對不住了!