安裝設置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用戶可管理。