Linux下源碼編譯安裝配置SVN服務(wù)器的步驟分享
說(shuō)明:
SVN(subversion)的運(yùn)行方式有兩種:
一種是基于Apache的http、https網(wǎng)頁(yè)訪問(wèn)形式;
還有一種是基于svnserve的獨(dú)立服務(wù)器模式。
SVN的數(shù)據(jù)存儲(chǔ)方式也有兩種:一種是在Berkeley DB數(shù)據(jù)庫(kù)中存儲(chǔ)數(shù)據(jù);另一種是使用普通的文件FSFS存儲(chǔ)數(shù)據(jù)。
由于Berkeley DB方式在使用中有可能鎖住數(shù)據(jù),一般建議使用FSFS方式更安全。
實(shí)現(xiàn)目的:
以svnserve的獨(dú)立服務(wù)器模式,使用FSFS數(shù)據(jù)存儲(chǔ)方式源碼編譯安裝配置SVN服務(wù)器。
具體操作:
操作系統(tǒng):CentOS 6.x
服務(wù)器IP:192.168.21.134
一、關(guān)閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
二、開(kāi)啟防火墻端口
基于svnserve的獨(dú)立服務(wù)器模式,默認(rèn)端口為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 #刪除系統(tǒng)中原有的svn及依賴包
四、下載svn需要的依賴軟件包
說(shuō)明:安裝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 #進(jìn)入軟件包存放目錄
tar zxvf apr-1.5.2.tar.gz #解壓
cd apr-1.5.2 #進(jìn)入安裝目錄
./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 #添加系統(tǒng)環(huán)境變量
export PATH=$PATH:/usr/local/openssl/bin
:wq! #保存退出
source /etc/profile #使配置生效
ln -s /usr/local/openssl/include/openssl /usr/include/openssl #添加系統(tǒng)軟連接
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/ #拷貝文件到系統(tǒng)目錄
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 #創(chuàng)建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 #添加系統(tǒng)環(huán)境變量,添加到最后一行
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、測(cè)試安裝是否成功:
svn help #查看svn幫助信息
svnserve --version #查看svn版本信息
svn --version
六、配置svn
1、創(chuàng)建svn代碼庫(kù)
mkdir -p /home/svn #創(chuàng)建目錄
svnadmin create /home/svn #創(chuàng)建svn代碼庫(kù)
#上面的命令執(zhí)行完成之后,會(huì)自動(dòng)建立svn庫(kù),在/home/svn文件夾含了conf,db,format,hooks,locks,README.txt等文件。
#說(shuō)明svn代碼庫(kù)創(chuàng)建成功。
2、配置svn代碼庫(kù)
cd /home/svn/conf #進(jìn)入配置文件存放目錄
vi /home/svn/conf/svnserve.conf #配置全局文件,在最后添加以下代碼
[general]
anon-access=none #禁止匿名訪問(wèn),設(shè)置為none。默認(rèn)為read,參數(shù):read,write,none
auth-access=write #授權(quán)用戶寫(xiě)權(quán)限
password-db=passwd #用戶賬號(hào)密碼文件路徑,可以寫(xiě)絕對(duì)路徑
authz-db=authz #訪問(wèn)控制權(quán)限文件路徑,可以寫(xiě)絕對(duì)路徑
realm=svn #每個(gè)SVN項(xiàng)目的認(rèn)證命,會(huì)在認(rèn)證提示里顯示,建議寫(xiě)項(xiàng)目名稱。
:wq! #保存退出
vi /home/svn/conf/passwd #配置用戶密碼
[users]
# harry = harryssecret
# sally = sallyssecret
osyunwei=123456
test=123456
test2=123456
:wq! #保存退出
vi /home/svn/conf/authz #配置權(quán)限控制文件,設(shè)置用戶可以訪問(wèn)的目錄
[groups]
admin = osyunwei
users = test,test2
[/]
@admin = rw
* = r
:wq! #保存退出
#[/]代表根目錄下所有的資源
3、啟動(dòng)svn
svnserve -d -r /home/svn --listen-port 3690
ps -ef|grep svn|grep -v grep #查看svn進(jìn)程
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 #關(guān)閉svn服務(wù)
4、設(shè)置svn服務(wù)開(kāi)機(jī)啟動(dòng)
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 #添加執(zhí)行權(quán)限
chkconfig svn on #開(kāi)啟自啟動(dòng)
5、測(cè)試svn
svn checkout svn://192.168.21.134/ --username=osyunwei --password=123456 #將文件下載到本地目錄
svn update --username=osyunwei --password=123456 #更新上次修改之后的版本庫(kù)
七、使用客戶端連接svn服務(wù)器
TortoiseSVN是Windows平臺(tái)下SVN(subversion)的一個(gè)免費(fèi)開(kāi)源的客戶端。
TortoiseSVN下載地址:http://tortoisesvn.net/downloads.html
目前最新版本為:TortoiseSVN 1.8.11,區(qū)分32位和64位操作系統(tǒng),并且提供中文漢化包。
如下圖所示:
安裝完成之后,桌面-右鍵單擊,選擇TortoiseSVN-版本庫(kù)瀏覽器
如下:
URL輸入:svn://192.168.21.134/
輸入用戶名:osyunwei
密碼:123456
勾選:保存認(rèn)證
確定
可以看到svn服務(wù)器上的內(nèi)容,右鍵單擊之后,可以選擇創(chuàng)建文件夾等操作。
至此,Linux下源碼編譯安裝配置SVN服務(wù)器教程完成。
相關(guān)文章
linux命令詳解date使用方法(計(jì)算母親節(jié)和父親節(jié)日期腳本示例)
date命令可以用來(lái)顯示和修改系統(tǒng)日期時(shí)間,本文對(duì)其做了詳細(xì)說(shuō)明,最近提供計(jì)算指定年份的母親節(jié)和父親節(jié)的日期腳本示例,大家參考使用吧2013-12-12linux Cron定時(shí)執(zhí)行帶參數(shù)的PHP代碼
前面有篇文章簡(jiǎn)單介紹了了cPanel控制面板下如何使用時(shí)鐘守護(hù)作業(yè)的方法,但有時(shí),我們希望執(zhí)行帶參數(shù)的php代碼,即如何傳遞參數(shù)給cron,飄易分享下方法如下2021-07-07WAMPserver配置方法(允許外部訪問(wèn)、phpmyadmin設(shè)置為輸入用戶名密碼才可登錄等)
這篇文章主要介紹了WAMPserver配置(允許外部訪問(wèn)、phpmyadmin設(shè)置為輸入用戶名密碼才可登錄等),需要的朋友可以參考下2015-02-02如何在 CentOS/RHEL 系統(tǒng)中使用帶 VLAN 標(biāo)記的以太網(wǎng)卡
這篇文章主要介紹了如何在 CentOS/RHEL 系統(tǒng)中使用帶 VLAN 標(biāo)記的以太網(wǎng)卡,有對(duì)這方面感興趣的同學(xué),可以跟隨小編一起來(lái)研究學(xué)習(xí)下吧2020-12-12Linux后臺(tái)運(yùn)行Python程序的幾種方法講解
今天小編就為大家分享一篇關(guān)于Linux后臺(tái)運(yùn)行Python程序的幾種方法講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02centos7 無(wú)線網(wǎng)卡驅(qū)動(dòng)的安裝及無(wú)線網(wǎng)絡(luò)的配置詳解
本篇文章主要介紹了centos7 無(wú)線網(wǎng)卡驅(qū)動(dòng)的安裝及無(wú)線網(wǎng)絡(luò)的配置詳解,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-03-03