`
wuhongyu
  • 浏览: 404719 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

linux下搭建配置APACHE+SVN

    博客分类:
  • svn
阅读更多

下载

 

1、apache

http://httpd.apache.org/

下载

httpd-2.2.19.tar.gz

 

2、svn

http://subversion.tigris.org/

http://svn.haxx.se/dev/archive-2010-06/0320.shtml

下载

http://subversion.tigris.org/downloads/subversion-1.6.12.tar.gz

http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.gz

 

安装

1、apache

把安装压缩包[httpd-2.2.19.tar.gz]拷到linux环境/usr/local/下面。
[root@localhost /]# cd /usr/local/
[root@localhost /]# tar zxf httpd-2.2.19.tar.gz
(安装包解压缩,解压缩后生成安装文件夹[httpd-2.2.19])
[root@localhost /]# cd /usr/local/httpd-2.2.19
[root@localhost /]# configure -prefix=/usr/local/apache -enable-dav -enable-so && make && make install
(进入安装文件夹[httpd-2.2.19],执行安装程序configure,安装到apache文件夹中)

(重起apache,判断是否安装成功)
[root@localhost subversion]# /usr/local/apache/bin/httpd -k restart
[root@localhost subversion]# /usr/local/apache/bin/httpd -k stop
[root@localhost subversion]# /usr/local/apache/bin/httpd -k start

2、svn

把安装压缩包[subversion-1.6.12.tar.gz]和[subversion-deps-1.6.12.tar.gz]拷到linux环境/usr/local/下面。
[root@localhost /]# cd /usr/local/
[root@localhost /]# tar zxf subversion-1.6.12.tar.gz
[root@localhost /]# tar zxf subversion-deps-1.6.12.tar.gz
(安装包解压缩,解压缩后生成安装文件夹[subversion-1.6.12],两个文件都会解压缩到同一个文件夹下)
[root@localhost local]# cd /usr/local/subversion-1.6.12
[root@localhost subversion-1.6.12]# rm -rf apr
[root@localhost subversion-1.6.12]# rm -rf apr-util
(删除subversion自带的apr和apr-util文件夹,用apache的就可以)
[root@localhost subversion-1.6.12]# cd /usr/local/subversion-1.6.12
[root@localhost /]# configure -prefix=/usr/local/subversion -with-apxs=/usr/local/apache/bin/apxs -with-apr=/usr/local/apache/bin/apr-1-config -with-apr-util=/usr/local/apache/bin/apu-1-config && make && make install
[root@localhost subversion-1.6.12]# /usr/local/subversion/bin/svnserve --version
(查看版本确认安装成功)

 


配置

创建SVN用户
$ useradd pocsvn

创建库文件所在的目录
用pocsvn用户登陆并创建一个用于存放版本库的目录“project”
$ mkdir project --project这个目录得手工创建

创建SVN版本库poc
$ /usr/local/subversion/bin/svnadmin create /home/pocsvn/project/poc

[导入文件至版本库]
也可在全部配置完之后再进行这一步
/usr/local/subversion/bin/svn import /home/pocsvn/temp file:///home/pocsvn/project/poc -m "my note"
//这条语句将把路径/home/pocsvn/temp下找到的文件导入到poc库中去,提交后的修订版为1。

配置提高svn版本库的安全性
修改“project”目录权限,不让其他人有该目录的权限
$ chmod -R 700 /home/pocsvn/project

修改svn仓库的所有者(如果所有者已经是pocsvn用户,可跳过这一步)
chown -R pocsvn:pocsvn /home/pocsvn/project

配置apache支持svn
切换至root用户对apache进行以下设置
# vi /usr/local/apache_why/conf/httpd.conf  --这貌似必须得在root用户下写

1:更改端口号为81
#Listen 12.34.56.78:80
Listen 80
->
#Listen 12.34.56.78:80
Listen 81

2:更改用户及用户组为pocsvn:pocsvn
由于对“/home/pocsvn/project”目录进行了权限限制,因此需要将用户及用户组修改为pocsvn:pocsvn,否则会导致svn客户端无法访问
User daemon
Group daemon
->
User pocsvn
Group pocsvn

3:进行svn设置
在“httpd.conf”文件最后加上以下设置
<Location /svn>
DAV svn
SVNParentPath /home/pocsvn/project     (此处配置你的版本库根目录)
AuthType Basic                         (连接类型设置 基本验证)
AuthName "hello world! or hello ketty!!!! ^_^"     (此处字符串内容修改为提示对话框标题)
AuthUserFile /home/pocsvn/project/passwd           (此处修改为访问版本库用户的文件,在后面的步骤中用apache 的htpasswd命令生成)
AuthzSVNAccessFile /home/pocsvn/project/poc/conf/authz(此处修改为访问版本库权限的文件)
Require valid-user         ("Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,则只能第一个用户可以访问新建库)
</Location>

4:重新启动apache
# /usr/local/apache_why/bin/httpd -k restart

svn权限配置
1 . 添加用户:
# /usr/local/apache_why/bin/htpasswd -c /home/pocsvn/project/passwd why
# /usr/local/apache_why/bin/htpasswd /home/pocsvn/project/passwd poc
此处添加了两个用户“why”和“poc”。第一条语句中,“-c”表示创建一个版本库用户文件“passwd”,执行第二条语句时由于文件已经创建,因此不需要再加此参数。

2 . 权限分配:
# vi /home/pocsvn/project/poc/conf/authz
[groups]       --表示群组设置
admin = why    --表示admin群组里的成员有why,如果要配置多个,用逗号分隔
develop = poc  --表示develop群组里的成员有poc,如果要配置多个,用逗号分隔

[poc:/]        --表示仓库poc的根目录下的访问权限
why = rw       --poc仓库why用户具有读和写权限
poc = r        --poc仓库poc用户具有只读权限

@admin = rw    --表示群admin的成员都具有读写权限
@develop = r   --表示群poc的成员都具有只读权限

[/]            --表示在所有仓库的根目录下
* = r          --表示对所有的用户都具有读权限

注意:在编辑authz.conf文件时,所有行都必须要顶头写,不能有缩进,否则报错。

重启apache和svn服务
# /usr/local/apache_why/bin/httpd -k restart
# /usr/local/subversion/bin/svnserve -d --listen-port 3691 -r /home/pocsvn/project
-d 表示以 daemon 方式(后台运行)运行
-r /svn/project  指定根目录是/svn/project
--listen-port 3691  --表示在3691端口上进行监听,由于我的服务器上端口已经被占用,因此此处改为3691端口

检查服务器是否启动正常
# ps -ef|grep svnserve

配置好后,可以在浏览器中输入http://192.168.70.108:81/svn/poc/或者通过svn客户端工具访问版本库了!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics