一、准备环境
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到本地电脑
原文地址:http://blog.51cto.com/13531801/2067634