Linux CentOS 6.5 x64 SVN服務器搭建步驟
1. 安裝Subversion
yum install subversion
注意:安裝需要使用root權限,否則會提示You need to be root to perform this command.英文也很簡單,這裏就不多廢話了。
2. 查看Subversion的安裝位置
rpm -ql subversion
我們看到在bin目錄下放有可執行的命令:
可以通過查看SVN版本來確認是否已經安裝成功,輸入如下命令:
svn --version
3. 確定SVN版本庫存放位置,我選擇使用/var/svn/repository
mkdir -p /var/svn/repository
4. 在指定位置(/var/svn/repository)創建版本庫
svnadmin create /var/svn/repository
版本庫創建成功後,在版本庫目錄中會生成如下文件:
6. 配置
7. 配置防火牆端口設置賬號密碼,打開passwd文件
vim passwd
在[users]塊下添加一行username = password, 此處格式爲:用戶名 = 密碼,例如:admin = password
設置權限,打開authz文件
vim authz
在最後添加:
[/] admin = rw
說明:
[/] -- 版本庫根目錄
admin = rw -- admin用戶有讀寫權限
用戶組設置爲同樣道理,大家自己研究吧,這裏就不多說了。
設置配置文件svnserve.conf
vim svnserve.conf
打開如上紅色框中的幾行註釋:anon-access = read #匿名用戶可讀auth-access = write #授權用戶可寫password-db = passwd #使用哪個文件作爲賬號文件authz-db = authz #使用哪個文件作爲權限文件realm = /var/svn/repository # 認證空間名,我們最初設置的版本庫所在的目錄
默認端口爲3690
vi /etc/sysconfig/iptables
添加以下內容: -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存後重啓防火牆 service iptables restart
svnserve -d -r /var/svn/repository/
9. 查看SVN進程
[root@localhost conf]# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories
10. 檢測SVN 端口
[root@localhost conf]# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
11. 停止重啓SVN
[root@localhost password]# killall svnserve //停止
[root@localhost password]# svnserve -d -r /opt/svn/repositories // 啓動
12. 測試
地址:svn://127.0.0.1
默認端口:3690
13. 問題
a. 提交時提示Error: Can't open file '/var/svn/repository/db/txn-current-lock': Permission denied的解決
根源:/var/svn目錄下的一切子目錄和文件都是屬於root用戶的
解決辦法:把/var/svn目錄下的所有文件和子目錄添加讀寫權限
延伸問題:is not in the sudoers file. This incident will be reported.chmod –R o+rw /home/svn
1.切換到root用戶下,怎麼切換就不用說了吧,不會的自己百度去.
2.添加sudo文件的寫權限,命令是:chmod u+w /etc/sudoers
3.編輯sudoers文件找到這行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (這裏的xxx是你的用戶名)vi /etc/sudoers
ps:這裏說下你可以sudoers添加下面四行中任意一條
youuser ALL=(ALL) ALL
%youuser ALL=(ALL) ALL
youuser ALL=(ALL) NOPASSWD: ALL
%youuser ALL=(ALL) NOPASSWD: ALL
第一行:允許用戶youuser執行sudo命令(需要輸入密碼).
第二行:允許用戶組youuser裏面的用戶執行sudo命令(需要輸入密碼).
第三行:允許用戶youuser執行sudo命令,並且在執行的時候不輸入密碼.
第四行:允許用戶組youuser裏面的用戶執行sudo命令,並且在執行的時候不輸入密碼.
4.撤銷sudoers文件寫權限,命令:chmod u-w /etc/sudoers
這樣普通用戶就可以使用sudo了.
如有不對的地方歡迎大家支出,交流學習。