CentOS 6源碼編譯安裝配置SVN伺服器教程

來源:互聯網
上載者:User

說明:

SVN(subversion)的運行方式有兩種:

一種是基於Apache的http、https網頁訪問形式;
還有一種是基於svnserve的獨立伺服器模式。
SVN的資料存放區方式也有兩種:一種是在Berkeley DB資料庫中儲存資料;另一種是使用普通的檔案FSFS儲存資料。
由於Berkeley DB方式在使用中有可能鎖住資料,一般建議使用FSFS方式更安全。

實現目的:

以svnserve的獨立伺服器模式,使用FSFS資料存放區方式源碼編譯安裝配置SVN伺服器。

具體操作:
作業系統:CentOS 6.x
伺服器IP:192.168.21.134
一、關閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq! #儲存退出
setenforce 0 #使配置立即生效
二、開啟防火牆連接埠
基於svnserve的獨立伺服器模式,預設連接埠為3690
vi /etc/sysconfig/iptables #編輯防火牆設定檔
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #儲存退出
service iptables restart #最後重啟防火牆使配置生效
三、安裝編譯工具包
yum install apr* autoconf automake bison cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng* libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* libX* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet t1lib t1lib* nasm nasm* wget zlib-devel zlib unzip perl-ExtUtils-Embed
yum remove apr apr-util subversion subversion-libs #刪除系統中原有的svn及依賴包
四、下載svn需要的依賴軟體包
說明:安裝svn需要的軟體包:apr apr-util serf scons openssl
軟體包存放目錄:/usr/local/src
1、下載apr
https://dist.apache.org/repos/dist/release/apr/apr-1.5.2.tar.gz
2、下載apr-util
https://dist.apache.org/repos/dist/release/apr/apr-util-1.5.4.tar.gz
3、下載scons
http://prdownloads.sourceforge.net/scons/scons-2.3.5.tar.gz
4、下載openssl
http://www.openssl.org/source/openssl-1.0.1o.tar.gz
5、下載serf
http://fossies.org/linux/www/serf-1.3.8.tar.gz
6、下載svn
http://www.apache.org/dist/subversion/subversion-1.8.13.tar.gz
7、下載sqlite-amalgamation
http://www.sqlite.org/snapshot/sqlite-amalgamation-201506201411.zip
五、安裝SVN
1、安裝apr
cd /usr/local/src #進入軟體包存放目錄
tar zxvf apr-1.5.2.tar.gz #解壓
cd apr-1.5.2 #進入安裝目錄
./configure --prefix=/usr/local/apr #配置
make #編譯
make install #安裝
2、安裝apr-util
cd /usr/local/src
tar zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --with-apr=/usr/local/apr/bin/apr-1-config
make
make install
3、安裝scons
cd /usr/local/src
tar zxvf scons-2.3.5.tar.gz
cd scons-2.3.5
python setup.py #配置
install #安裝
4、安裝openssl
cd /usr/local/src
tar zxvf openssl-1.0.1o.tar.gz
cd openssl-1.0.1o
CFLAGS=-fPIC ./config --prefix=/usr/local/openssl enable-shared
make
make install
vi /etc/profile #添加系統內容變數
export PATH=$PATH:/usr/local/openssl/bin
:wq! #儲存退出
source /etc/profile #使配置生效
ln -s /usr/local/openssl/include/openssl /usr/include/openssl #添加系統軟串連
5、安裝serf
cd /usr/local/src
tar zxvf serf-1.3.8.tar.gz
cd serf-1.3.8
scons PREFIX=/usr/local/serf APR=/usr/local/apr/bin/apr-1-config APU=/usr/local/apr/bin/apu-1-config OPENSSL=/usr/local/openssl
scons install
cd /usr/local/serf/lib
cp libserf-1.so* /usr/local/lib/ #拷貝檔案到系統目錄
6、安裝svn
cd /usr/local/src
tar zxvf subversion-1.8.13.tar.gz
cd subversion-1.8.13
mkdir /usr/local/src/subversion-1.8.13/sqlite-amalgamation #建立sqlite-amalgamation目錄
cd /usr/local/src
unzip sqlite-amalgamation-201506201411.zip -d /usr/local/src/subversion-1.8.13/sqlite-amalgamation
#解壓sqlite-amalgamation軟體包到sqlite-amalgamation目錄
./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-serf=/usr/local/serf --with-openssl=/usr/local/openssl --enable-mod-activation #配置
make #編譯
make install #安裝
vi /etc/profile #添加系統內容變數,添加到最後一行
export PATH=$PATH:/usr/local/svn/bin
:wq! #儲存退出
source /etc/profile #使配置立刻生效
whereis libexpat.so.1 #尋找檔案安裝目錄,如下:
libexpat.so: /lib/libexpat.so.0 /usr/local/lib/libexpat.so /usr/local/lib/libexpat.so.1
vi /etc/ld.so.conf #編輯加入libexpat.so.1的目錄
/usr/local/lib/
:wq! #儲存退出
ldconfig #使配置生效
7、測試安裝是否成功:
svn help #查看svn協助資訊
svnserve --version #查看svn版本資訊
svn --version
六、配置svn
1、建立svn程式碼程式庫
mkdir -p /home/svn #建立目錄
svnadmin create /home/svn #建立svn程式碼程式庫
#上面的命令執行完成之後,會自動建立svn庫,在/home/svn檔案夾含了conf,db,format,hooks,locks,README.txt等檔案。
#說明svn程式碼程式庫建立成功。
2、配置svn程式碼程式庫
cd /home/svn/conf #進入設定檔存放目錄
vi /home/svn/conf/svnserve.conf #配置通用檔案,在最後添加以下代碼
[general]
anon-access=none #禁止匿名訪問,設定為none。預設為read,參數:read,write,none
auth-access=write #授權使用者寫入權限
password-db=passwd #使用者帳號密碼檔案路徑,可以寫絕對路徑
authz-db=authz #存取控制許可權檔案路徑,可以寫絕對路徑
realm=svn #每個SVN項目的認證命,會在認證提示裡顯示,建議寫項目名稱。
:wq! #儲存退出
vi /home/svn/conf/passwd #配置使用者密碼
[users]
# harry = harryssecret
# sally = sallyssecret
osyunwei=123456
test=123456
test2=123456
:wq! #儲存退出
vi /home/svn/conf/authz #配置許可權控制檔案,設定使用者可以訪問的目錄
[groups]
adm = osyunwei
user = test,test2
[/]
@adm = rw
* = r
:wq! #儲存退出
#[/]代表根目錄下所有的資源
3、啟動svn
svnserve -d -r /home/svn --listen-port 3690
ps -ef|grep svn|grep -v grep #查看svn進程
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /home/svn
netstat -ln |grep 3690 #檢查svn連接埠
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
killall svnserve #關閉svn服務
4、設定svn服務開機啟動
vi /etc/init.d/svn #編輯,添加以下代碼
#!/bin/sh
# chkconfig: 2345 85 85
# processname: svn
svn_port=3690
svn_home=/home/svn
if [ ! -f "/usr/local/svn/bin/svnserve" ]
then
echo "svnserver startup: cannot start"
exit
fi
case "$1" in
start)
echo "Starting svnserve..."
/usr/local/svn/bin/svnserve -d -r $svn_home --listen-port $svn_port
echo "Successfully!"
;;
stop)
echo "Stoping svnserve..."
killall svnserve
echo "Successfully!"
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: svn { start | stop | restart } "
exit 1
esac
:wq! #儲存退出
chmod +x /etc/init.d/svn #添加執行許可權
chkconfig svn on #開啟自啟動
5、測試svn
svn checkout svn://192.168.21.134/ --username=osyunwei --password=123456 #將檔案下載到本地目錄
svn update --username=osyunwei --password=123456 #更新上次修改之後的版本庫
七、使用用戶端串連svn伺服器
系統營運  www.osyunwei.com  溫馨提醒:系統營運原創內容©著作權,轉載請註明出處及原文連結
TortoiseSVN是Windows平台下SVN(subversion)的一個免費開源的用戶端。
TortoiseSVN下載地址:http://tortoisesvn.net/downloads.html
目前最新版本為:TortoiseSVN 1.8.11,區分32位和64位作業系統,並且提供中文漢化包。
如下圖所示:
安裝完成之後,案頭-按右鍵,選擇TortoiseSVN-版本庫瀏覽器
如下:
URL輸入:svn://192.168.21.134/
輸入使用者名稱:osyunwei
密碼:123456
勾選:儲存認證
確定
可以看到svn伺服器上的內容,按右鍵之後,可以選擇建立檔案夾等操作。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.