ó FRTc@sBddlmZddlZddlZdefd„ƒYZdS(iÿÿÿÿ(t InstallerNtTraccBs)eZdZd„Zd„Zd„ZRS(s6 Install Trac and DAV-SVN Sets up a Vhost pointing to [Trac]->home Using the config parameter [Trac]->hostname Sets up a trac environment for every directory found under [Trac]->data_dir [Trac] name = My Foo Server hostname = trac.foo.com home = /mnt/sites/trac data_dir = /mnt/trac svn_dir = /mnt/subversion server_admin = root@foo.com sdb_auth_domain = users # Optional SSLCertificateFile = /mnt/ssl/foo.crt SSLCertificateKeyFile = /mnt/ssl/foo.key SSLCertificateChainFile = /mnt/ssl/FooCA.crt cCs„|jddtdtƒ|jddtdtƒ|jdƒ|jdƒ|jdƒ|jdƒ|jd ƒ|jd ƒdS( Nsapt-get -y install tractnotifyt exit_on_errors!apt-get -y install libapache2-svns a2enmod sslsa2enmod mod_pythonsa2enmod dav_svnsa2enmod rewritestouch /var/log/boto.logschmod a+w /var/log/boto.log(truntTrue(tself((sN/opt/freeware/lib/python2.7/site-packages/boto/pyami/installers/ubuntu/trac.pytinstall0s     c Cshtjjddƒjƒ}|rd|jdƒ}td|ddƒ}|jdƒtjjddƒrõ|jd ƒ|jd ƒ|jd tjjdd ƒjƒƒ|jd |ƒ|jdƒ|jd|ƒ|jdƒ|jdƒn |jd ƒ|jd tjjdd ƒjƒƒ|jd |ƒ|jdtjjddƒjƒƒ|jdtjjddƒjƒƒ|jdƒ|jdƒ|jdƒ|jdƒ|jdƒ|jdƒ|jdƒ|jdtjjddƒƒ|jdƒ|jdƒ|jd ƒtjjdd!ƒ}x—tj|ƒD]†}|ddkrL|jd"|ƒ|jd#ƒ|jd$ƒ|jd%ƒ|jd&||fƒ|jd'|ƒ|jd ƒqLqLWtjjdd(ƒ}xltj|ƒD][}|ddkrû|jd)|ƒ|jd*ƒ|jd+||fƒ|jd ƒqûqûW|jd,ƒ|jd-ƒ|jd.ƒ|jd/ƒtjjddƒ}|rÊ|jd0ƒ|jd1|ƒntjjdd2ƒ}|rù|jd3|ƒntjjdd4ƒ} | r(|jd5| ƒn|jd6ƒ|j ƒ|j d7|dƒ|j d8ƒndS(9NRthostnamet.s/etc/apache2/sites-available/%sitwsNameVirtualHost *:80 tSSLCertificateFilesNameVirtualHost *:443 s s ServerAdmin %s t server_admins ServerName %s s RewriteEngine On s! RewriteRule ^(.*)$ https://%s$1 s s s DocumentRoot %s thomes s, Options FollowSymLinks Indexes MultiViews s AllowOverride All s Order allow,deny s allow from all s s s AuthType Basic s AuthName "%s" tnames Require valid-user s, AuthUserFile /mnt/apache/passwd/passwords s tdata_dirs s SetHandler mod_python s% PythonInterpreter main_interpreter s, PythonHandler trac.web.modpython_frontend s PythonOption TracEnv %s/%s s$ PythonOption TracUriRoot /trac/%s tsvn_dirs s DAV svn s SVNPath %s/%s s% ErrorLog /var/log/apache2/error.log s LogLevel warn s0 CustomLog /var/log/apache2/access.log combined s ServerSignature On s SSLEngine On s SSLCertificateFile %s tSSLCertificateKeyFiles SSLCertificateKeyFile %s tSSLCertificateChainFiles SSLCertificateChainFile %s s s a2ensite %ss /etc/init.d/apache2 force-reload( tbototconfigtgettstriptsplittopentwritetostlistdirtcloseR( Rtdomaint domain_infotcnfRtenvRR RR((sN/opt/freeware/lib/python2.7/site-packages/boto/pyami/installers/ubuntu/trac.pyt setup_vhost<s‚   &   &&&                      cCs|jƒ|jƒdS(N(RR!(R((sN/opt/freeware/lib/python2.7/site-packages/boto/pyami/installers/ubuntu/trac.pytmain‰s (t__name__t __module__t__doc__RR!R"(((sN/opt/freeware/lib/python2.7/site-packages/boto/pyami/installers/ubuntu/trac.pyRs M(t&boto.pyami.installers.ubuntu.installerRRRR(((sN/opt/freeware/lib/python2.7/site-packages/boto/pyami/installers/ubuntu/trac.pyts