安装设置USVN
centos 64 最小化安装。
USVN的官方文档:
https://github.com/usvn/usvn/wiki/Installation
·PHP 5 (=> 5.3,USVN is using the SPL Class FilesystemIterator)
·apache2
·php5-mysqlnd (ubuntu12.04)
·mod_dav enable (inApache httpd.conf - DSO support - "LoadModule dav_modulemodules/mod_dav.so")
·mod_dav_fs enable (inApache httpd.conf - DSO support - "LoadModule dav_fs_modulemodules/mod_dav_fs.so")
·mod_rewrite enable(in Apache httpd.conf - DSO support - "LoadModule rewrite_modulemodules/mod_rewrite.so")
·proper AllowOverrideconfiguration (see below example - "AllowOverride All")
·Subversion - belowmodules are packed in most binary distributions
·mod_authz_svn enable(in Apache httpd.conf - DSO support - "LoadModule authz_svn_modulemodules/mod_authz_svn.so")
·mod_dav_svn enable(in Apache httpd.conf - DSO support - "LoadModule dav_svn_modulemodules/mod_dav_svn.so")
需要注意的 php版本不能高于5.3 ,曾在5.4 、5.5的版本下试过安装,出现诸多错误。另,为了安装方便,不是用cgi方式的php,曾经在cgi fpm放下的php 对usvn进行安装,在后续安装步骤中出现诸多权限错误。最后放弃还是是用phpmod。
1
|
yum
install
-y httpd subversion.x86_64 mod_dav_svn.x86_64 php-mysql.x86_64 myssql-server.x86_64 mysql-devel.x86_64 mod_auth_mysql.x86_64
|
安装完上述依赖后,需要把mysql启动起来,修改mysql密码
1
|
mysqladmin -u root -p password 更改mysql密码,默认安装好后的密码为空。
|
安装好上述后,
1 先修改apache的默认文档路径。
默认为/var/www/html下。
编辑/etc/hpptd/conf/httpd.conf
把DocumentRoot"/var/www/html"修改为/usr/local/data/www
并修改<Directory "/var/www/html">修改为 /usr/local/data/www
2 安装usvn
1
2
3
4
5
|
cd
/usr/local/data/www
wget https:
//github
.com
/usvn/usvn/archive/master
.zip
unzip master
mv
./ usvn-master .
/usvn
echo
"include /etc/httpd/conf.d/usvn.conf "
>
/etc/httpd/conf/httpd
.conf
|
打开httpd.conf并确认已下模块加载
1
2
3
4
5
6
|
LoadModule substitute_module modules
/mod_substitute
.so
LoadModule rewrite_module modules
/mod_rewrite
.so
LoadModule dav_module modules
/mod_dav
.so
LoadModule dav_fs_module modules
/mod_dav_fs
.so
LoadModule dav_svn_module modules
/mod_dav_svn
.so
LoadModule authz_svn_module modules
/mod_authz_svn
.so
|
加载。默认应该在/etc/httpd/conf.d下有subversion.conf,并且该文件内加载了
LoadModuledav_svn_module modules/mod_dav_svn.so
LoadModuleauthz_svn_module modules/mod_authz_svn.so
如果存在上述,则不需要在httpd.conf中加载该模块,否则启动服务的时候会提示重复加载的警告
1
2
|
touch
/etc/httpd/conf
.d
/usvn
.conf
vim
/etc/httpd/conf
.d
/usvn
.conf
|
将usvn.conf文件内容编辑为:
重启
1
2
3
4
5
6
7
|
Alias
/usvn/
"/usr/local/ data/www/usvn/public/"
<Directory
"/ usr/local/ data/www/usvn /public/"
>
Options +SymLinksIfOwnerMatch
Allowoverride ALL
Order allow,deny
Allow from all
<
/Directory
>
|
1
2
3
|
service httpd restart
chown
- R apache:apache
/usr/local/data/www
chmod
0755 -R
/usr/local/data/www
|
在客户端浏览器打开带http://svnserverip/usvn/install.php
按照提示和上文的实验环境中的配置既可完成usvn的安装
安装最后一步会提示 把如下内容复制到httpd.conf中,这里就是把内容复制到/etc/httpd/conf.d/usvn.conf中
1
2
3
4
5
6
7
8
9
10
11
|
<Location
/svn/
>
ErrorDocument 404 default
DAV svn
Require valid-user
SVNParentPath
/usr/local/data/www/svn/svn
SVNListParentPath off
AuthType Basic
AuthName
"USVN"
AuthUserFile
/usr/local/data/www/svn/htpasswd
AuthzSVNAccessFile
/usr/local/vipcloud/data/www/svn/authz
<
/Location
>
|
安装好usvn后,先创建一个项目以及用户skybug比如
www_skybug_com 并授权skybug用户可管理。
本文转自天山三害 51CTO博客,原文链接:http://blog.51cto.com/skybug/1343611,如需转载请自行联系原作者