The Fool

Créer un nouveau site basé sur Django hpages

DNS

Rediriger le nom d'hôte du site vers The Fool.

Sur le serveur

  • Créer le dossier ~/www/<monsite>

    $ mkdir -p ~/www/<monsite>
    
  • Lier /var/www/<monsite> à ~/www/<monsite>

    $ ln -s ~/www/<monsite> /var/www/<monsite>
    
  • Créer les répertoires public, theme, theme/admin (et copier le contenu du dossier admin)

    $ mkdir -p ~/www/<monsite>/public ~/www/<monsite>/theme/admin
    
  • Créer éventuellement un .htaccess

  • Créer la base de donnée

    $ mysql -u root -p
    

    System Message: ERROR/3 (<string>, line 29)

    Inconsistent literal block quoting.

    mysql> create database <monsite>;

  • Créer le nouveau site django

    $ cd ~/django
    $ django_admin startproject <monsite>
    
  • Configurer le site django (éditer settings.py et urls.py), puis

    $ ./manage.py syncdb
    
  • Configurer Apache : créer le fichier /etc/apache2/sites-available/<mon-site>:

    <VirtualHost *:80>
    

    System Message: ERROR/3 (<string>, line 43)

    Unexpected indentation.

    DocumentRoot /var/www/<monsite> ServerName example.org ServerAdmin admin@example.org CustomLog "/var/log/apache2/<monsite>.log" combined

    <Location "/">

    SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE <monsite>.settings PythonDebug On PythonPath "['$HOME/django'] + sys.path"

    System Message: WARNING/2 (<string>, line 54)

    Definition list ends without a blank line; unexpected unindent.

    </Location>

    <Location "/public">

    SetHandler None

    System Message: WARNING/2 (<string>, line 58)

    Definition list ends without a blank line; unexpected unindent.

    </Location> <Location "/theme">

    System Message: ERROR/3 (<string>, line 60)

    Unexpected indentation.

    SetHandler None

    System Message: WARNING/2 (<string>, line 61)

    Block quote ends without a blank line; unexpected unindent.

    </Location>

    <Location "/admin">

    RewriteEngine on RewriteBase /admin RewriteCond %{SERVER_PORTS} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME}/admin/ [L,R]

    System Message: WARNING/2 (<string>, line 68)

    Definition list ends without a blank line; unexpected unindent.

    </Location>

    </VirtualHost>

    <VirtualHost *:443>

    System Message: WARNING/2 (<string>, line 94); backlink

    Inline emphasis start-string without end-string.

    DocumentRoot /var/www/<monsite> ServerName example.org ServerAdmin admin@example.org CustomLog "/var/log/apache2/<monsite>.log" combined

    <Location "/">

    SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE <monsite>.settings PythonDebug On PythonPath "['$HOME/django'] + sys.path"

    System Message: WARNING/2 (<string>, line 84)

    Definition list ends without a blank line; unexpected unindent.

    </Location>

    <Location "/public">

    SetHandler None

    System Message: WARNING/2 (<string>, line 88)

    Definition list ends without a blank line; unexpected unindent.

    </Location> <Location "/theme">

    System Message: ERROR/3 (<string>, line 90)

    Unexpected indentation.

    SetHandler None

    System Message: WARNING/2 (<string>, line 91)

    Block quote ends without a blank line; unexpected unindent.

    </Location>

    SSLEngine on SSLCertificateFile /etc/apache2/server.crt SSLCertificateKeyFile /etc/apache2/server.key

    System Message: WARNING/2 (<string>, line 96)

    Definition list ends without a blank line; unexpected unindent.

    </VirtualHost>

  • Activer le site

    # a2ensite <monsite>
    # /etc/init.d/apache2 reload
    
  • Ajouter le site à la page des statistiques

  • Ajouter le site à l'accueil de The Fool

Passer d'une version à l'autre de hpages

Si les modèles ont changé, il faut reconstruire la base de données.

Soit le site suivant

django/
      |- monsite/
      |- apps/
      |      |- hpages
      |- templates/
  • Arrêt du site

    # a2dissite monsite
    # /etc/init.d/apache2 reload
    
  • Sauvegarde des données

    System Message: WARNING/2 (<string>, line 126)

    Literal block expected; none found.

    cd monsite ./manage.py dumpdata --indent=4 --format=xml > initial_data.xml cd ..

  • Sauvegarde du site

    System Message: WARNING/2 (<string>, line 132)

    Literal block expected; none found.

    cp -r monsite monsite.old

  • Création d'une nouvelle base de données

    System Message: WARNING/2 (<string>, line 136)

    Literal block expected; none found.

    mysql -u root -p create database monsite2;

  • Mise à jour des paramètres du site (application, base de donnée) dans settings.py et urls.py

  • Création des tables de la nouvelle base, et chargement des données initiales

    System Message: WARNING/2 (<string>, line 142)

    Literal block expected; none found.

    cd monsite ./manage.py syncdb

  • Remise en ligne du site

    # a2ensite monsite
    # /etc/init.d/apache2 reload