1. 安裝
CentOS通過yum安裝subversion。 # yum install subversion subversion安裝在/bin目錄: # which svnserve #查看目錄命令/usr/bin/svnserve 檢查一下subversion是否安裝成功。不要使用1.8版本 # svnserve --version svnserve, version 1.7.14 (r1542130) 2. 建立版本庫 subversion默認以/var/svn作爲數據根目錄,可以通過/etc/sysconfig/svnserve修改這個默認位置。 # vim /etc/sysconfig/svnserve 文件內容 OPTIONS="-r /var/svn" 可修改 使用svnadmin建立版本庫svntest。 # mkdir -p /var/svn/svntest //遞歸創建多個目錄 # svnadmin create /var/svn/svntest # ll /data/svn/svntest //查看目錄中內容 drwxr-xr-x. 2 root root 51 Nov 10 14:42 conf drwxr-sr-x. 6 root root 4096 Nov 10 14:42 db -r--r--r--. 1 root root 2 Nov 10 14:42 format drwxr-xr-x. 2 root root 4096 Nov 10 14:42 hooks drwxr-xr-x. 2 root root 39 Nov 10 14:42 locks -rw-r--r--. 1 root root 229 Nov 10 14:42 README.txt 3. 配置 cd /var/svn/svntest a、編輯用戶文件passwd,新增兩個用戶:admin和guest。 # vim conf/passwd [users] admin = admin guest = guest b、編輯權限文件authz,用戶admin設置可讀寫權限,guest設置只讀權限。 # vim conf/authz [/] admin = rw guest = r c、編輯svnserve.conf: # vim conf/svnserve.conf [general]anon-access = none #控制非鑑權用戶訪問版本庫的權限 auth-access = write #控制鑑權用戶訪問版本庫的權限 password-db = passwd #指定用戶名口令文件名 authz-db = authz #指定權限配置文件名 //realm = svntest #指定版本庫的認證域,即在登錄時提示的認證域名稱 //測試不需要 4. SVN服務 啓動SVN服務。 # systemctl start svnserve.service 檢查服務是否啓動成功。 # ps aux | grep svnroot
16349 0.0 0.1 162180 900 ? Ss 15:01 0:00
/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -r
/opt/svn 通過netstat可以看到SVN打開了3690端口。 # netstat -tnlpProto
Recv-Q Send-Q Local Address Foreign Address State
PID/Program name tcp 0 0 0.0.0.0:3690
0.0.0.0:* LISTEN 16349/svnserve 設置成開機啓動。 # systemctl enable svnserve.service 5. 更改防火牆設置 大坑,注意阿里雲要開相應端口3690 # vim /etc/sysconfig/iptables 添加一下兩行 vim操作 yy p -A INPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT -A OUTPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT //不需要 然後退出編輯,重啓防火牆 查看 # iptables -L -n # service iptables restart //這是centOS6 的命令 # /bin/systemctl restart iptables.service 6. 客戶端測試 客戶端可以通過TortoriseSVN測試。 Linux下客戶端使用SVN 將文件checkout到本地目錄svn666 svn checkout svn://127.0.0.1 ./svn666 有修改的時候 # svn add * //添加文件 # svn commit -m '這是註釋內容' //提交 # svn update //更新