httpd + subversion SVN服务器搭建

来源:互联网 发布:一天一包烟 烟瘾 知乎 编辑:程序博客网 时间:2024/05/22 17:54
/*
* httpd + subversion SVN服务器搭建
* Create : 20160824
* Author : wangjiguang
*/


说明:
操作系统 —— CentOS6.5 内核版本为:2.6.32-431.el6.x86_64
httpd版本:httpd-2.2.31.tar.gz
subversion版本:subversion-1.7.22.tar.gz

注:该方式为源码安装,安装前需要安装gcc编译环境。可通过安装gcc-4.4.7-4.el6.x86_64.rpm
所需的其他rpm包进行一一安装。

步骤:
A、安装gcc编译环境

B、安装Apache
1、编译安装
[root@localhost /]# tar -xzvf httpd-2.2.31.tar.gz
[root@localhost /]# cd /workdir/httpd-2.2.31
[root@localhost /]# ./configure -prefix=/apacheInstallDir/apache -enable-dav -enable-so -enable-maintainer-mode -enable-rewrite
[root@localhost /]# make
[root@localhost /]# make install
2、修改服务端口
[root@localhost /]# vi /apacheInstallDir/apache/conf/httpd.conf#将默认的80端口修改成指定端口如:8088
3、设置apache的环境变量
[root@localhost /]# vi /etc/profile#在最后一行添加
#set apachePath
export PATH=/apacheInstallDir/apache/bin:$PATH
export PATH
4、启动apache服务并检测
[root@localhost /]# httpd -k start #启动服务
客户端输入地址 http://IP:8088/#显示it works 表示成功

C、安装subversion
1、编译安装
[root@localhost /]# tar -xzvf subversion-1.7.22.tar.gz
[root@localhost /]# cd /workdir/subversion-1.7.22
[root@localhost /]# ./configure -prefix=/subWorkDir/subversion -with-apxs=/apacheInstallDir/apache/bin/apxs  \
-with-apr=/apacheInstallDir/apache/bin/apr-1-config -with-apr-util=/apacheInstallDir/apache/bin/apu-1-config
[root@localhost /]# make
注:① 编译时会报出缺少sqlite-amalgamation/sqlite3.c 文件,下载sqlite-amalgamation-3.7.3.tar.gz将sqlite-amalgamation/sqlite3.c复制到
/workdir/subversion-1.7.22
② 编译时会报出缺少zlib等文件,在CentOS6.5的镜像包中找zlib-1.2.3-29.el6.x86_64.rpm和zlib-devel-1.2.3-29.el6.x86_64.rpm安装
[root@localhost /]# make install
2、设置subversion的环境变量
[root@localhost /]# vi /etc/profile#在最后一行添加
#set svnpath
export PATH=/subWorkDir/bin:$PATH
export PATH
3、检查svn是否与apache兼容
[root@localhost /]# vi /apacheInstallDir/conf/httpd.conf
查找文件中是否增加了
LoadModule dav_svn_module    modules/mod_dav_svn.so
LoadModule authz_svn_module  modules/mod_authz_svn.so
两行信息,并且查看/usr/local/apache/modules 下是否有mod_dav_svn.so,和mod_authz_svn.so 文件
如果http.conf 中没有增加代码。modules下有mod_dav_svn.so,和mod_authz_svn.so 文件,在http.conf中增加那两行代码。
如果modules下没有mod_dav_svn.so,和mod_authz_svn.so,svn安装的错误。按照步骤重装

D、创建配置svn的repository
1、创建SVN版本库目录
[root@localhost /]# mkdir -p /svnDataDir/svnrepos
2、创建版本库
[root@localhost /]# svnadmin create /svnDataDir/svnrepos#目录下会生成conf  db  format  hooks  locks  README.txt 
3、修改SVN版本库目录的所属组
[root@localhost /]# chown daemon:root /svnDataDir/svnrepos -R
4、添加SVN用户组
[root@localhost /]# vi /svnDataDir/svnrepos/conf/authz
[groups]
all = admin,zhangsan,lisi
design = zhangsan
admin = admin
phone = lisi
分配权限
[/] #这个根目录是指/svnDataDir/svnrepos/svn
@all = r #组名前面加@
admin = rw #r读,w写
[svn:/design] #svn是指配置文件location标签里的svn,design是指版本库下面的一个文件夹,可以用管理员admin在客户端创建,同理其他文件夹也一样
@design = rw
lisi = r
5、给用户添加密码
[root@localhost /]# htpasswd /svnDataDir/svnrepos/conf/passwd  用户名
6、配置svnserve.conf
[root@localhost /]# vi /svnDataDir/svnrepos/conf/svnserve.conf
添加: anon-access=none
auth-access=write
password-db=/svnDataDir/svnrepos/conf/passwd
authz-db =/svnDataDir/svnrepos/conf/authz
realm =/svnDataDir/svnrepos/conf

D、配置SVN版本库到apache的配置文件中
1、添加SVN版本库到apache的配置文件中
[root@localhost /]# vi /apacheInstallDir/conf/httpd.conf
添加: <Location /svn>#这个/svn很重要,名字随意
DAV svn
#SVNPath /svnDataDir/svnrepos
SVNParentPath /svnDataDir/svnrepos
AuthzSVNAccessFile /svnDataDir/svnrepos/OWST/conf/authz
AuthType Basic
AuthName "Subversion repository"#导出的时候在对话框里显示
AuthUserFile /svnDataDir/svnrepos/OWST/conf/passwd
Require valid-user
</Location>
2、重启apache
[root@localhost /]# httpd -k restart

E、svn客户端登陆测试
以TortoiseSVN为例:
TortoiseSVN->Relocate->输入url
注:若报出uuid和WC has的uuid不一致则
[root@localhost /]# svnlook uuid /svnDataDir/svnrepos#会显示出当前版本库的UUID
 
[root@localhost /]# svnadmin setuuid /svnDataDir/svnrepos  # generate a new UUID   
  
[root@localhost /]# svnadmin setuuid /var/svn/repos cf2b9d22-acb5-11dc-bc8c-05e83ce5dbec  # restore the old UUID   

操作过程中发现错误:
1、cannot load /modules/mod_dev_svn.so into server:......
执行./configure -prefix=/apacheInstallDir/apache -enable-dav -enable-so -enable-maintainer-mode -enable-rewrite
重新编译安装apache



0 0
原创粉丝点击