總體實現
1、下載安裝svn服務器 svn訪問
2、下載安裝apache2 http訪問
3、配置apache2 https訪問
4、配置svn用戶權限
1、創建svn 服務器
http://zhoujian1982318.iteye.com/blog/1694978
https://blog.csdn.net/qq_33456723/article/details/50943502
svnserve -d -r /home/build01/workspace/repository/svn 啓動服務器(這種只是svn://方式才需要)
sudo svnadmin create /home/build01/workspace/repository/svn/BuildFileDemo 創建版本庫
1.1可通過svn方式下載代碼
svn co svn://192.168.7.209/svn/BuildFileDemo 只需要apa啓動
2、配置支持http方式
https://www.kancloud.cn/huyifeng/ubuntu-apache-svn/358179 重要
2.1 配置apa svn倉庫
sudo vim /etc/apache2/mods-available/dav_svn.conf 增加如下
<Location /svn>
DAV svn
SVNParentPath /home/build01/workspace/repository/svn
AuthType Basic
AuthName "my svn repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>
2.2 增加svn 用戶名密碼
sudo htpasswd -c /etc/apache2/dav_svn.passwd build01 增加http svn密碼 密文
2.3.重啓apache服務,此時可以通過http://192.168.7.209 訪問網頁 即目錄/var/www
sudo /etc/init.d/apache2 restart
2.4、可通過http下載代碼
svn co http://192.168.7.209/svn/BuildFileDemo 只需要apa啓動
Apache的默認安裝,會在/var下建立一個名爲www的目錄,這個就是Web目錄了
添加81端口
修改ports.conf
添加81端口監聽
修改sites-enabled
添加虛擬機
默認站點: /var/www/
配置目錄: /etc/apache2/
日誌目錄: /var/log/apache/
啓動腳本: /etc/init.d/apache2
3.配置支持https方式
3.1安裝OpenSSL
sudo apt-get install openssl
sudo a2enmod ssl 開啓SSL模塊
sudo a2ensite default-ssl 啓用SSL站點支持
sudo a2enmod rewrite 啓用rewrite模塊
3.2.創建證書
sudo openssl req -x509 -newkey rsa:1024 -keyout apache.pem -out apache.pem -nodes -days 999 按照提示輸入信息
創建證書有兩種方式:一種是自簽名證書,一種是第三方CA機構簽名證書。由於我們這裏的證書只是保證傳輸數據安全性,因此我們使用自簽名證書。
命令執行成功後會在當前目錄生成一個apache.pem的證書,將這個文件複製到apache的配置目錄/etc/apache2/ssl。
sudo mkdir /etc/apache2/ssl
sudo cp apache.pem /etc/apache2/ssl/
3.3.配置站點證書
sudo vim /etc/apache2/sites-available/default-ssl.conf
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
#SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
如果配置沒有問題,那麼我們通過https協議就可以訪問該IP地址了。
3.4.重啓Apache
sudo service apache2 restart
3.5、可通過http下載代碼
svn co https://192.168.7.209/svn/BuildFileDemo
4、配置用戶權限
4.1 sudo vim /etc/apache2/mods-available/dav_svn.conf 增加
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
4.2 創建/etc/apache2/dav_svn.authz 文件,設置用戶權限
[groups]
admin = build01,hcg 組用戶
[/]
@admin = rw
[test:/]
build01=rw
[test1:/]
hcg=rw
[test2:/]
xyk=rw
4.3重啓apa
sudo service apache2 restart