CentOS6.5 yum安裝 apache+svn安裝配置

    首頁是關於svn的備份和還原
html

    比較快捷的方式:linux

            備份:svnadmin hotcopy /opt/svn/svntest/ /var/tmp/svntest_20120604 --clean-logsc++

            還原:直接把本分的文件拷貝的新服務器建立新的版本庫直接替換就能夠了,本文就是作這麼個事。sql

回到主題:apache

     1、安裝Apache和SVNvim

     在安裝以前能夠檢查一下是否在操做系統安裝時已經安裝了這些軟件,若是沒有可使用下面的命令安裝:服務器

     > yum install httpdtcp

     運行該命令時,會列出要安裝的文件和依賴的包,輸入y,回車便可。svn

     > yum install mod_dav_svn subversionui

     2、配置Apache

     首先使用service命令啓動apache,

     >service apache start

     有時候會提示找不到service命令,可使用/sbin/service 代替service。

     而後,要將httpd配置能夠隨系統啓動而啓動的服務,

     >chkconfig httpd on 

    3、配置SVN

 

    在配置完了Apache後,就要將兩者結合起來了。以下操做:

    1. 新建一個倉庫目錄:

    > cd /var/www

    若是沒有svn目錄,新建一個

    > mkdir svn

    使用svnadmin建立一個代碼庫:

    > svnadmin create repos

    修改apache對repos的訪問權限

    > chown apache.apache -R repos

    2. 修改subversion.conf配置文件

    > cd /etc/httpd/conf.d

  > vim subversion.conf

    subversion.conf的詳細內容:

<Location /repos> 
DAV svn 
SVNParentPath /db/c 
AuthType Basic 
AuthName "Subversion repository" 
#密碼存儲文件 
AuthUserFile /db/c/back/conf/passwd
Require valid-user 
#用戶訪問目錄的權限文件 
AuthzSVNAccessFile /db/c/back/conf/authz 
</Location> 

  

    3. 修改httpd.conf配置文件

    > cd /etc/httpd/conf

  > vim httpd.conf

增長三個so

LoadModule version_module modules/mod_version.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so 

4、完善SVN配置,增長用戶控制

一、增長用戶  

 htpasswd -c /db/c/back/conf/passwd username


二、
AuthzSVNAccessFile:authz中配置用戶組和用戶權限 

示例:

[groups]
admin = user1
leader = user2,user3

[/]
* = r
@admin = rw
@leader =rw
[/00-CMMI5級過程改進]
* =
user1 = rw

 

其它本身搜索解決吧

中途遇到一些問題:

1."The URI does not contain the name of a repository. [403, #190001]  "

緣由是: subversion.conf中的SVNParentPath參數不該該包含svn庫文件夾 

訪問路徑中則要加上svn庫的文件夾,例如:http://192.168.32.128/repos/back

二、linux文件權限問題

     chown -R apache:apache passwd
      chmod -R 774 passwd

      svn提交的時候出現錯誤,

  提示/www/.svn權限不夠,
  chown apache:apache /www/.svn
  chmod -R 775 /www/.svn

我沒解決,用大招:關閉SELinux

查看SELinux狀態:
一、/usr/sbin/sestatus -v      ##若是SELinux status參數爲enabled即爲開啓狀態
SELinux status:                 enabled
二、getenforce                 ##也能夠用這個命令檢查
關閉SELinux:
一、臨時關閉(不用重啓機器):
setenforce 0                  ##設置SELinux 成爲permissive模式
                              ##setenforce 1 設置SELinux 成爲enforcing模式
二、修改配置文件須要重啓機器:
修改/etc/selinux/config 文件
將SELINUX=enforcing改成SELINUX=disabled
重啓機器便可

 

還有參考另一文章:

http://www.tuicool.com/articles/ieQbuu

CentOS 6.5搭建Apache整合SVN 1.8.5服務器(多版本庫權限配置)

