在RedHat 5.4(centos)下安装配置Apache+Subversion(一)

上一篇 / 下一篇  2011-09-22 11:34:44

    对于一个没有接触过linux的人要在linux下架设svn服务器,无异于赶鸭子上架。不过没办法,既是任务就得完成。本文是作者结合各家之长,加之网络上各种解决方法集成的吐血之作,希望能够给后面的人一些帮助。
    下面是作者在linux下架设svn服务器的详细步骤以及在安装配置过程中遇到的问题及解决方法:
1.   下载subversionapache的最新src

http://subversion.apache.org/download/下载subversion-1.6.17.tar.gz

http://httpd.apache.org/download.cgi#apache22下载httpd-2.2.20.tar.gz

<!--[if !supportLists]-->2.   <!--[endif]-->新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作
#groupadd svn
#useradd svnroot -g svn
#passwd svn

<!--[if !supportLists]-->3.   <!--[endif]-->编译安装apache

//解压apache2安装包(此处要指出安装包所在的路径)
# tar xvzf
 httpd-2.2.20.tar.gz
//
进入解压后的目录
# cd httpd-2.2.20
//
配置apache安装
# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/
# make
//
安装
# make install
//
启动apache服务
# /usr/local/apache2/bin/apachectl start
//
打开浏览器http://localhost/如果有测试"It works!"出现则证明已经安装成功。
:httpd服务的默认端口是80,此处若发现80端口已被占用,httpd.conf文件中修改listen 80listen 81(或其他未被占用的端口),修改完成后要重启apache服务。

<!--[if !supportLists]-->4.   <!--[endif]-->安装Subversion
//
解压SubVersion安装包
 # tar xvzf Subversion-1.6.17.tar.gz
//
进入解压后的目录
# cd Subversion-1.6.17
//
配置subversion安装
#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib --enable-maintainer-mode --enable-dav --enable-so

# make
//安装
# make install
//
创建库文件所在的目录(svnroot用户进行下面的操作)
# mkdir /home/svnroot/repository
//
创建仓库"test"
#/usr/local/subversion/bin/svnadmin create /home/svnroot/repository/test
//
查看svn是否安装成功
#  /usr/local/subversion/bin/svnadmin --version
//
不让其他人有该目录的权限
# chmod 700 /home/svnroot/repository
 
(svnroot用户操作结束)

<!--[if !supportLists]-->5.   <!--[endif]-->修改Apache配置文件
# vi /usr/local/apache2/conf/httpd.conf 
   //
找到下列语句,如果没有则自行添加
   LoadModule dav_svn_module modules/mod_dav_svn.so 
   LoadModule authz_svn_module modules/mod_authz_svn.so 
  //
在后面添加 
   <Location /svn> 
   DAV svn 
   SVNParentPath /home/svnroot/repository/
//svn父目录 
   AuthzSVNAccessFile /home/svnroot/repository/authz.conf
//权限配置文件 
   AuthType Basic
//连接类型设置 
   AuthName "Subversion.zoneyump"
//连接框提示 
   AuthUserFile /home/svnroot/repository/authfile
//用户配置文件 
   Require valid-user
//采用何种认证 
   </Location> 
//
重启apache
 # /usr/local/apache2/bin/apachectl restart 
//
打开浏览器访问http://localhost/svn/test/,如果有东西显示就说明成功。

<!--[if !supportLists]-->6.   <!--[endif]-->权限管理

1)增加用户

# htpasswd -c /home/svnroot/repository/authfile用户名

//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加

# htpasswd /home/svnroot/repository/authfile用户名(加入新的用户,就不用-c)

2)权限分配

# vi /home/svnroot/repository/authz.conf

 [groups]

admin=useradmin

devteamcs = useradmin,user1,user2//这里定义了一个用户组

[/]//对所有的项目,所有的用户都有读权限,admin用户有读写权限

@admin = rw

* = r

[test:/]//test项目,

@devteamcs = rw

///usr/local/apache2/conf/httpd.conf文件中配置,找到文件中的这两行:

User daemon

Group daemon

 //daemon改为svnroot,组也做相应更改,apache进程以svnroot的身份运行

//改完后是这个样子

User svnroot

Group svn

//重启apache

# /usr/local/apache2/bin/apachectl restart

访问http://localhost/svn/test提示输入用户名密码,输入创建的用户名和密码登录进去看到“Revision 0: /”之类的就表示成功啦!至此apache+svn配置完成。


感觉像是有字数限制,所以分两部分写,其余的见下(二)


TAG: Linux linux 安装与配置

 

评分:0

我来说两句

日历

« 2024-03-20  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 48404
  • 日志数: 18
  • 建立时间: 2008-12-23
  • 更新时间: 2012-01-10

RSS订阅

Open Toolbar