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