o
ckF[~ @ s0 d dl mZ d dlZd dlZG dd deZdS ) ) InstallerNc @ s( e Zd ZdZdd 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
c C s` | j dddd | j dddd | d | d | d | d | d | d
d S )Nzapt-get -y install tracT)notify
exit_on_errorz!apt-get -y install libapache2-svnza2enmod sslza2enmod mod_pythonza2enmod dav_svnza2enmod rewriteztouch /var/log/boto.logzchmod a+w /var/log/boto.log)runself r C/usr/lib/python3/dist-packages/boto/pyami/installers/ubuntu/trac.pyinstall0 s
zTrac.installc
C sR t jdd }|r|d}td|d d}|d t jddr\|d |d
|dt jdd |d
| |d |d| |d |d n|d
|dt jdd |d
| |dt jdd |dt jdd |d |d |d |d |d |d |d |dt jdd |d |d |d t jdd!}t|D ]4}|d dkr|d"| |d# |d$ |d% |d&||f |d'| |d qt jdd(}t|D ]$}|d dkr@|d)| |d* |d+||f |d q|d, |d- |d. |d/ t jdd}|rl|d0 |d1| t jdd2}|r}|d3| t jdd4} | r|d5| |d6 | |
d7|d |
d8 d S d S )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
za2ensite %sz /etc/init.d/apache2 force-reload)botoconfiggetstripsplitopenwriteoslistdircloser )
r domaindomain_infocnfr envr r r r r r r
setup_vhost<