svn的安裝和備份

svn的安裝:

yum install subversion -yapache

mkdir                   /svn 建立用來存放svn版本庫的目錄vim

svnadmin create /svn/first          建立一個svn的版本庫centos

svnsereve -d -r /svn/first           啓動該版本庫tcp

 

版本庫的備份:

 

svnadmin dump svn/test > svn_backfile   把具體的某個版本庫(這裏是「test」)重定向到某個文件中去。這樣就將整個版本庫備份下來了。分佈式

 

 

在新的主機上安裝svn並將以前的版本庫導入,同時實現利用http協議訪問svn:

 

yum install subversion -ysvn

 

mkdir /home/svn    建立用來存放svn版本庫的目錄ui

 

svnadmin create /home/svn/test    建立一個svn的版本庫url

 

svnadmin load /home/svn/test < svn_backfile  導入以前備份的版本庫spa

實現利用http訪問svn

 

思路:apache自己自帶svn的模塊——mod_dav_svn,因爲Subversion須要版本化的控制,所以標準的HTTP協議不能知足需求。要讓ApacheSubversion協同工做,就要使用WebDAVWeb-based Distributed Authoring and VersiongWeb分佈式創做和版本控制協議。 mod_dav_san模塊就是做爲SubversionApache之間的接口,經過它,Apache就能夠訪問版本庫,而且可讓客戶端也使用HTTP的擴展協議WebDAV/DeltaV進行訪問。版本控制

 

在安裝了mod_dav_svn模塊以後,只須要爲版本庫所在的目錄進行相應的配置,並添加認證模塊,就能夠了。

 

配置步驟:

 

安裝並啓動httpdcentos6.9)

 

由於centos6默認httpd2.2沒有svn模塊,因此須要在編譯時加入svn的功能

 

httpd-2.4 依賴於1.4+及以上版本的apr 並且版本不能過高,最好用1.5

 

yum install gcc

 

yum install pcre-devel

 

yum install expat-devel

 

yum install openssl-devel -y

 

 

 

 tar -xf apr-1.5.0.tar.bz2

 

 cd apr-1.5.0

 

./configure --prefix=/usr/local/apr

 

make && make install

 

 

 

tar -xf apr-util-1.5.3.tar.bz2

 

cd apr-util-1.5.3

 

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

 

make && make install

 

 

 

tar -xf httpd-2.4.28.tar.bz2

 

 cd httpd-2.4.28

 

./configure --prefix=/usr/local/apache --with-apr-util=/usr/local/apr-util   --with-apr=/usr/local/apr       --sysconfdir=/etc/httpd24  --enable-so --enable-ssl   --enable-cgi   --enable-rewrite  --with-zlib  --with-pcre --with-mpm=prefork  --enable-modules=most  --enable-mpms-shared=all  --enable-dav

 

其中--enable-dav --enable-so是和subversion整合時須要的

 

make && make install

 

 

在源碼裏已經有啓動的腳本,咱們要修改下便可,把Apache加入系統SysV服務中來。

 

在源碼httpd-2.x.x/build/rpm中存在httpd.init,將其複製到/etc/init.d/下面,並賦予執行權限。

 

 安裝並配置svn模塊:

yum install mod_dav_svn -y

修改/etc/httpd/conf.d/subversion.conf配置文件的內容

vim /etc/httpd/conf.d/subversion.conf    

  <Location /svn/>

     DAV svn

     SVNParentPath /home/svn/

     # Limit write permission to list of valid users.

   # <LimitExcept GET PROPFIND OPTIONS REPORT>

        # Require SSL connection for password protection.

        # SSLRequireSSL

        AuthType Basic

        AuthName "Authorization Realm"

        AuthUserFile /home/svn/svn_http_passwd

        AuthzSVNAccessFile /home/svn/svn_authz

        Require valid-user

    # </LimitExcept>

  </Location>

 

cp /home/svn/project1/conf/svnserve.conf  /home/svn/conf/svnserve.conf  獲得版本庫配置文件的模板

vi /home/svn/conf/svnserve.conf    編輯配置文件

  anon-access = none

  auth-access = write

  password-db = /home/svn/svn_passwd

  auth-db = /home/svn/svn_authz

  realm = test-SVN

 

svnserve -d -r /home/svn/test --config-file /home/svn/svnserve.conf --listen-port 3690              啓動時指明配置文件位置

 

修改了配置文件以後,要記住,這裏是以apache用戶的身份來訪問svn的版本庫,因此須要修改版本庫的屬主,使apache用戶可以來訪問。

chown -R apache:apache /home/svn/test/

添加防火牆規則 

iptables -A INPUT -p tcp --dport 80 -j ACCEPT  

iptables -A INPUT -m state --state NEW -p tcp --dport 3690 -j ACCEPT  

 

經過網頁訪問版本庫:ip/svn    url路徑是根據在/etc/httpd/conf.d/subversion.conf  配置文件中Location後面的地址來的。

相關文章
相關標籤/搜索