參考地址
http://www.centoscn.com/CentosServer/ftp/2016/0515/7236.html
安裝Subversion
sudo yum install -y subversion
確認(rèn)安裝openssl與openssl-devel
sudo yum install openssl openssl-devel
檢測(cè)是否安裝成功(查看svn版本號(hào))
svnserve --version
創(chuàng)建版本庫(kù)
//先建目錄
mkdir /var/svn
cd /var/svn
//創(chuàng)建版本庫(kù)
svnadmin create /var/svn/project
cd project
//會(huì)看到自動(dòng)生成的版本庫(kù)文件
conf db format hooks locks README.txt
創(chuàng)建用戶組及用戶
進(jìn)入版本庫(kù)中的配置目錄conf,此目錄有三個(gè)文件: svn服務(wù)綜合配置文件(svnserve.conf)梧兼、 用戶名口令文件(passwd)正压、權(quán)限配置文件(authz)。
修改權(quán)限配置文件:vim authz
配置用戶名命令文件:vim passwd
配置SVN服務(wù)綜合配置文件svnserve.conf
//找到以下配置項(xiàng)绢片,將前面的#號(hào)去掉,然后做相應(yīng)的配置
anon-access = none //匿名用戶訪問(wèn)權(quán)限:無(wú)
auth-access = write //普通用戶訪問(wèn)權(quán)限:讀岛琼、寫(xiě)
password-db = passwd //密碼文件
authz-db = authz //權(quán)限配置文件
realm = /var/svn/project //版本庫(kù)所在1
注意:所有以上的配置項(xiàng)都需要頂格底循,即前面不能預(yù)留空格,否則報(bào)錯(cuò)
關(guān)閉防火墻
systemctl stop firewalld.service
啟動(dòng)svn服務(wù):
svnserve -d -r /var/svn
如果提示
svnserve: E000098: Can't bind server socket: Address already in use
證明現(xiàn)在svn已經(jīng)被啟動(dòng)了槐瑞,由于我們修改了配置文件熙涤,因此要重啟svn服務(wù)
//查看svn服務(wù)詳情
ps aux | grep svn
//將svn服務(wù)強(qiáng)制停止 其中790為svn服務(wù)的ID號(hào),-9是kill的參數(shù)
kill -9 790
或者用
killall svnserve
測(cè)試服務(wù)器
//我們?cè)趙eb目錄測(cè)試(/home/www)
cd /home/www
svn co svn://localhost/project
如果提示:Checked out revision 1. 表示checkout成功
我們添加新文件來(lái)測(cè)試是否提交成功
cd /home/www
touch index.php
svn add index.php //成功的話會(huì)顯示 A index.php
svn commit index.php -m "測(cè)試提交文件"
假如最后提示:
Adding index.php
Transmitting file data .
Committed revision 2.
則表示我們svn服務(wù)器搭建成功困檩!文件已經(jīng)能夠推送了祠挫。
點(diǎn)擊ok,提示輸入用戶名和密碼
就填剛才我們創(chuàng)建的lsgoweb1或lsgoweb2悼沿,和對(duì)應(yīng)的密碼即可等舔。
錯(cuò)誤:
svn: Can’t open file ‘/home/svn/db/txn-current-lock’: Permission denied。
出現(xiàn)這種問(wèn)題的原因在于搭建SVN服務(wù)器糟趾,包括創(chuàng)建Repository目錄/home/svn目錄下的一切子目錄和文件都是在root用戶下進(jìn)行的慌植,所 以在root用戶下檢出甚牲、提交都沒(méi)有問(wèn)題〉粒可在Windows PC上從客戶端訪問(wèn)就有問(wèn)題了丈钙,因?yàn)槭侵挥袚碛泄芾砥鳈?quán)限的人才能對(duì)Repository目錄進(jìn)行完全控制,而在Windows從客戶端訪問(wèn)的話交汤,因?yàn)槭?Users用戶組的雏赦,對(duì)Repository沒(méi)有修改權(quán)限,所以不能提交蜻展。
解決辦法: 在服務(wù)器上把Users對(duì)Repository的完全控制權(quán)限加上就可以了喉誊,執(zhí)行如下命令對(duì)/home/svn目錄下的所有文件和子目錄添加Users的讀寫(xiě)權(quán)限
執(zhí)行下面的命令:
chmod -R o+rw /var/svn/project
//你項(xiàng)目庫(kù)的根目錄