前面有一篇配置獨立服務器svn方式,這次將svn與apache整合同時爲了保證數據傳輸的安全啓用ssl加密。將svn+apache+ssl整合到一起。
爲了使大家快速安裝,這裏使用全部yum安裝(安裝之後的配置與源碼相同)。
安裝
我的平臺是 redhat 5.4 ,首先大家需要構建一個yum環境
# mkdir /media/cdrom/
# mount /dev/cdrom /media/cdrom/ --創建一個文件夾並把系統光盤掛在這個文件上
# mount /dev/cdrom /media/cdrom/ --創建一個文件夾並把系統光盤掛在這個文件上
#vim /etc/yum.repo.d/server.repo 加入以下內容
[base]
name=Server
baseurl=file:///media/cdrom/Server
enable=1
gpgcheck=0
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>
DAV svn
SVNParentPath /svn/date
AuthType Basic
AuthName "svn"
AuthUserFile /svn/passwd
AuthzSVNAccessFile /svn/auth.conf
Require valid-user
</Location>
#
DAV svn DAV 模塊名稱(我們這裏也就是svn)
#
SVNParentPath /svn/date
我們的庫文件夾
#
AuthType Basic 驗證方式
AuthName "svn" 驗證名稱
AuthUserFile /svn/passwd 驗證用戶的文件
AuthzSVNAccessFile /svn/auth.conf 用戶權限文件
Require valid-user 這項是說明/svn/passwd文件內說有用戶都可以訪問
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
admin = neo,tina
[/]
neo=rw
tina=r
# chown -R apache:apache /svn/ 再次修改文件所屬
這樣我們apache+svn就搭建好了
啓用服務:
# service httpd start
# svnserve -d -r /svn/date/
# svnserve -d -r /svn/date/
測試![]()
導入文件
輸入賬戶密碼
傳輸完成。
這樣子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:一定要注意權限問題。