共计 3770 个字符,预计需要花费 10 分钟才能阅读完成。
1、安装 nginx(略)
Nginx 安装配置详解 http://www.linuxidc.com/Linux/2013-03/80471.htm
2、安装 apache、apache 模块包、subversion
yum -y install httpd subversion mod_dav_svn
3、建立版本库主目录:
mkdir -p /data/svndata
chown -R apache.apache/data/svndata
4、编写一个创建 svn 库的脚本
#!/bin/sh
#$0:svncreate.sh
if [$# -ne 1]; then
echo“Usage: $0 repository_name”
exit 1
fi
sudo svnadmin create –fs-type fsfs /data/svndata/${1}
sudo chown -R apache:apache /data/svndata/${1}
sudo chmod -R g+w /data/svndata/${1}
sudo chmod g+s /data/svndata/${1}/db
注:不指定 –fs-type 默认也是 fsfs
5、创建一个测试库并导入数据
创建
1 /shell/svncreate.sh svn-shopex
导入数据
svn import /data/webroot/cachebbsfile:///data/svndata/svn-shopex
6、apache 配置
vim /etc/httpd/conf.d/subversion.conf
<Location /svn>
DAV svn
SVNListParentPath off
SVNParentPath “/data/svndata/”
AuthType Basic
AuthName “Subversion Authentication!”
AuthzSVNAccessFile /data/svndata/authz
AuthUserFile /data/svndata/passwd
Require valid-user
SVNIndexXSLT “/svnindex.xsl”
</Location>
注:
/data/svndata/authz 所有库用户的权限管理文件,无需单独配置每个库的 conf 下的文件,无需启动 svn 进程。
/data/svndata/passwd 用户密码管理文件(由 htpasswd 生成)
注意事项:
a、修改监听端口
b、确定已加载 svn 模块:
[root@CentOS-6 svndata]# httpd -M | grep svn
dav_svn_module (shared)
authz_svn_module (shared)
Syntax OK
c、SVNIndexXSLT “/svnindex.xsl” 界面美观设置,可选。如果不使用代理,直接放到 svndata 主目录中,即可;使用 nginx 代理,只需放到 nginx 站点目录中。
下载资源:wget -L -r -np –user guest –password ”http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/contrib/svnindex/
d、不管是使用乌龟客户端还是 WEB 访问,都会产生大量日志,可以考虑关闭日志。
e、本次使用的是默认站点,如果有其它站点,可以把以上配置单独放到某个站点配置中
7、生成认证文件
1 htpasswd -n sndapk >>/data/svndata/passwd
……
8、nginx 配置
配置站点:
server {
listen 80;
server_name test.cn;
location ~ \.(ico|xsl|css)$ {
root /data/webroot/svnhtml;
}
location /svn {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/svn/;
}
}
下载界面资源文件:
cd /data/webroot/svnhtml
wget -L -r -np –user guest –password ” http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/contrib/svnindex/
注意事项:
a、nginx 默认限制上传文件不能大于 1M,如果大于 1M,会产生错误:”413 Request Entity Too Large“,解决:
在 http 上下文中添加行并重启服务:client_max_body_size 10m;
9、权限配置
vim /data/svndata/authz
[groups]
sa = sndapk,sndapk3,sndapk5
devel = sndapk2,sndapk4
[svna:/]
@sa = rw
* =
[svn-shopex:/]
@sa = rw
* =
#[/] #如果单独对库指定了权限会覆盖全局的权限配置
#* = r
(完成)
========================================================
以下是源码安装 apache、subversion
源码安装 apr apr-util
/usr/local/apr-1.5.0
/usr/local/apr-util-1.5.3
apache 安装:
./configure \
–prefix=/usr/local/apache-2.2.26 \
–enable-deflate \
–enable-headers \
–enable-so \
–enable-rewrite \
–enable-cgi \
–enable-file-cache \
–enable-cache \
–enable-disk-cache \
–enable-mem-cache \
–enable-dav \
–with-apr=/usr/local/apr-1.5.0/bin/apr-1-config \
–with-apr-util=/usr/local/apr-util-1.5.3/bin/apu-1-config
make && make install
subversion 安装:
./configure \
–prefix=/usr/local/svn-1.7.14 \
–with-apxs=/usr/local/apache-2.2.26/bin/apxs \
–with-apr=/usr/local/apr-1.5.0/bin/apr-1-config \
–with-apr-util=/usr/local/apr-util-1.5.3/bin/apu-1-config \
–with-zlib \
–with-openssl \
–without-berkeley-db
问题:
不实别 rpm 包安装的 apr apr-util
解决:源码安装 apr apr-util,并手动指定
configure: error: Subversion requires SQLite
解决:sqlite 官网下载最新包,然后拷贝 sqllite.c 到指定 subversion 源码目录中,安装 1.8.5 版本的 subversion,提示 sqlite 太旧,安装 1.7.14 解决。
# 配置部分同上
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里
相关阅读:
CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm
使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm
搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm
CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm
CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm
CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm