在CentOS5.1上安装apache + svn 以及用tortoiseSVN连接

CentOS5.1上安装apache + svn 以及用tortoiseSVN连接

 

下载软件

subversion-deps-1.4.6.tar.bz2 svn服务器端安装包,到svn官方网站下载

httpd-2.2.8.tar.bz2 apache httpd安装包,到apache官方网站下载

 

2.安装 apache

解压缩:

tar –jxvf httpd-2.2.8.tar.bz2

 

配置安装:

root用户执行以下命令

# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2
# make
# make install

 

安装完成后,启动apache进程:

/usr/local/apache2/bin/apachectl start

 

用浏览器打开http://localhost/ ,如果在页面上出现“It works!”,则表明安装成功。

 

安装Subversion

解压缩

# tar –jxvf subversion-deps-1.4.6.tar.bz2

 

配置安装

#cd subversion-deps-1.4.6

# ./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

 

# make

# make install

创建库文件所在的目录(你可以先创建一个svnroot用户)

# mkdir /home/svnroot/repository

# /usr/local/subversion/bin/svnadmin create /home/svnroot/repository/test

 

# ls /home/svnroot/repository/test/

结果显示:

conf  dav  db  format  hooks  locks  README.txt

 

# cd /home/svnroot/repository

# mkdir -p import/{trunk,branches,tags}

# cd /usr/local/subversion/bin

 

把路径/home/svnroot/repository/import下的文件导入到刚刚创建的Subversion 仓库中:

# ./svn import /home/svnroot/import file:///home/svnroot/repository/test -m "Init repository"

 

不让其他人有该目录的权限
# chmod 700 /home/svnroot/repository

 

修改apache配置文件

 

# vi  /usr/local/apache2/conf/httpd.conf

 

User daemon

Group daemon

改为:

User apache

Group apache

 

备注:在安装apache的时候,自动增加了apache用户和apache,如果你系统没有这个用户和组,则请自己添加该用户和组。

 

修改svn库的所有者:

# chown -R apache:apache /home/svnroot/repository

 

修改该目录权限只能apache拥有
# chmod 700 /home/svnroot/repository

 

# 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.com" //
连接框提示

AuthUserFile /home/svnroot/repository/authfile //用户配置文件
Require valid-user //
采用何种认证
</Location>

 

保存。


备注:Require valid-user"告诉apacheauthfile中所有的用户都可以访问。如果没有它,则只能第一个用户可以访问新建库

 

appache创建一个用户:

htpasswd -c /home/svnroot//repository/authfile ben

按提示输入密码和确认密码。

 

启动apache服务

# /usr/local/apache2/bin/apachectl start

 

打开浏览器访问http://localhost/svn/test/,如果有东西显示就说明成功。

 

 

权限分配
# vi /home/svnroot/repository/authz.conf
[test:/] //
这表示,仓库test的根目录下的访问权限
    user1 = rw //test
仓库user1用户具有读和写权限
    football = r //test
仓库football用户具有读权限
[test2:/] //test2
仓库根目录下的访问权限
    user1 = r //user1
用户在test2仓库根目录下只有读权限
    football = //football
用户在 test2仓库根目录下无任何权限
[/] //
这个表示在所有仓库的根目录下
* = r //
这个表示对所有的用户都具有读权限
#[groups] //
这个表示群组设置
#svn1-developers = football, user1 //
这个表示某群组里的成员
#svn2-developers = user1
    #[svn1:/]
#@svn1-developers = rw //
如果在前面加上@符号,则表示这是个群组权限设置

 

注意:在编辑authz.conf文件时,所有行最前面都不能有空格,否则会报错:"Access denied: 'user1' "

重启apache进程

将第4步设置完成后。重启Apache
# /usr/local/apache2/bin/apachectl restart

就可以通过 http://localhost/svn/test
这个URL来访问仓库了,当然,受权限的限制,必须是合法用户才能访问且具有相应的权限

OK.到此SVN服务器的架设已经完成。

 

安装tortoiseSVN

1.到http://tortoisesvn.net/ 网站下载 tortoiseSVN的安装程序,我下的版本是1.4.3

2.安装(具体步骤略),安装完后可能需要重启,重启后打开资源管理器,随便进入一个目录按右键就可要看到tortoiseSVN相关的菜单,如图:

 

 

3. 连接查看

在右键菜单中点击 “TotoiseSVN / Repo-browse”,在弹出的对话框中输入地址,因为和apache结合,所以这里用的是http地址而不是 “svn://xxxx” 这类的地址,如下图:

 

点击“OK”后会要求输入用户名和密码

 

输入你在前面步骤创建的用户名和密码,点击“OK”,这样就可以浏览到上面的内容了。

 

分配新用户

其实前面的步骤已经介绍了,这里再归纳一下:

1.  创建apache的用户(比如创建一个新的用户test2)

# htpasswd  /home/svnroot/repository/authfile test2

 

按提示输入密码和确认密码。

 

(备注:这里不用再带参数 "-c",这个参数表示会新建一个密码文件并覆盖原来的文件;

如果要删除用户,使用命令:htpasswd -D /home/svnroot//repository/authfile test2)

 

2.  编辑/home/svnroot/repository/test/conf/passwd文件,增加一行:

test2 = 123456

 

保存退出。

 

3.编辑/home/svnroot/repository/authz.conf文件,在test库节点增加一行:

[test:/]

ben=rw

test2 = rw

 [/]

 

保存退出。test2用户就可以使用了,可以用tortoiseSVN测试一下。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值