1. 程式人生 > >在centos6上部署apache+svn服務器

在centos6上部署apache+svn服務器

-c 端口號 name span out pan 依賴包 ini 安裝

一、準備環境

1、 selinux以及iptables設置

1) 關閉selinux

# 臨時關閉selinux:

setenforce 0

# 禁用selinux:

vim /etc/sysconfig/selinux

# 將SELINUX=enforcing修改成SELINUX=disabled,重啟後才能生效。

2) 防火墻設置

# 修改防火墻策略,開放需要的端口,為了方便操作,也可以關閉防火墻,暫不考慮安全問題

# 臨時關閉防火墻:

service iptables stop

# 永久關閉防火墻:

chkconfig iptables off

2、 yum安裝相關依賴包

yum install gcc gcc-++ make pcre-devel zlib-devel expat-devel -y

3、 安裝apr(Apache可移植運行庫)

# 下載

wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.gz

# 解壓

tar -zxvf apr-1.6.3.tar.gz

# 切換到目錄

cd apr-1.6.3

# 配置

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

# 編譯與安裝

make && make install

4、 安裝 apr-util

wget http://mirrors.shuosc.org/apache//apr/apr-util-1.6.1.tar.gz

tar -zxvf apr-util-1.6.1.tar.gz

cd apr-util-1.6.1

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

make && make install


二、安裝apache

wget https://mirrors.cnnic.cn/apache/httpd/httpd-2.4.28.tar.bz2

tar -jxvf httpd-2.4.28.tar.bz2

cd httpd-2.4.28

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

make && make install

# 設置服務器用於辨識的主機名和端口號

sed -i 's/#ServerName.*/ServerName 192.16.8.103:80/' /usr/local/apache/conf/httpd.conf


三、安裝SVN

1、 SVN需要需要SQLite數據庫支持,先安裝SQLite

wget http://www.sqlite.org/2017/sqlite-autoconf-3210000.tar.gz

./configure

make && make install

2、 SVN安裝配置

mkdir -p /data/svn

wget http://mirrors.shuosc.org/apache/subversion/subversion-1.8.19.tar.gz

cd subversion-1.8.19

./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-zlib

make && make install


3、 SVN啟動設置

1)添加環境變量

echo "PATH=$PATH/:/usr/local/subversion/bin" >> /etc/profile

# 立即生效

source /etc/profile


2) 啟動SVN

svnserve -d -r /usr/local/subversion/


3) 查看SVN版本

svnserve --version


4) 做軟鏈接到默認啟動目錄

ln -s /usr/local/subversion/bin/svnserve /usr/local/bin/svnserve


5) 設置開機啟動

vim /etc/init.d/svnserve

#!/bin/bash

# chkconfig: - 85 15

# description: svn server

SVN_HOME=/data/svn

if [ ! -f "/usr/bin/svnserve" ]

then

echo "svnserver startup: cannot start"

exit

fi

case "$1" in

start)

echo "Starting svnserve…"

/usr/local/subversion/bin/svnserve -d --listen-port 3690 -r $SVN_HOME

;;

stop)

echo "Stoping svnserve…"

killall svnserve

;;

restart)

$0 stop

$0 start

;;

*)

echo "Usage: svn { start | stop | restart } "

exit 1

esac

5) 添加可執行權限

chmod + /etc/init.d/svnserve

6) 驗證重新啟動

/etc/init.d/svnserver restart

四、apache與svn整合


1、 創建組和用戶並設置user01密碼

groupadd svn

useradd -g svn -s /sbin/nologin svn

useradd user01

passwd user01


2、 加載svn庫

cp /usr/local/src/subversion-1.8.19/subversion/mod_dav_svn/.libs/mod_dav_svn.so /usr/local/apache/modules/

cp /usr/local/src/subversion-1.8.19/subversion/mod_authz_svn/.libs/mod_authz_svn.so /usr/local/apache/modules/

3、 配置Web/DAV

# 修改apache配置文件

vim /usr/local/apache/conf/httpd.conf

User svn

Group svn

# 去掉以下2行的註釋

LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so

# 在所有LoadModule末端增加以下2行

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

4、 創建目錄

mkdir -p /data/svn

# 創建svn倉庫

svnadmin create /data/svn/sre

vim /usr/local/apache/conf/httpd.conf

<Location /svn>

DAV svn

SVNPath /data/svn/sre

AuthType Basic

AuthName "PleaseLogin"

AuthUserFile /usr/local/apache/.passwd

Require valid-user

</Location>

5、 生成passwd文件

/usr/local/apache/bin/htpasswd -c -m /usr/local/apache/.passwd user01

chown -R svn.svn /usr/local/apache/.passwd

chown -R svn.svn /data/svn

/etc/init.d/httpd restart


6、 用瀏覽器訪問http://192.168.8.103/svn

或者下載SVN客戶端執行 SVN Checkout,輸入URL:http://192.168.8.103/svn,Checkout到本地電腦



在centos6上部署apache+svn服務器