安装设置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

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密码

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

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并确认已下模块加载

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中加载该模块,否则启动服务的时候会提示重复加载的警告

touch  /etc/httpd/conf.d/usvn.conf
vim /etc/httpd/conf.d/usvn.conf

将usvn.conf文件内容编辑为:

重启

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>
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中


<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用户可管理。