前面有一篇配置獨立伺服器svn方式,這次将svn與apache整合同時為了保證資料傳輸的安全啟用ssl加密。将svn+apache+ssl整合到一起。
為了使大家快速安裝,這裡使用全部yum安裝(安裝之後的配置與源碼相同)。
安裝
我的平台是 redhat 5.4 ,首先大家需要建構一個yum環境
# mkdir /media/cdrom/
# mount /dev/cdrom /media/cdrom/ --建立一個檔案夾并把系統CD光牒挂在這個檔案上
修改yum配置檔案
#vim /etc/yum.repo.d/server.repo 加入以下内容
[base]
name=Server
baseurl=file:///media/cdrom/Server
enable=1
gpgcheck=0 安裝軟體
# yum install httpd mod_dav_svn subversion mod_ssl 檢視是否安裝成功
#svn --version 如果出現版本号如

則說明svn安裝成功
檢視httpd配置檔案/etc/httpd/conf/httpd.conf
如果找到
這說明apache子產品安裝正确
配置
1.建立版本庫
# mkdir -pv /svn/date --建立主目錄
# svnadmin create /svn/date/www --建立倉庫
2.更改權限
# chmod -R 700 /svn/date/ --修改庫的其他人無權限
# chown -R apache:apache /svn/date/ --修改庫的所屬
3.更改apache配置
#vim /etc/httpd/conf/httpd.conf
加入以下内容
<Location /svn>
DAV svn
SVNParentPath /svn/date
AuthType Basic
AuthName "svn"
AuthUserFile /svn/passwd
AuthzSVNAccessFile /svn/auth.conf
Require valid-user
</Location>
#
<Location /svn> 表示你的通路目錄
#
DAV svn DAV 子產品名稱(我們這裡也就是svn)
#
我們的庫檔案夾
#
AuthType Basic 驗證方式
AuthName "svn" 驗證名稱
AuthUserFile /svn/passwd 驗證使用者的檔案
AuthzSVNAccessFile /svn/auth.conf 使用者權限檔案
Require valid-user
這項是說明/svn/passwd檔案内說有使用者都可以通路
4.建立apache賬戶
第一次 # htpasswd -c /svn/passwd neo -c 表示建立一個檔案以後就不需要加了
# htpasswd /svn/passwd tina
# vim /svn/auth.conf 編輯權限檔案 加入以下内容
[groups]
admin = neo,tina
[/]
neo=rw
tina=r [groups]使用者組定義 [/]表示對主目錄的權限設定 可以看出neo是讀寫,tina是隻讀。
# chown -R apache:apache /svn/ 再次修改檔案所屬
這樣我們apache+svn就搭建好了
啟用服務:
# service httpd start
# svnserve -d -r /svn/date/ svnserver 的選項 -d 表示以守護程序方式開啟 -r 後面跟庫目錄
測試
導入檔案
輸入賬戶密碼
傳輸完成。
這樣子apache+svn就可以使用了,但是我們的http在網絡上什麼都是明文傳遞的 這樣我們的資料是非常不安全的,是以我們将這個伺服器與ssl整合到一起
1.生産密鑰檔案
#cd /etc/httpd/conf
# openssl genrsa -out httpd.key 1024 生成一個私鑰檔案
# openssl req -new -key httpd.key -out httpd.pem -days 3650 -x509
利用這個私鑰生成一個自簽證書(因為svn使我們公司内部人員使用)
再紅線處依次填寫:國家,省份,城市,公司,部門,網絡名,郵箱完成。
修改apache使ssl生效
# vim /etc/httpd/conf.d/ssl.conf
在紅線處 ×××和私鑰位址
# vim /etc/httpd/conf/httpd.conf 加入紅線那行(表示強制使用ssl連接配接)
重新開機apache.
浏覽器通路 https://192.168.127.5/svn/www
表示已經打開ssl連接配接了
連接配接svn時就需要用https了
加入開機啟動
# chkconfig httpd on
# vim /etc/rc.local
加入紅線行
到此apache+svn+ssl整合完成。
ps:一定要注意權限問題。