一、下载对应的包
1、 httpd-2.2.8.tar.gz
2、 neon-0.29.5.tar.gz
3、 subversion-1.5.6.tar.gz
4、 subversion-deps-1.5.6.tar.gz
注:httpd-2.2.8.tar.gz 是apache 服务器对应的核心包
二、安装apache服务器
使用root 账户 新建 apache 目录 -----# mkdir /usr/local/apache
解压对应的httpd-2.2.8.tar.gz----# tar –zvxf httpd-2.2.8.tar.gz
进入对应的httpd-2.2.8 ----------# cd httpd-2.2.8
./configure
--prefix=/usr/local/apache
--with-apr=/usr/local/apr/bin/apr-1-config
--with-apr-util=/usr/local/apr/bin/apu-1-config
--enable-modules=so
--enable-dav
--enable-maintainer-mode --enable-rewrite
# make
# make install
安装好后启动 apache
# /usr/local/apache/bin/apachectl -k start
用浏览器查看http://localhost/,得到it works,说明apache已经配置成功了
三、安装subversion-1.5.6
解压subversion-1.5.6.tar.gz----# tar –zvxf subversion-1.5.6.tar.gz
解压subversion-deps-1.5.6.tar.gz----# tar –zvxf subversion-deps-1.5.6.tar.gz
这两个文件会解压到同一目录subversion-1.5.6-----# cd subversion-1.5.6
./configure
--with-apxs=/usr/local/apache/bin/apxs
--prefix=/usr/local/svn
--with-apr=/usr/local/apache
--with-apr-util=/usr/local/apache
--with-ssl --enable-maintainer-mode
注: 如果fedora 编译安装 subversion 出现 undefined reference to `SSL_SESSION_cmp’,发现在安装subversion-1.5.6时,如果对应的neon版本为neon-0.29.5.tar.gz,就会出现这个错误,根据网上的资料得知,在neon的高版本上已经修复这个错误,于是到其官方网站http://www.webdav.org/neon/下载最新版的neon-0.29.3,将其解压到subversion的源码目录中,并改名为neon,再次编译,成功
make
make install
查看安装后的svn 版本 # /usr/local/svn/bin/svnserve --version
四、开始建立版本库
mkdir -p /svn/project/www
# /usr/local/svn/bin/svnadmin create /svn/project/www /*创建仓库"www"
ls /svn/project/www /*查看有没有创建好,如果多了一些文件则说明版本库已经创建好
导入项目文件到版本库
/usr/local/bin/svn import /home/oracle/qtproject/feiya1_1 file:///svn/project/www -m "init"
修改svn仓库的所有者
# chown -R apache.apache /svn/project
如果没有对应的用户与组 请自行创建
五、配置apache支持svn
# vim /usr/local/apache/conf/httpd.conf
在httpd.conf文件中有这么一段内容:
User daemon
Group daemon
修改成:
User apache
Group apache
在文件末尾添加
<Location /svn>
DAV svn
SVNParentPath /svn/project /*(此处配置你的版本库根目录)
AuthType Basic /*(连接类型设置 基本验证)
AuthName "Hello welcome to here" /*(此处字符串内容修改为提示对话框标题)
AuthUserFile /svn/passwd /*(访问版本库用户的文件,用apache 的htpasswd命令生成)
AuthzSVNAccessFile /svn/auth.conf /*(此处修改为访问版本库权限的文件)
Require valid-user /*("Require valid-user"告诉apache在authfile中所有的用户都可以访问)
</Location>
打开浏览器访问http://192.168.0.225/svn/www 会提示输入用户名密码,检测是否配置成功
六、配置svn权限管理(即authz.conf的配置)
1、 添加用户:
/usr/local/apache/bin/htpasswd -c /svn/passwd user1
接着是输入对应的密码
第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加,第二次添加用户不需要带-c参数
/usr/local/apache/bin/htpasswd /svn/passwd user2
2、 权限分配:
vim /svn/auth.conf (进入文件auth.conf,对其进行编辑)
[groups]
Admin=user1,user2 /*(这个表示admin群组里的成员 user1,user2)
Develop=u1, u2 /*(这个表示Develop群组里的成员 u1,u2)
[www:/] /*(这表示,仓库www的根目录下的访问权限)
user1 = rw /*(www仓库user1用户具有读和写权限)
user2 = r /*( www仓库userl用户具只有读权限)
@develop=rw /*(这表示 群 develop的成员都具有读写权限)
[/] /*(这个表示在所有仓库的根目录下)
* = r /*(这个表示对所有的用户都具有读权限)
注意:在编辑authz.conf文件时,所有行都必须要顶头写,否则会报错
七、重启apache服务和启动svn服务
/usr/local/apache/bin/apachectl -k restart
就可以通过 http://192.168.0.225/svn/www 这个URL来访问仓库了,当然,受权限的限制,必须是合法用户才能访问且具有相应的权限
八、启动svn服务
1、 找到对应的版本库 ----# cd /svn/project/www
2、 # vim /svn/project/www/conf/svnserve.conf
3、 修改里面的
anon-access = none
auth-access = write
password-db = passwd
4、 # vim /svn/project/www/conf/passwd
5、 添加用户 test = test
注:以上修改都必须是每行开头顶部(不能空格)
6、最后启动svn
#/usr/local/svn/bin/svnserve -d -r /svn/project
-d 表示以 daemon 方式(后台运行)运行
-r /svn/project 指定根目录是/svn/project
检查服务器是否启动正常:
#ps –ef|grep svnserve
如果显示如下,即为启动成功:
Root 6941 1 0 15:07 ? 00:00:00 svnserve -d ——listen-port 9999 -r /svn
九、在windows 里连接fedora 14 svn
安装对应的客户端TortoiseSVN-1.6.11.20210-win32-svn-1.6.13.msi,重启
在fedora 14 里防火墙 打开3690 端口
在安装好的客户端中右键---》check out