1. gcc gcc-c++安裝 
yum install gcc gcc-c++ 
2.將Subversion和依賴安裝包上傳到CentOS服務器 
3.依賴包的安裝 
tar zxvf apr-1.5.0.tar.gz 
tar zxvf libtool-2.2.4.tar.gz 
tar zxvf apr-util-1.5.3.tar.gz 
cd apr-1.5.0 
./configure --prefix=/usr/local/apr 
make 
make install 
cd libtool-2.2.4 
./configure --prefix=/usr/local/libtool 
make 
make install 
cd apr-util-1.5.3 
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config 
make 
make install 
tar zxvf pcre-8.33.tar.gz 
tar zxvf httpd-2.4.7.tar.gz 
cd pcre-8.33 
./configure --prefix=/usr/local/pcre 
make 
make install 
cd httpd-2.4.7 
./configure --prefix=/usr/local/apache --enable-so --enable-dav --enable-dav-fs --enable-mnaintainet-mode --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre 
make 
make install 
tar xzvf zlib-1.2.8.tar.gz 
cd zlib-1.2.8 
./configure --prefix=/usr/local/zlib 
make 
make install 
tar zxvf sqlite-autoconf-3080100.tar.gz 
tar zxvf subversion-1.8.5.tar.gz 
cd sqlite-autoconf-3080100 
./configure --prefix=/usr/local/sqlite 
make 
make install 
cd subversion-1.8.5 
./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs  --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-sqlite=/usr/local/sqlite --enable-maintainer-mode --with-zlib=/usr/local/zlib 
make 
make install 
================================================================================== 
4.Apache和SVN命令環境設置 
vi /etc/profile 
PATH=/usr/local/apache/bin:$PATH 
PATH=/usr/local/subversion/bin:$PATH 
退出VI 
source /etc/profile 
================================================================================== 
5.Apache配置 
so文件複製 
cp /usr/local/subversion/libexec/mod_authz_svn.so /usr/local/apache/modules/mod_authz_svn.so 
cp /usr/local/subversion/libexec/mod_dav_svn.so /usr/local/apache/modules/mod_dav_svn.so 
httpd.conf配置文件修改 
vi /usr/local/apache/conf/httpd.conf 
LoadModule dav_module modules/mod_dav.so 
LoadModule dav_svn_module modules/mod_dav_svn.so 
LoadModule authz_svn_module modules/mod_authz_svn.so 
#svn 
<Location /svn> 
DAV svn 
SVNParentPath /usr/svn 
AuthType Basic 
AuthName "Subversion repository" 
#密碼存儲文件 
AuthUserFile /usr/svn/auth.conf 
Require valid-user 
#用戶訪問目錄的權限文件 
AuthzSVNAccessFile /usr/svn/access.conf 
</Location> 
================================================================================== 
6.SVN配置 
mkdir /usr/svn 
#建立版本庫 
svnadmin create /usr/svn/repos 
#添加用戶並設置密碼: 
htpasswd -c /usr/local/subversion/auth.conf test1 
#輸入兩次密碼 
htpasswd /usr/local/subversion/auth.conf test2 
#輸入兩次密碼 
#SVN用戶訪問目錄權限配置文件 
touch /usr/local/subversion/access.conf 
vi /usr/local/subversion/access.conf 
#用戶組設置 
[groups] 
g1 = test1 
g2 = test2 
#版本庫1,組1爲讀寫權限,組2爲只讀 
[repos1:/] 
@g1 = rw 
@g2 = r 
* = 
#版本庫1下的mysvn文件夾組1爲只讀權限 
[repos1:/mysvn] 
@g1 = r 
#版本庫2 
[repos2:/] 
@g1 = rw 
@g2 = rw 
* = 
#版本庫3 
[repos3:/] 
@g1 = rw 
@g2 = rw 
#SVNSERVE.CONF配置文件修改 
anon-access = none 
auth-access = write 
password-db = /usr/svn/auth.conf 
authz-db = /usr/svn/access.conf 
爲SVN版本庫文件添加讀寫權限 
chmod -R 777 /usr/svn 
啓動SVN 
svnserve -d -r /usr/svn --config-file /usr/svn/svnserve.conf 
啓動APACHE 
/usr/local/apache/bin/apachectl start 
================================================================================== 
7.防火牆配置 
iptables -P OUTPUT ACCEPT #默認策略 
iptables -P FORWARD DROP #默認策略 
iptables -A INPUT -i lo -j ACCEPT 
iptables -A INPUT -p tcp --dport 80 -j ACCEPT 
iptables -A INPUT -p tcp --dport 3690 -j ACCEPT 
iptables -A INPUT -p tcp --dport 22 -j ACCEPT 
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT   #容許已建和相關的鏈接 
iptables -P INPUT DROP #默認策略 
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #容許已建和相關的鏈接 
/etc/init.d/iptables save#保存iptables配置。 
================================================================================== 
8.關閉selinux 
vi /etc/sysconfig/selinux 
SELINUX=DISABLED 
================================================================================== 
客戶端訪問: 
版本庫1:http://ip/svn/repos1 
版本庫2:http://ip/svn/repos2 
版本庫3:http://ip/svn/repos3 
相關文章
相關標籤/搜索