【轉載】CentOS下 SVN版本控制的安裝(包括yum與非yum)的步驟記錄。

轉載自:https://www.linuxidc.com/Linux/2017-10/147871.htm

 

一、yum安裝

rpm -qa subversion             //檢查是否安裝了低版本的SVN
yum remove subversion           //如果存儲舊版本,卸載舊版本SVN

開始安裝

yum -y install subversion    
svnserve --version             //查看版本

創建版本倉庫

mkdir -p /data/svn/project                                
svnadmin create /data/svn/project/

查看/data/svn/project 文件夾發現包含了conf, db,format,hooks, locks, README.txt等文件,說明一個SVN庫已經建立。

配置權限

cd /data/svn/project/conf/            //進入配置目錄
vim svnserve.conf                    //編輯配置文件

vim passwd                        //編輯密碼文件

vim authz

舉例:

[groups]
project_p = pm
project_s = server1,server2,server3
project_c = client1,client2,client3
project_t = test1,test1,test1
[project:/]
@project_p = rw
* =
[project:/server]
@project_p = rw
@project_s = rw
* =
[project:/client]
@project_p = rw
@project_c = rw
* =
[project:/doc]
@project_p = rw
@project_s = r
@project_c = r
@project_t = r
* =
說明:以上信息表示,只有project_p用戶組有根目錄的讀寫權。r表示對該目錄有讀權限,w表示對該目錄有寫權限,
rw表示對該目錄有讀寫權限。最後一行的* =表示,除了上面設置了權限的用戶組之外,其他任何人都被禁止訪問本目錄。
這個很重要,一定要加上!

配置防火牆

vi /etc/sysconfig/iptables                //配置防火牆
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -dport 3690 -j ACCEPT   //加入此行代碼

service iptables restart                //重啓防火牆
另,有開啓3690端口的命令,在終端輸入以下命令:
1>iptables -I INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT
2>iptables -I OUTPUT -o eth0 -p tcp --sport 3690 -j ACCEPT
然後保存:/etc/rc.d/init.d/iptables save
在看看是否已經有了3690端口的開放權限:/etc/init.d/iptables status
svnserve -d -r /data/svn/              //啓動SVN
netstat -ln | grep 3690               //查看端口狀態

打開本地Windows客戶端檢出

 

客戶端提交文件測試

 

然後新創建一個WEB目錄,實現修改WEB程序文件。  在這裏把/data/www/作爲指定WEB目錄

svn co svn://127.0.0.1/project /data/www/

客戶端提交了版本修改之後,在之前的公司每次都是需要執行svn update命令,而且不小心會出現開發衝突。

下面來配置SVN鉤子,來實現自動更新服務器WEB目錄文件

cd /data/svn/project/hooks/
vim post-commit

 

#!/bin/sh
export LANG=zh_CN.UTF-8 
SVN=/usr/bin/svn  #這裏填寫你的svn程序目錄
WEB=/data/www/ #這裏填寫你的web程序目錄
$SVN update $WEB --username user1 --password password123456 #客戶端的用戶名和密碼,在svn配置文件裏配置的信息

 

chmod 777 post-commit

最後重啓svn!客戶端提交測試,查看WEB目錄文件自動更新成功!

二、非yum安裝

 

wget http://subversion.tigris.org/downloads/subversion-1.6.9.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.9.tar.gz
#解壓
tar zxvf subversion-1.6.9.tar.gz
tar zxvf subversion-deps-1.6.9.tar.gz
#編譯
cd subversion-1.6.9
./configure --prefix=/usr/local/svn --without-berkeley-db
make
make install

 

安裝過程中可能遇到的問題:

1、提示OpenSSL缺失

configure: error: We require OpenSSL; try --with-openssl

解決方法:編譯前先安裝了一個openssl即可

 

cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.0a.tar.gz
tar -zxvf openssl-1.0.0a.tar.gz
cd openssl-1.0.0a
./config
./config -t
make depend
make
make test
make install

 

make test 的時候本人出現過以下錯誤,本人沒有去理會,繼續make install。

yum -y install openssl                 #爲了放心,抱着試一試的態度,執行了yum安裝命令

安裝之後會在/usr/local下生成一個ssl目錄,編譯SVN時加上openssl路徑即可

./configure --prefix=/usr/local/svn --without-berkely-db --with-openssl=/usr/local/ssl/

2、 zlib依賴缺失

configure配置SVN時可能提示如下錯誤信息:

configure: error: subversion requires zlib

解決辦法:安裝zlib

------------------------------------------分割線------------------------------------------

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2017年資料/10月/21日/CentOS下 SVN版本控制的安裝(包括yum與非yum)/

下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割線------------------------------------------

cd /usr/local/src
    這裏我上傳Linux公社了 。也可以直接Google下  zlib-1.2.8.tar.gz ,下載上傳至指定目錄即可
tar -xvzf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install

3、expat依賴缺失

configure: error: no XML parser was found: expat or libxml 2.x required

解決辦法:安裝expat

cd /usr/local/src
wget http://nchc.dl.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz
tar -zxvf expat-2.1.0.tar.gz
cd expat-2.1.0
./configure
make
make install

再次執行

./configure --prefix=/usr/local/svn --without-berkely-db --with-openssl=/usr/local/ssl/

4、在make && make install 時出現報錯

make[1]: Leaving directory `/usr/local/src/subversion-1.6.9/serf'

解決辦法:添加 --without-serf 參數重新編譯subversion即可:

./configure --prefix=/usr/local/svn --without-berkely-db --with-openssl=/usr/local/ssl/ --without-serf

make && make install

安裝完畢之後查看一下SVN版本

/usr/local/svn/bin/svnserve --version

OK!咱的SVN都可以看到版本了,證明沒問題,可以創建倉庫之類的操作了。和yum配置的方式差不多,只不過有時候命令行要有所改動了,

比如yum安裝之後是這樣創建倉庫:svnadmin create /data/svn/project/

但是在編譯安裝的需要指定目錄了:/usr/local/svn/bin/svnadmin create /data/svn/project/

mkdir -p /data/svn/project
/usr/local/svn/bin/svnadmin create /data/svn/project/
cd /data/svn/project/

接下來的配置步驟就略了,可以參考上面yum安裝的配置方式,最後啓動SVN服務還是需要注意的

/usr/local/svn/bin/svnserve -d -r /data/svn/

完畢~!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章