歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu安裝SVN紀實

Ubuntu安裝SVN紀實

日期:2017/2/28 16:10:43   编辑:Linux教程

1, 通過命令安裝SVN服務器和apache:
$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn
$ sudo apt-get install apache2

安裝時出現錯誤:
無法發起與 8000:80 (0.0.31.64) 的連接 - connect (22: Invalid argument)
無法下載 http://cn.archive.Ubuntu.com/ubuntu/pool/main/a/apache2/apache2-mpm-worker_2.2.14-5ubuntu8.3_i386.deb 無法發起與 8000:80 (0.0.31.64) 的連接 - connect (22: Invalid argument)
無法下載 http://cn.archive.ubuntu.com/ubuntu/pool/main/a/apache2/apache2_2.2.14-5ubuntu8.3_i386.deb 無法發起與 8000:80 (0.0.31.64) 的連接 - connect (22: Invalid argument)
解決辦法: 發現實實際上訪問網址文件是能夠下載到的,於是手動將文件下載到,然後放到/var/cache/apt/archives目錄裡, 重新輸入安裝命令即可.

2. 創建 SVN 倉庫
許多位置都可以放置 Subversion 文件倉庫,其中兩個最常用的是:/usr/local/svn 以及 /home/svn。為了在下面的描述中簡單明了,我們假設您的 Subversion 文件倉庫放在 /home/svn,並且你的項目名稱是簡單的“myproject”。
同樣的,也有許多常用的方式設置文件倉庫的訪問權限。然而,這也是安裝過程中最經常出現錯誤的地方,因此我們會對此進行一個詳細說明。典型的情況 下,您應該創建一個名為“Subversion”的組來擁有文件倉庫所在的目錄。下面是一個快速的操作說明,有關內容請參考相關文檔的詳細說明:
在 Ubuntu 菜單上選擇“系統->系統管理->用戶和組”;
切換到“組”標簽;
點擊“添加組”按鈕;組名為“subversion”;
將您自己和“www-data”(Apache 用戶)加入組成員中;
點擊“OK”以確認修改,關閉該程序。
您需要注銷然後再登錄以便您能夠成為 subversion 組的一員,www.linuxidc.com然後就可以執行簽入文件(Check in,也稱提交文件)的操作了。

現在執行下面的命令
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$ sudo chown -R root:subversion myproject
$ sudo chmod -R g+rws myproject
最後的一條命令賦予組成員對所有新加入文件倉庫的文件擁有相應的權限。
下面的命令用於創建 SVN 文件倉庫:
$ sudo svnadmin create /home/svn/myproject


3, 配置通過 WebDAV 協議訪問(http://)
要通過 WebDAV 協議訪問 SVN 文件倉庫,您必須配置您的 Apache 2 Web 服務器。您必須加入下面的代碼片段到您的 /etc/apach2/apache2.conf 中:
<Location /svn>
DAV svn
SVNPath /home/svn/myproject
AuthType Basic
AuthName "myproject subversion repository"
AuthUserFile /etc/subversion/passwd
Require valid-user
</Location>

4, 啟動apache,
出現錯誤提示:
apache2: bad user name ${APACHE_RUN_USER}
解決辦法:
1. 打開apache2的配置文件
#sudo gedit /etc/apache2/apache2.conf
(本來應該改envvars這個文件的,但是不知道為什麼修改了不起作用)
2. 修改默認的用戶名和組
找到 ${APACHE_RUN_USER} 和 ${APACHE_RUN_GROUP}
替換為自己的用戶名和組,然後保存退出。
出現錯誤提示:
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.111 for ServerName
解決辦法:
因為DNS沒配置好. 如果不想配置DNS, 就在httpd.conf , 在最前加入 ServerName localhost:80 即可.
出現錯誤提示:
端口被占用
解決辦法:
netstat -lnp|grep 80, 獲得進程ID
kill ID

當您添加了上面的內容,您必須重新起動 Apache 2 Web 服務器,請輸入下面的命令:
sudo /etc/init.d/apache2 restart

5, 通過自帶協議訪問(svn://)
當您創建了 SVN 文件倉庫,您可以修改 /home/svn/myproject/conf/svnserve.conf 來配置其訪問控制。
例如,您可以取消下面的注釋符號來設置授權機制:
# [general]
# password-db = passwd
現在,您可以在“passwd”文件中維護用戶清單。編輯同一目錄下“passwd”文件,添加新用戶。語法如下:
username = password
現在,您可以在本地或者遠程通過 svn:// 當文 SVN 了,您可以使用“svnserve”來運行 svnserver,語法如下:
$ svnserve -d --foreground -r /home/sv
訪問時出現錯誤:
svn: /home/svn/myproject/conf/svnserve.conf:20: Option expected
password-db = passwd這句不能有空格.

6, 創建第一個項目:
svn import TescSvn/ svn://username@localhost/myproject -m "initial import"
TescSvn是本地目錄,其中必需包含trunk, branches,tags三個目錄, trunk中放文件. 其他為空, "svn://username@localhost/myproject"是服務器的目錄和用戶名.
然後創建用戶
接下來,您需要創建 /etc/subversion/passwd 文件,該文件包含了用戶授權的詳細信息。要添加用戶,您可以執行下面的命令:
htpasswd -c /etc/subversion/passwd user_name
它會提示您輸入密碼,當您輸入了密碼,該用戶就建立了.

取出項目:
svn://localhost/myproject /home/hueylu/work/TescSvn2/ --username hueylu --password ****** --non-interactive

8, 推薦一個界面的SVN客戶端
esvn
sudo apt-get install esvn

以上配置在ubuntu10.04通過

Copyright © Linux教程網 All Rights Reserved