CentOS 搭建svn並且支持https 支持eclipse

現在都7.6版本了,故更新一下文檔~

 

1.安裝svn@[TOC](文章目錄)

yum install mod_dav_svn subversion

#安裝完成檢查
svn --version

確定存放版本庫的地址(我的地址是/data):

cd /
mkdir data
  • 創建庫
cd /data
mkdir svn
#(注:此處不先建立文件夾可能會報錯)

svnadmin create /data/svn/test

        這個一步操作完成就能在/data/svn下面找到test這個庫,進入test,能看到conf,等等一些文件夾。

        現在我們不用管這些文件及配置,因爲這裏面的配置只針對svn://訪問的,所以不用管。

#啓動:
svnserve  -d  -r  /data/svn
#關閉:
ps -ef | grep svnserve
#查詢svnserve的端口,查兩個,kill掉上面一個就行
kill -9 ****(此處爲端口號)

        要實現https訪問svn庫,所以繼續下面的操作!

2.安裝apache

yum install httpd httpd-devel

        安裝過svn,現在繼續安裝apache這樣就能通過http訪問了,同樣的,如果有提示是否安裝,直接同意。

        其實剛纔安裝svn的時候應該就已經裝了apache。

        這個一步驟有可能提示nothing to do啥的,(意思你是裝過了)不用理會,繼續下面的步驟

        我們需要創建一個存放密碼的文件,此密碼文件裏面的密碼是亂碼的。

        我的密碼及配置文件存放在/usr/local/svn/conf這個文件夾下面的:

        先通過mkdir建立相關的文件夾,然後執行下面命令

#此處必須是詳細地址,否則會報錯
htpasswd –c /usr/local/svn/conf/passwd admin
#後面的admin表示用戶名是admin

        然後會讓你輸入密碼,輸入兩次密碼即可,-c的意思是創建這個文件,以後你要添加用戶可以這樣:

        #htpasswd –mb /usr/local/svn/conf/passwd zhagnsan zhangsan123

        意思是創建用戶名:zhagnsan,密碼:zhagnsan123的用戶,這個命令要好一些,因爲不用輸入兩次密碼了

        而且兩次密碼很容易輸錯的,因爲你看不到你輸入的東西。  

cd /usr/local/svn/conf
vim authz

[aliases]

[groups]
Admins = admin

[/]
@Admins = rw
* =

        就這幾句話就可以了,稍微解釋一下:

        groups表示組,設置一個名字爲Admins的組,組裏有一個用戶名爲admin,設置Admins這個組對[/]所有庫都有讀寫權限rw

        [/]表示所有

        [project:/]表示project這個庫

        r表示讀,w表示寫

        *= 表示其他匿名用戶沒有權限

        設置組名的時候不用@,但是使用這個組的使用必須加上@。

 

        也可以設置獨立的用戶對這個庫有權限如下:

        [project:/]

        zhangsan = rw

        lisi = r

        *=

        這個表示zhangsan有讀寫,lisi只有讀,匿名沒有權限。

        最後保存一下:wq搞定

 

#修改10-subversion.conf
cd /etc/httpd/conf.modules.d
vi 10-subversion.conf

        在最後面添加如下內容:(快捷鍵:vi 進去後shift+g 跳到最後一行 按o編輯即可)

<Location /svn>
  DAV svn
  SVNParentPath /usr/local/svn/data
  SVNListParentPath on
  AuthType Basic
  AuthName "Welcome ~"
  AuthUserFile /usr/local/svn/conf/passwd
  AuthzSVNAccessFile /usr/local/svn/conf/authz
  Require valid-user
  #SSLRequireSSL
</Location>

 

        都配置完成了啓動httpd

systemctl start httpd.service

 

        httpd的重啓命令和停止命令如下:

#重啓or停止
systemctl restart httpd.service
systemctl stop httpd.service

        

        配置完這些還需要設置svn那個文件夾的權限,命令如下:

chmod -R 775 /data/svn

         可能還會報錯500 操作如下:

cd /data/svn
chown -R apache.apache test
#chcon -R -t httpd_sys_content_t test

         完成這幾步操作可以在瀏覽器上輸入http://ip/svn/test就可以訪問了

 

3.安裝openssl       

yum  install mod_ssl openssl

如果你使用自己申請的證書請按照這個步驟操作{

複製自己的個人公鑰複製到 /etc/pki/tls/certs/*.crt
私鑰複製到 /etc/pki/tls/private/*.key

and
cd /etc/httpd/conf.d
vi ssl.conf

SSLCertificateFile /etc/pki/tls/certs/*.crt
SSLCertificateKeyFile /etc/pki/tls/private/*.key

#改爲自己的內容後
vi /etc/httpd/conf.modules.d/10-subversion.conf
將倒數第二行內容註釋放開 SSLRequireSSL

#重啓httpd,搞定~

}

#此步驟新建一個證書~(有證書請跳過)
#步驟稍微麻煩一些,直接複製即可:
cd /etc/pki/tls/private
openssl genrsa -out my.key 1024
openssl req -new -key my.key -out my.csr

        創建這個文件my.key

        會讓你輸入以下東西:

            Country Name (2letter code) [XX]:CH

            State or Province Name (full name) []:Shanghai

            Locality Name (eg, city) [Default City]: Shanghai

            Organization Name (eg, company) [Default Company Ltd]:w*****.com

            Organizational Unit Name (eg, section) []:CS

            Common Name (eg, your name or your server's hostname) []:***

            Email Address []:6******@qq.com

 

        後面還有兩個,直接輸入回車就行了,不用填寫

cd /etc/pki/tls/certs
openssl x509 -req -days 3650 -in /etc/pki/tls/private/my.csr -signkey /etc/pki/tls/private/my.key -out my.crt

        3650的意思是設置許可證爲10年

 

        然後修改/etc/httpd/conf.d/ssl.conf

        找到這兩個地方改動一下並保存。修改這兩個值:SSLCertificateFile 和SSLCertificateKeyFile

SSLCertificateFile /etc/pki/tls/certs/my.crt
SSLCertificateKeyFile /etc/pki/tls/private/my.key

        去到剛纔修改的那個文件裏面

vi /etc/httpd/conf.modules.d/10-subversion.conf
#將倒數第二行內容取消註釋
SSLRequireSSL

       

        大功告成,重啓httpd

       

systemctl restart httpd.service

==============補充======================

        後續如果需要加用戶直接:

       

htpasswd –mb /usr/local/svn/conf/passwd zhangsan ahang123456

        如果要加庫:

svnadmin create data/svn/kukuku

        如果要改動配置文件,添加權限啥的,修改authz這個文件

vim /usr/local/svn/conf/authz

 

        有可能你們會遇到一些問題,確認防火牆是否關閉,確定httpd是否啓動。

        各位有興趣的可以關注下,有問題可以評論提問,謝謝觀看

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章