unbuntu配置svn?

近期公司服務器重置系統,需要重裝svn,一下子頭大了,因為對linux系統不是特別熟悉,查了一些資料,終於搞定,現與大家分享下如何在ubuntu下安裝svn,也是給自己寫個筆記,當下次在裝svn的時候,當作參考

工具/原料

ubuntu

第一步:安裝apache

網上很多介紹,安裝apache執行命令:sudo apt-get install apache2

但遺憾的是,執行完後,有異常,下載的數據源找不到

unbuntu配置svn

更新數據源,執行命令:sudo apt-get update

unbuntu配置svn

數據源更新完成後,在執行命令:sudo apt-get install apache2,第一步的異常已經沒有了,可以成功安裝

unbuntu配置svn

安裝結束後,會自動啟動apache,但是啟動的時候報錯了,見下圖,因為apache安裝默認使用的是80端口,但是80端口已經被佔用了,那接下來我們需要修改下apache端口

unbuntu配置svn

apache2默認安裝在/etc/apache2目錄下,打開該目錄,能找到ports.conf文件,打開該文件,把所有的80端口改成81,443改成444

然後看文件註釋上說要/etc/apache2/sites-enabled/000-default文件,打開文件後,把 修改成81

unbuntu配置svn

unbuntu配置svn

修改完成後,重新啟動apache,執行命令:service apache2 restart,會看到下圖提示,此時我們需要修改下:/etc/apache2/apache2.conf文件

unbuntu配置svn

打開/etc/apache2/apache2.conf文件,添加上一句:ServerName localhost

再次重啟後錯誤消失。

unbuntu配置svn

unbuntu配置svn

打開網頁,輸入ip:81地址,看到index.html頁面顯示出來了,apache2成功啟動

unbuntu配置svn

安裝subversion

執行命令:sudo apt-get install subversion

unbuntu配置svn

執行命令:sudo apt-get install libapache2-svn

unbuntu配置svn

執行完上述2個命令,svn已經安裝完成,接下來需要創建版本庫,按照下面步驟:

1、創建一個svn版本庫的安裝路徑,我安裝在/mnt/svn下,

執行命令:mkdir repos

2、執行命令:svnadmin create /mnt/svn/repos

3、執行命令:chmod 777 -R /mnt/svn/repos

unbuntu配置svn

配置用戶名、密碼,執行命令:htpasswd -m /mnt/svn/passwd admin,提示如下異常,htpasswd沒有安裝

unbuntu配置svn

按照異常提示,執行命令:apt-get install apache2-utils

unbuntu配置svn

安裝成功後,在執行命令:htpasswd -m /mnt/svn/passwd admin,可以成功執行,輸入2次密碼,admin賬號即創建完成,創建成功後,可以看到在/mnt/svn下面多了一個passwd文件,該文件存儲了所有訪問svn的賬號信息,如果需要修改密碼,也是重複執行命令htpasswd -m /mnt/svn/passwd admin即可

unbuntu配置svn

配置用戶組、權限,在/mnt/svn目錄下創建文件auth,編輯該文件,存儲如下內容:

[groups]

developers=admin,liusx

[/]

@developers=rw

*=r

unbuntu配置svn

在svn目錄下的完整結構如下

auth:存儲用戶權限組

passwd:存儲用戶名、密碼

repos:版本庫,用於svn訪問

repository是重置系統之前創建的版本庫,也是我們接下來要集成進來的,需要說明一下,auth、passwd這兩個文件名稱、路徑可以自定義,之所以可以自定義,是因為在apache2中,我們可以指定這兩個文件的路徑和名稱

unbuntu配置svn

將svn配置到apache中

找到文件:/etc/apache2/mods-enabled/dav_svn.conf,打開編輯,加入如下代碼:

DAV svn

SVNParentPath /mnt/svn

AuthType Basic

AuthName "subversion repository"

AuthUserFile /mnt/svn/passwd

AuthzSVNAccessFile /mnt/svn/auth

Require valid-user

unbuntu配置svn

SVNParentPath:指向版本庫所在目錄,在該例中,我們創建的repos版本庫,存儲在/mnt/svn目錄下,這裡設置為:SVNParentPath /mnt/svn

AuthUserFile:指向用戶密碼配置文件

AuthzSVNAccessFile:指向用戶權限配置文件

如果需要配置多個版本庫,我們在/etc/apache2/mods-enabled/dav_svn.conf中,在多複製一份出來,設置好對應的文件路徑即可,在我們的上述例子中,我們因為重置系統需要恢復原來的svn所存儲的工程,那麼該步就很重要,否則之前的工程可全都不見啦。。。

unbuntu配置svn

啟動測試

重啟下apache2,執行命令:service apache2 restart

啟動成功後,我們可以測試下新部署的svn有沒有成功,打開瀏覽器,輸入地址:在彈出框中輸入用戶名,密碼,見到下圖,表示svn部署成功

unbuntu配置svn

相關問題答案