Linux下源碼編譯安裝配置SVN伺服器的步驟分享_Linux

來源:互聯網
上載者: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]

admin = osyunwei

users = test,test2

[/]

@admin = 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: svnsvn_port=3690svn_home=/home/svnif [ ! -f "/usr/local/svn/bin/svnserve" ]thenecho "svnserver startup: cannot start"exitficase "$1" instart)echo "Starting svnserve..."/usr/local/svn/bin/svnserve -d -r $svn_home --listen-port $svn_portecho "Successfully!";;stop)echo "Stoping svnserve..."killall svnserveecho "Successfully!";;restart)$0 stop$0 start;;*)echo "Usage: svn { start | stop | restart } "exit 1esac

: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伺服器

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伺服器上的內容,按右鍵之後,可以選擇建立檔案夾等操作。

至此,Linux下源碼編譯安裝配置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.