系統環境:centos7.3 (查看自己版本:cat /etc/redhat-release)
第一步:安裝svnserve
yum -y install subversion
第二步:創建版本庫目錄(爲以後版本庫提供存放位置)
mkdir /var/svndir
第三步:創建svn版本庫(可創建多個進行不同版本庫的控制)
svnadmin create /var/svndir/jmoon
(jmoon爲版本庫的名字,用於客戶端checkout時候的目錄)
第四步:修改配置
cd /var/svndir/jmoon/conf
conf目錄下文件列表如下
total 12
-rw-r--r-- 1 root root 1096 Jan 30 23:20 authz
-rw-r--r-- 1 root root 325 Jan 30 01:14 passwd
-rw-r--r-- 1 root root 3074 Jan 30 01:26 svnserve.conf
authz:負責賬號權限的管理,控制賬號是否讀寫權限
passwd:負責賬號和密碼的用戶名單管理
svnserve.conf:svn服務器配置文件
1.編輯 authz 文件(注意:[/]也是必須的)
[/]:表示根目錄,即 /var/svnrepos
chenjm = rw:表示用戶chenjm對根目錄具有讀寫權CHA
2.編輯 passwd 文件
用戶名爲:chenjm , 認證密碼爲:123456(這裏學習使用,自己設置複雜點也行)
3.編輯 svnserve.conf 文件(注意:將“#”字符去掉時候需要留意配置的前面不能有空格,一定要頂格寫)
anon-access = none:表示禁止匿名用戶訪問。
auth-access = write:表示授權用戶擁有讀寫權限。
password-db = passswd:指定用戶名口令文件,即 passwd 文件。
authz-db = authz:指定權限配置文件,即 authz 文件。
realm = /var/svndir:指定認證域,即 /var/svndir 目錄。
第五步:啓動svn服務器
svnserve -d -r /var/svndir
啓動後,可用ps 查看服務是否已啓動(如果checkout鏈接不上也可以先檢查是否未啓動svn)
ps -ef | grep 'svnserve'
第六步:客戶端訪問
在windows下,使用客戶端訪問工具(例如TortoiseSVN),輸入地址:svn://ip地址:3690/jmoon。彈出輸入賬號密碼框證明配置成功。
在linux下,輸入命令測試(如果ip地址爲公網ip連接失敗,但使用 127.0.0.1成功連接就可能是端口沒有開放。可以看下面連接失敗小結)
svn co svn://ip地址:3690/jmoon
svn checkout 提示“由於連接方在一段時間後沒有正確答覆或連接的主機沒有反應,連接嘗試失敗。”解決方法
1、svn項目文件配置文件問題:
檢查修改svnserve.conf時,打開註釋時,配置的前面是否有空格,應該頂格寫。
2、服務器防火牆問題(兩個解決辦法):
2.1 關閉防火牆
systemctl stop firewalld.service
2.2 開放3690端口
firewall-cmd --zone=public --add-port=3690/tcp --permanent
3、服務器廠商安全組設置問題(例如阿里雲、騰訊雲)
打開阿里雲控制檯
查看是否有開啓3690端口
如果沒有就點擊“添加安全組規則”,將端口配置上
ps:網絡上還有很多相同的帖子爲什麼寫這個呢。其實是自己想偷懶以後要是再配置就不用去網上搜哈哈哈哈,直接拿自己的看。完美。其實這也是個學習方法讓自己更鞏固對着網上的巴拉巴拉搞完都不知道幹了啥,自己再寫一份出來清晰很多了。