Linux下apache+svn的安装与配置
Apahce版本: 2.2.8
SVN版本: 1.4.6
步骤:
1、 新建用户
#groupadd svn
#useradd svnroot -g svn
#passwd svnroot
2、 编译安装httpd(apache)
//解压apache2安装包
# tar xvzf httpd- 2.2.8 .tar.tar
//进入解压后的目录
# cd httpd- 2.2.8
//配置apache安装
# ./configure --enable-dav --enable-so --prefix=/usr/local/apache/
# make
//安装
# make install
//启动apache服务
# /usr/local/apache2/bin/apachectl start
//打开浏览器http://localhost/如果有测试页"It works!"出现则证明已经安装成功。
3、 编译apr、apr-util
在/httpd- 2.2.8 /srclib(解压出来的文件夹)文件夹下找到apr、apr-util文件夹,把他们copy到/usr/local文件夹下,执行命令:
#./configure –perfix=/usr/local/apr
#make
#make install
#./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr
#make
#make install
4、 编译安装subversion(SVN)
#cd subversion- 1.4.6
#./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-apxs=/usr/local/apache/bin/apxs –with-ssl –with-zlib –enable-maintainer-mode
#make
#make install
5、 创建库,这个步骤在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
6、 修改apache配置文件,该文件位于/usr/local/apache/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/passwd //用户配置文件,通过htpasswd命令添加
Require valid-user //采用何种认证
</Location>
7、 权限管理
(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
8、 修改/usr/local/apache/conf/httpd.conf文件,找到以下两行:
User daemon
Group daemon
// 将daemon改为svnroot,组也做相应更改,让apache进程以svnroot的身份运行
//改完后是这个样子
User svnroot
Group svn
9、 启动apache命令
# /usr/local/apache/bin/apachectl start(restart,stop)
访问http://localhost/svn/test ,现在需要身份验证,且通过验证后应该可以看到信息