o ckF[~ã@s0ddlmZddlZddlZGdd„deƒZdS)é)Ú InstallerNc@s(eZdZdZdd„Zdd„Zdd„ZdS) ÚTraca6 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`|jdddd|jdddd| d¡| d¡| d¡| d¡| d ¡| d ¡dS) Nzapt-get -y install tracT)ÚnotifyÚ exit_on_errorz!apt-get -y install libapache2-svnz a2enmod sslza2enmod mod_pythonza2enmod dav_svnza2enmod rewriteztouch /var/log/boto.logzchmod a+w /var/log/boto.log)Úrun©Úself©r úC/usr/lib/python3/dist-packages/boto/pyami/installers/ubuntu/trac.pyÚinstall0s     z Trac.installc CsRtj dd¡ ¡}|r§| d¡}td|ddƒ}| d¡tj dd¡r\| d ¡| d ¡| d tj dd ¡ ¡¡| d |¡| d¡| d|¡| d¡| d¡n| d ¡| d tj dd ¡ ¡¡| d |¡| dtj dd¡ ¡¡| dtj dd¡ ¡¡| d¡| d¡| d¡| d¡| d¡| d¡| d¡| dtj dd¡¡| d¡| d¡| d ¡tj dd!¡}t |¡D]4}|ddkr| d"|¡| d#¡| d$¡| d%¡| d&||f¡| d'|¡| d ¡qÜtj dd(¡}t |¡D]$}|ddkr@| d)|¡| d*¡| d+||f¡| d ¡q| d,¡| d-¡| d.¡| d/¡tj dd¡}|rl| d0¡| d1|¡tj dd2¡}|r}| d3|¡tj dd4¡} | rŽ| d5| ¡| d6¡|  ¡|  d7|d¡|  d8¡dSdS)9NrÚhostnameÚ.z/etc/apache2/sites-available/%srÚwzNameVirtualHost *:80 ÚSSLCertificateFilezNameVirtualHost *:443 z z ServerAdmin %s Ú server_adminz ServerName %s z RewriteEngine On z! RewriteRule ^(.*)$ https://%s$1 z z z DocumentRoot %s Úhomez z, Options FollowSymLinks Indexes MultiViews z AllowOverride All z Order allow,deny z allow from all z z z AuthType Basic z AuthName "%s" Únamez Require valid-user z, AuthUserFile /mnt/apache/passwd/passwords z Údata_dirz z SetHandler mod_python z% PythonInterpreter main_interpreter z, PythonHandler trac.web.modpython_frontend z PythonOption TracEnv %s/%s z$ PythonOption TracUriRoot /trac/%s Úsvn_dirz z DAV svn z SVNPath %s/%s z% ErrorLog /var/log/apache2/error.log z LogLevel warn z0 CustomLog /var/log/apache2/access.log combined z ServerSignature On z SSLEngine On z SSLCertificateFile %s ÚSSLCertificateKeyFilez SSLCertificateKeyFile %s ÚSSLCertificateChainFilez SSLCertificateChainFile %s z z a2ensite %sz /etc/init.d/apache2 force-reload) ÚbotoÚconfigÚgetÚstripÚsplitÚopenÚwriteÚosÚlistdirÚcloser) rÚdomainÚ domain_infoÚcnfrÚenvrrrrr r r Ú setup_vhost<sˆ                      €  €      ·zTrac.setup_vhostcCs| ¡| ¡dS)N)r r%rr r r Úmain‰s z Trac.mainN)Ú__name__Ú __module__Ú __qualname__Ú__doc__r r%r&r r r r rs  Mr)Ú&boto.pyami.installers.ubuntu.installerrrrrr r r r Ús