fedora14安装svn+apache

来源:互联网 发布:阿里云qq 编辑:程序博客网 时间:2024/06/03 23:07

1、安装svn和httpd
引用:#yum install Subversion
#yum install httpd

2、建立主目录和项目仓库
引用:#mkdir /opt/svn/repos 
#chown -R apache:apache /opt/svn/repos

**建立仓库主目录,并将权限给apache用户 ** 
引用:#svnadmin create /opt/svn/repos/doc 
#svnadmin create /opt/svn/repos/netbeans

**建立项目仓库**doc放工作文档文件,netbeans放java源码
3、配置 /etc/httpd/conf.d/subversion.conf文件
确认文件中有以下二条
引用:LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

并将其它内容改为如下 

引用:<location> 说明"/repos"表明在主目录在网页中地址为 http://localhost/repos 
DAV svn
SVNParentPath /opt/svn/repos/ 主机中主目录为 /opt/svn/repos/
#
# # Limit write permission to list of valid users.
# <limitexcept>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/svn-auth-file
Require valid-user
AuthzSVNAccessFile /etc/svn-access-file
# </limitexcept>
</location>

4、建立帐户文件和权限文件

引用:htpasswd -cm /etc/svn-auth-file work

建立帐户文件,帐户为"work",然后,会提示输入密码,这里就加入了一个用户了,并且在/etc下创建了svn-auth- file文件。
引用:htpasswd -m /etc/svn-auth-file Username2
htpasswd -m /etc/svn-auth-file Username3

然后再加别的用户可以用以下命令(也可作为修改密码来使用,实在不想要这几个用户了,删掉重建就是,不过要对应修改svn- access-file):

建立svn-access-file文件,它是用来控制用户访问仓库的权限的
引用:#vi /etc/svn-access-file 
[doc:/] //这表示,仓库doc的根目录下的访问权限
work=rw // doc仓库work用户具有读和写权限,r可读 ,W可写
Username2=r // doc仓库Username2用户具有读和写权限
Username3=r // doc仓库Username3用户具有读和写权限
[netbeans:/]
work=rw
Username2=r
Username3=r
#[/] // 这个表示在所有仓库的根目录下
#* = r // 这个表示对所有的用户都具有读权限
#[groups] // 这个表示群组设置
#doc-developers = harry, sally // 这个表示某群组里的成员
#netbeans-developers = sally
#[svn1:/] 
#@doc-developers = rw // 如果在前面加上@符号,则表示这是个群组权限设置

5、重启Apache,就可以通过
http://localhost/repos/doc
http://localhost/repos/netbeans
这两个URL来访问二个项目仓库了,当然,要受权限的限制,必须是合法用户才能访问且具有相应的权限

另注:
1、修改SELINUX权限,当然你关了selinux或降为警告级别时可不考虑此问题
# chcon -R -h -u system_u -t httpd_sys_content_t /opt/svn/repos/
如果不进行这样的修改,客户端访问时就会报错“Could not open the requested SVN filesystem.”。
2、Linux下清除.svn目录
进入项目目录后,运行 find . -name ".svn" | xargs rm -rf1、安装svn和httpd
引用:#yum install Subversion
#yum install httpd

2、建立主目录和项目仓库
引用:#mkdir /opt/svn/repos 
#chown -R apache:apache /opt/svn/repos

**建立仓库主目录,并将权限给apache用户 ** 
引用:#svnadmin create /opt/svn/repos/doc 
#svnadmin create /opt/svn/repos/netbeans

**建立项目仓库**doc放工作文档文件,netbeans放java源码
3、配置 /etc/httpd/conf.d/subversion.conf文件
确认文件中有以下二条
引用:LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

并将其它内容改为如下 

引用:<location> 说明"/repos"表明在主目录在网页中地址为 http://localhost/repos 
DAV svn
SVNParentPath /opt/svn/repos/ 主机中主目录为 /opt/svn/repos/
#
# # Limit write permission to list of valid users.
# <limitexcept>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/svn-auth-file
Require valid-user
AuthzSVNAccessFile /etc/svn-access-file
# </limitexcept>
</location>

4、建立帐户文件和权限文件

引用:htpasswd -cm /etc/svn-auth-file work

建立帐户文件,帐户为"work",然后,会提示输入密码,这里就加入了一个用户了,并且在/etc下创建了svn-auth- file文件。
引用:htpasswd -m /etc/svn-auth-file Username2
htpasswd -m /etc/svn-auth-file Username3

然后再加别的用户可以用以下命令(也可作为修改密码来使用,实在不想要这几个用户了,删掉重建就是,不过要对应修改svn- access-file):

建立svn-access-file文件,它是用来控制用户访问仓库的权限的
引用:#vi /etc/svn-access-file 
[doc:/] //这表示,仓库doc的根目录下的访问权限
work=rw // doc仓库work用户具有读和写权限,r可读 ,W可写
Username2=r // doc仓库Username2用户具有读和写权限
Username3=r // doc仓库Username3用户具有读和写权限
[netbeans:/]
work=rw
Username2=r
Username3=r
#[/] // 这个表示在所有仓库的根目录下
#* = r // 这个表示对所有的用户都具有读权限
#[groups] // 这个表示群组设置
#doc-developers = harry, sally // 这个表示某群组里的成员
#netbeans-developers = sally
#[svn1:/] 
#@doc-developers = rw // 如果在前面加上@符号,则表示这是个群组权限设置

5、重启Apache,就可以通过
http://localhost/repos/doc
http://localhost/repos/netbeans
这两个URL来访问二个项目仓库了,当然,要受权限的限制,必须是合法用户才能访问且具有相应的权限

另注:
1、修改SELINUX权限,当然你关了selinux或降为警告级别时可不考虑此问题
# chcon -R -h -u system_u -t httpd_sys_content_t /opt/svn/repos/
如果不进行这样的修改,客户端访问时就会报错“Could not open the requested SVN filesystem.”。
2、Linux下清除.svn目录
进入项目目录后,运行 find . -name ".svn" | xargs rm -rf