利用subversion,usvn,rsync,cwrsyn,管理WindowsServerIIS站點檔案的更新(2)

技術小胖子發表於2017-11-17


安裝設定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密碼,預設安裝好後的密碼為空。

安裝好上述後,

先修改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,如需轉載請自行聯絡原作者






相關文章