本安装环境为:opensuse12.1
所需安装包:httpd-2.4.3.tar.gz
subversion-1.7.6.tar.gz
openssl-1.0.1c.tar.gz
neon-0.29.6.tar.gz
linux
pcre-8.20.tar.gz
注:其中红色字体标识的为必需要,蓝色字体标识的为一些扩展包或者依赖包(要试状况下载安装)web
当前我所用的是普通用户安装,并非用的root用户apache
第一部分:安装浏览器
①.安装apache:服务器
1. tar -zxvf httpd-2.4.3.tar.gz网络
2. cd httpd-2.4.3/svn
3. ./configure --enable-ssl --enable-maintainer-mode --prefix=/usr/local/apache2 --enable-mods-shared=all字体
4. makeui
5. sudo make installspa
注:若是安装apache在第3步./configure的时候出现这样的错误:configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
则须要先安装pcre-8.20.tar.gz这个包,安装步骤以下:
i: tar -zxvf pcre-8.20.tar.gz
ii: cd pcre-8.20/
iii: ./configure
iV: make
V: sudo make install
安装完以后继续从新安装apache,先回到apache的源目录httpd-2.4.3文件夹中,而后从第3步但是从新编译安装.
②:安装subversion(SVN):
1. tar -zxvf subversion-1.7.6.tar.gz
注:这里须要添加一个neon的支持,就须要用到neon-0.29.6.tar.gz包,把这个包解压以后造成文件夹neon-0.29.6,而后把这儿文件夹拷贝到刚刚解压的SVN的源代码的根目录下面,而且重命名为neon
2. cd subversion-1.7.6
3. ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs --with-ssl
4. make
5. sudo make install
此时,SVN已经安装完毕,首先把/usr/local/subversion/bin这个目录加入到环境变量PATH中,而后运用命令svn --version,若是看到以下信息则SVN安装成功:
svn,版本 1.7.6 (r1370777)
编译于 Oct 13 2012,00:15:31
版权全部 (C) 2012 Apache 软件基金会。
此软件包含了许多人的贡献,请查看文件 NOTICE 以得到更多信息。
Subversion 是开放源代码软件,请参阅 http://subversion.apache.org/ 站点。
可以使用如下的版本库访问模块:
* ra_neon : 经过 WebDAV 协议使用 neon 访问版本库的模块。
- 处理“http”方案
- 处理“https”方案
* ra_svn : 使用 svn 网络协议访问版本库的模块。 - 使用 Cyrus SASL 认证
- 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
- 处理“file”方案
③:安装openssl
1. tar -zxvf openssl-1.0.1c.tar.gz
2. cd openssl-1.0.1c
3. ./configure
4. make
5. sudo make install
第二部分:检查
①:检查svn是否已经添加到apache中
查看/usr/local/apache2/conf/httpd.conf中是否添加了
LoadModule dav_svn_module modules/mod_dav_svn.so
若是没有添加,则手动添加下.
②开启apache,进入到apache的bin目录,执行 sudo ./apachectl start
在浏览器中打开,http:://localhost, 看apache是否正常运行
第三部分:整合
①:建立SVN仓库
# 建立文件夹
$ mkdir -p /home/mysvn
# 运行建立版本库的命令,指定数据存储为 FSFS,若是要指定为 Berkeley DB,则将 fsfs 替换为 bdb
$ svnadmin create --fs-type fsfs /home/mysvn
②:整合apache和subversion
Subversion服务器有两种运行方式,一是能够做为Apache 2.0的一个模块,以WebDAV/DeltaV协议与外界连通;另外,也可以使用Subversion 自带的小型服务器程序svnserve。
以http方式运行
在/usr/local/apache2/conf/httpd.conf中加入:
<Location /svn/repository>
DAV svn
SVNPath /home/mysvn
</Location>
在服务器的浏览器中输入网址: http://localhost/svn/repository/
这时候,你会看到reversion0的界面,说明仓库就已经能够工做了。
tips:此时若是不能看到,请当心检查以上几步,若是都正确,请检查本身的httpd.conf配置文件,其中检查apache调用svn的端口是否占用,由于linux自带的web服务占用的是80端口,而apache默认调用的也是80端口。
③:用户添加以及权限设置
1.用户添加:
由于subversion跟apache整合在一块儿,因此用户添加管理和权限设置都是apache的任务。
进入/urs/local/apaceh2/bin,添加用户
# ### 第一次: 以 -c 创建档案
# htpasswd -c /etc/svn-auth-file harry
New password: *****
Re-type new password: *****
Adding password for user harry
# htpasswd /etc/svn-auth-file sally
New password: *******
Re-type new password: *******
Adding password for user sally
2.用户权限添加
在/usr/local/apache2/conf/httpd.conf的加入:
<Location /svn/repository >
DAV svn
SVNPath /home/mysvn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/svn-auth-file
Require valid-user
</Location>
从新启动 Apache后,若是有人要访问SVN服务器,系统会要求他输入用户名和密码。 只有输入Sally 或Harry的用户名和相应的密码,才能够对档案库进行修改和访问。
权限设置在svn-auth-file内
好比仓库rpo,其下有p1,p2两个目录,用户有a,b
#用户a,b只能对rpo目录下的目录进行read,没有权限write
[rpo:\]
a = r
b = r
#用户a对p1有读写的功能,用户b只能读
[doc:/p1]
a = rw
b = r
tips:请注意用户会继承上级目录的权限。当心设置,不要相互冲突。
此时用户登陆只须要输入正确的用户名和密码便可登陆,若是不能访问,看如下说明:
tips:看你的用户是否有查看文件的权限,使用命令#chown –R apache.apache /path/to/file
④:用户组和用户组权限设置
用户组添加以下:
[groups]
Ppc = a, b, c
Symbian = d, e, f
用户组权限设置要在前面添加@标志,表示对组内全部成员权限同样
[doc:/]
@symbian = r