1.安裝命令安全
yum -y install subversion
查看SVN安裝位置bash
rpm -ql subversion
查看SVN版本服務器
svnserve --version
2.建立版本庫根目錄(此僅爲目錄,爲後面建立版本庫提供存放位置)tcp
mkdir /home/svn
3.建立SVN版本庫(建立項目)svn
svnadmin create /home/svn/project1
svnadmin create /home/svn/project2
建立成功後,進入project1目錄下spa
cd /home/svn/project1
進入目錄,能夠看見以下文件信息:日誌
建立版本庫公共配置文件存放目錄,隨便打開一個項目版本庫複製一份conf目錄(即:/home/svn/project1/conf)到 /home/svn 目錄下code
cp -r /home/svn/project1/conf /home/svn/conf
清空剛纔建立的項目版本庫conf目錄,刪除庫的全部配置文件blog
rm -f /home/svn/project1/conf/* rm -f /home/svn/project2/conf/*
4.修改配置進程
進入conf目錄
cd /home/svn/conf
conf目錄下,一共存放三份重要的配置文件,以下:
authz:負責帳號權限的管理,控制帳號是否讀寫權限 passwd:負責帳號和密碼的用戶名單管理 svnserve.conf:svn服務器配置文件
編輯 authz 文件
@group1 = rw 中的"rw"意思是[groups]下定義的用戶對指定的版本庫有讀寫權限
編輯 passwd 文件
編輯 svnserve.conf 文件(注意:配置的前面不能有空格,必定要頂格寫)
#配置匿名用戶不可讀(none匿名用戶不可讀寫)
anon-access = none
#受權用戶可寫 auth-access = write #使用哪一個文件做爲帳號文件
password-db = ../../conf/passwd #使用哪一個文件做爲權限文件
authz-db = ../../conf/authz #認證空間名,版本庫所在目錄,該文件只爲了後面方便複製到每一個項目下的conf目錄下,每一個項目下的svnserv.conf中須要指明當前項目的目錄
realm = /home/svn(後面單個項目中的svnserve.conf就須要設置如:realm = /home/svn/project1)
複製 svnserve.conf 配置文件到剛建立的全部項目版本庫的conf目錄下
cp -f /home/svn/conf/svnserve.conf /home/svn/project1/conf/svnserve.conf cp -f /home/svn/conf/svnserve.conf /home/svn/project2/conf/svnserve.conf
修改/home/svn/project1/conf/svnserve.conf
realm = /home/svn/project1
修改/home/svn/project2/conf/svnserve.conf
realm = /home/svn/project2
注意:當SVN服務啓動時/home/svn/conf下的svnserve.conf文件並不會被版本庫載入,而真正被載入的配置是相對每一個project/conf裏的svnserve.conf文件,因此只是備份在當前目錄下爲了之後添加項目時方便複製到新的project/conf裏,可是全部項目版本庫conf目錄下的svnserve.conf文件中「realm」都是不同的!固然每一個project/conf裏的svnserve.conf文件都複製好並設置好「realm」後,/home/svn/conf下的svnserve.conf文件也能夠被刪掉。
5.自行配置好防火牆(默認3690端口)
雲服務器配置好安全組
CentOS7放開端口
firewall-cmd --permanent --add-port=3690/tcp firewall-cmd --reload
6.啓動SVN服務器(注意:若是在一臺服務器上同時啓動多個版本管理,那麼啓動路徑必須是全部項目倉庫的根路徑)
svnserve -d -r /home/svn
也可再設置別的端口(默認端口3690)
svnserve --listen-port 3691 -d -r /home/svn
查看端口是否開啓
netstat -ntlp
查看進程號
ps -A | grep svn
關閉進程號
kill 進程號
查看SVN啓動結果
ps -ef | grep svnserve
7.訪問SVN服務器
Windows系統
svn://ip地址/project1
Linux系統
svn co svn://ip地址/project1
其餘命令
//查看目錄列表 svn list --username 帳號 [版本庫目錄] //查看文件詳細信息 svn info --username 帳號 [版本庫目錄] //查看日誌 svn log --username 帳號 [版本庫目錄] //檢出版本庫 svn checkout --username 帳號 svn://ip地址/[目錄] [目標目錄] //更新版本庫 svn update [版本庫目錄]
8.配置使用systemctl管理SVN(CentOS7)
建立/etc/systemd/system/svn.service文件
vi /etc/systemd/system/svn.service
並寫入內容
[Unit] Description=Subversion Server [Service] Type=forking ExecStart=/usr/bin/svnserve --daemon --root /home/svn ExecStop=/usr/bin/killall svnserve Restart=always [Install] WantedBy=default.target
其中,「/home/svn」是SVN倉庫的根路徑,請根據狀況修改。
通知systemd有個新服務添加
systemctl daemon-reload
啓動和中止SVN服務
systemctl start svn.service systemctl stop svn.service
配置開機自動啓動
systemctl enable svn.service
檢查SVN服務運做狀態
systemctl status svn.service
查看是否開機啓動
systemctl is-enabled svn.service