Django-fr sur Webfaction
vendredi 5 octobre 2007 - 4 commentaires
Depuis 3 semaines, le site de la communauté française Django tourne sur Webfaction. Comme je me suis occupé de la migration, David ayant une todo-list longue comme le bras, je vous propose un petit howto d'une migration Django, SVN et Trac.
Django
Premièrement, dans le panel, installez une application django en version 0.96. Il faut ensuite mettre à jour django avec le trunk si vous le souhaitez. Pour cela, il suffit juste de remplacer le répertoire ~/lib/python2.5/django
par un checkout du trunk. Plus d'infos sur les fora de webfaction.
Après ça, vous pouvez mettre votre projet dans ~/webapps/django/nom-de-lapp/
.
Modifions maintenant la configuration par défaut. Le httpd.conf se trouve dans ~/webapps/django/nom-de-lapp/apache2/conf/
. Il faudra peut-être jouer un peu avec le PythonPath pour que les import pointent au bon endroit. Dans notre configuration, Webfaction ne nous autorise que 40mo d'utilisation de mémoire vive. Nous avons donc modifié la config ainsi :
ServerLimit 1 MaxRequestsPerChild 1000 KeepAlive Off
À modifier évidemment selon vos droits d'utilisation de mémoire vive. Il ne faut pas oublier de servir les fichiers statiques (CSS, JS, images). S'il vous reste de quoi installer d'autres applications, je vous conseille de suivre les conseils de Webfaction. Dans le cas contraire, une config du type suivant devrait convenir pour les fichiers de l'admin :
Alias /media/admin /home/mon-utilisateur/lib/python2.5/django/contrib/admin/media <Location "/media/admin"> SetHandler None SetOutputFilter DEFLATE </Location>
Je vous laisse deviner comment modifier cela pour servir les fichiers statiques de votre appli.
N'oubliez pas de redémarrer apache avec ~/webapps/django/nom-de-lapp/apache2/bin/restart
.
Il faudra aussi ne pas oublier d'associer l'application à un website dans le panel.
SVN et Trac
Commencez par créer une application SVN et une Trac.
Il vous faudra exporter votre ancien dépôt SVN avec la commande svnadmin dump /path/to/svn > svn.dump
.
Pour ensuite l'importer avec svnadmin load ~/webapps/svn/ < svn.dump
.
Pour Trac, il faut copier la base de données SQLite dans le répertoire ~/webapps/trac/db/trac.db
. N'oubliez pas de copier aussi les répertoires attachments et templates. On finit par un petit trac-admin ~/webapps/trac/ upgrade
si vous aviez une version inférieure de Trac sur votre ancien serveur.
Il y a aussi la gestion des permissions. Pour les fichiers htaccess, copiez en un vers ~/webapps/svn/.htaccess
. Puis faites un lien symbolique de ~/webapps/trac/.htaccess
vers ~/webapps/svn/.htaccess
. Comme ça, ils seront toujours synchronisés. Pour la gestion fine des accès, tout ce trouve dans ~/webapps/svn/.authz
.
Les fortunes
La migration était justement l'occasion de mettre en ligne les fortunes. Il reste quelques réglages de regexp à faire, mais au moins, les péripéties de #django-fr sur irc.freenode.net sont gardées pour la postérité. Si ça peut vous donner envie de nous rejoindre...
Commentaires
"ServerLimit 1
MaxRequestsPerChild 1000
KeepAlive Off"
Bonjour,
où est-ce que je pourrais avoir des infos sur ces vrariables ainsi que sur les autres si il y en a?
Donc il y en a pas....?
En recherchant le nom des options dans Google, on tombe sur la documentation Apache.
http://httpd.apache.org/docs/2.0/mo...
Ah super merci Rik