Faq : Installation

Quelles sont les bases de données supportées par ZORNA?

ZORNA supporte entre autres  les bases de données suivantes:

Où puis-je héberger mon site ZORNA?

Nous utilisons l'hébergeur français ALWAYSDATA

Vous pouvez trouver d'autres en consultant la liste des hébergeurs Python/DJANGO

Comment installer ZORNA et le tester?

ZORNA nécessite Python 2.7. Vérifiez donc que vous avez bien Python installé sur votre machine.

La meilleure façon de tester ZORNA est d'utilisez virtualenv. Virtualenv permet de créer un environnement virtuel et d'isoler l'installation de Python et des packages nécessaires de l'OS.

Pour cela, installer virtualenv comme suit:

sudo pip install virtualenv

Et mieux encore installer virtualenvwrapper qui permet de mieux utiliser virtualenv et de passer facilement d'un environnement virtuel à un autre:

sudo pip install virtualenvwrapper

Un fois l'installation faite, créer un environnement virtuel:

$ cd ~
$ virtualenv MyENV
$ cd MyENV

Activez l'environnement virtuel en tapant la commande suivante:

$ source bin/activate

Vous remarquez que le prompt change. Ceci indique que votre environnement virtuel est actif. Pour désactiver l'environnement, il faut taper la commande deactivate.

Continuez en tapant les commandes suivantes ( mise à jour de distribute et création du répertoire qui contiendra notre site de test )

(myENV)$ easy_install -U distribute
(myENV)$ mkdir zornasite

Télécharger la dernière version de et décompressez le content de l'archive dans lé répertoire zornasite:

Remarque: Cette installation utilise SQLite comme base de donnée. Si vous souhaitez utiliser MySQL voir ci-dessous.

Installez les requirements:

(myENV)$ pip install -r zornasite/requirements.txt

Vérifez que ROOT_URLCONF est bien configuré.

Lancez les commandes suivantes pour créer les tables de la base de données et faire la migration:

(myENV)$ cd zornasite
(myENV)$ python manage.py syncdb --all
(myENV)$ python manage.py migrate --fake

Lors de la création des tables, il vous sera demandé les informations nécessaires pour créer le super administrateur.

Créez les liens symboliques suivants:

(myENV)$ cd public
(myENV)$ ln -s ../../lib/python2.7/site-packages/ckeditor/static/ckeditor/ ckeditor

Enfin, dans le répertoire zornasite, lancez la commande suivante:

(myENV)$ python manage.py runserver

Et pointez votre navigateur vers l'url!:

http://http://127.0.0.1:8000/

Remarque: Si vous souhaitez utiliser SQLite, supprimez le commentaire devant MySQL-Python du fichier requirements.txt

Créez une base donnée MySQL:

CREATE DATABASE zornasite CHARACTER SET utf8 COLLATE utf8_general_ci;

Editez le fichier settings.py qui se trouve dans le répertoire zornasite et modifier la partie concernant la base de données:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'zornasite',  # Or path to database file if using sqlite3.
        'USER': 'mysql_user',  # Not used with sqlite3.
        'PASSWORD': 'mysql_password',  # Not used with sqlite3.
        'HOST': 'mysql_host',  # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',  # Set to empty string for default. Not used with sqlite3.
    }
}

en changeant NAME, USER, PASSWORD et HOST selon votre installation.

Comment déployer un site ZORNA?

On peut déployer en production un site ZORNA installé dans un environnement virtuel avec virtualenv. C'est même mieux parceque ça permet d'isoler l'environnement d'exécution de ZORNA du système. Autre avantage on peut avoir sur le même serveur d'autres applications ou d'autres sites utilisant des versions différentes de Python ou de certains packages.

Pour cela, installer et tester ZORNA  comme indiqué dans la partie Comment installer ZORNA et le tester? .

Configurer APACHE pour qu'il prenne en compte votre site en créant un fichier virtualhost dans /etc/apache2/sites-available. Appelons le zornasite:

<VirtualHost *:80>
ServerName zornasite.com
DocumentRoot /path_to_myvirtualenv/myENV/zornasite
Alias /avatars/ /path_to_myvirtualenv/myENV/zornasite/public/avatars/
Alias /zmedia/ /path_to_myvirtualenv/myENV/zornasite/public/zmedia/
Alias /images/ /path_to_myvirtualenv/myENV/zornasite/public/images/
Alias /zckeditor/ /path_to_myvirtualenv/myENV/zornasite/public/
Alias /skins/ /path_to_myvirtualenv/myENV/zornasite/public/skins/
<Directory /path_to_myvirtualenv/myENV/zornasite/public>
Order allow,deny
Allow from all
</Directory>
WSGIScriptAlias / /path_to_myvirtualenv/public/django.wsgi
WSGIDaemonProcess zornasite.com python-path=/path_to_myvirtualenv:/path_to_myvirtualenv/myENV/lib/python2.7/sites-packages
WSGIProcessGroup zornasite.com
</VirtualHost>

Remplacez path_to_myvirtualenv par le chemin qui correspond à votre installation.

Activez le site:

$ cd /etc/apache2/sites-avaliables
$ sudo a2ensite zornasite
$ sudo service apache2 reload

Dans le répertoire public de votre site ZORNA, créer le fichier django.wsgi et copiez dedans ce qui suit:

ALLDIRS = ['path_to_myvirtualenv/myENV/lib/python2.7/site-packages']

import os
import sys
import site
from os.path import abspath, dirname, join

# Remember original sys.path.
prev_sys_path = list(sys.path)

# Add each new site-packages directory.
for directory in ALLDIRS:
  site.addsitedir(directory)

# Reorder sys.path so new directories at the front.
new_sys_path = []
for item in list(sys.path):
    if item not in prev_sys_path:
        new_sys_path.append(item)
        sys.path.remove(item)
sys.path[:0] = new_sys_path

path = abspath(join(dirname(__file__), "../../"))
if path not in sys.path:
    sys.path.append(path)
    sys.path.append(abspath(join(dirname(__file__), "../")))
 
os.environ['DJANGO_SETTINGS_MODULE'] = 'zornasite.settings'
 
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

Modifiez, si nécessaire, les parties en gras.

Ensuite, toujours dans le répertoire public, créez les liens symboliques suivants:

$ ln -s ../upload/avatars/ avatars
$ ln -s ../zorna/media/ zmedia
$ cd images
$ ln -s ../../upload/ickeditor/ ckeditor

Editez le fichier /etc/hosts et ajouter l'entrée zornasite.com

C'est fini. Lancez votre navigateur et utilisez l'url http://zornasite.com/