自從工做後,發現以前的代碼開發太隨便啦,因而通過不到兩年的工做積累,打算在本身開發軟件的過程當中好好管理本身的項目。因而打算搭建本身的項目服務器,去年搭建過一次,可是因爲沒有記錄,如今須要再來一遍,好多步驟忘記,同時又遇到了些新問題,在網上搜集不少資料,如今一步一步記錄下搭建的過程,都是本身驗證OK,須要的能夠參考參考。apache
一 安裝環境準備vim
1. 安裝如下用戶包:windows
$ sudo apt-get install subversion apache2 libapache-svn瀏覽器
(注意:若是不安裝libapache-svn, 在配置apache2時,DAV svn會出現錯誤,提示沒有dav模塊)服務器
完成以上安裝後,能夠直接訪問apache的主頁,在瀏覽器地址中輸入:http://服務器IP/, 便可看到「It Works」界面,說明安裝正常。svn
二 配置svn測試
1. 建立版本庫ui
$sudo mkdir /home/svnthis
$sudo chmod 770 /home/svn加密
$sudo chown lxm:subversion –R /home/svn
$sudo chmod –R g+rws /home/svn
$svnadmin create /home/svn/repos
此時可看到/home/svn/repos目錄下svn版本庫全部文件夾及配置文件:
建立subversion用戶組,並把apache運行用戶www-data和本身的用戶加入到subversion用戶組中
$sudo addgroup subversion
$sudo usermod –G subversion –a www-data lxm
接下來導入項目文件:
進入你的項目源文件根目錄下,如個人,/home/lxm/test
導入項目到版本庫:
$svn import /home/lxm/test file:///home/svn/repos/test –m 「inital import」
2. 配置權限訪問等
1)添加svn 用戶
$htpasswd -c /home/svn/repos/conf/passwd lxm //而後會提示你輸入密碼,固然第一次建立svn用戶,須要經過參數-c,而後第二次建立svn用戶就不須要,這裏要注意。
(可選)$htpasswd /home/svn/repos/conf/passwd test2 //建立第二個svn用戶
這時看到/repos/conf目錄下的passwd文件變成加密的內容
2)用戶權限配置
因爲我是配置爲本身用,權限都配置爲我本身訪問:
$ vim /home/svn/repos/authz
Code
$vim /home/svn/repos/svnserve.conf
將如下代碼前面的#去掉(注意代碼前面沒有空格額)
auth-access = write 設置有權限用戶得權限
password-db = passwd 指定查找用戶名和密碼得文件,這樣設置即爲本目錄下得passwd
authz-db = authz 制定各用戶具體權限得文件,這樣設置即爲本目錄下得authz
三 apech2配置
$sudo vim /etc/apache2/mods-enabled/dav_svn.conf
修改如下內容:
Code
備註:此配置文件是告訴apache關於svn的訪問路徑已經相關配置文件,這裏注意f訪問的根目錄
重啓apache服務器:
$sudo /etc/init.d/apache2 restart
四 功能測試
到此,全部配置完成,下面一步一步驗證:
1. apache訪問驗證
在瀏覽器地址欄中輸入:http://服務器IP/svn/
便可看到訪問到svn版本的根目錄,下面有你以前導入的項目文件夾,說明apache配置完成並正常工做
2. svn驗證
在本身pc或其餘pc中導出svn測試,前提是其餘pc也要能訪問服務器額
我在windows下安裝tortoiseSVN客戶端,導出svn版本庫正常,在導出地址填:http://服務器IP/svn/,須要填寫帳號和密碼,即以前添加的帳號和密碼。
導出完畢後,修改項目中某個文件,檢查提交有沒有問題,我測試過一切正常。