177 lines
6.6 KiB
Plaintext
177 lines
6.6 KiB
Plaintext
<page xmlns="http://projectmallard.org/1.0/"
|
|
type="topic" style="task"
|
|
id="install-source" xml:lang="fr">
|
|
|
|
<info>
|
|
<desc>Installation depuis les sources.</desc>
|
|
<link type="guide" xref="install"/>
|
|
<title type="sort">4 - sources</title>
|
|
</info>
|
|
|
|
<title>Installation «manuelle»</title>
|
|
|
|
<links type="section" />
|
|
|
|
<p>L'application étant programmée en Python (Django), il n'y a pas d'étape de
|
|
compilation, les fichiers doivent juste être placés aux bons endroits et
|
|
quelques répertoires créés avec les bonnes permissions.</p>
|
|
|
|
<note style="warning">
|
|
<p>Attention : la version de Python doit être supérieure à 2.6. Cependant,
|
|
Python 3.x n'est pas (encore) supporté.
|
|
</p>
|
|
</note>
|
|
|
|
<p>
|
|
L'arborescence prévue pour les fichiers est la suivante, c'est celle qui
|
|
est utilisée dans les scripts et la configuration par défaut :
|
|
</p>
|
|
|
|
<table frame="" shade="rows">
|
|
<tr><td><p><code>/opt/polynum</code></p></td><td><p>répertoire de l'application</p></td></tr>
|
|
<tr><td><p><code>/opt/polynum/polynum</code></p></td><td><p>code de l'application Polynum (Django)</p></td></tr>
|
|
<tr><td><p><code>/opt/polynum/bin</code></p></td><td><p>scripts associés au projet</p></td></tr>
|
|
<tr><td><p><code>/opt/polynum/virtualenv</code></p></td><td><p>environnement virtuel contenant les modules Python spécifiques</p></td></tr>
|
|
<tr><td><p><code>/opt/polynum/static</code></p></td><td><p>fichiers statiques (images, scripts javascript, feuille de style CSS)</p></td></tr>
|
|
<tr><td><p><code>/etc/polynum</code></p></td><td><p>répertoire des fichiers de configuration</p></td></tr>
|
|
<tr><td><p><code>/var/lib/polynum</code></p></td><td><p>répertoire des données (dont les fichiers PDF)</p></td></tr>
|
|
<tr><td><p><code>/var/run/polynum</code></p></td><td><p>données d'exécution (PID du processus, <em>sockets</em>, etc)</p></td></tr>
|
|
</table>
|
|
|
|
<section id="installation-user">
|
|
<title>Création d'un utilisateur et d'un groupe dédiés</title>
|
|
<p>Pour plus de sécurité, un utilisateur et un groupe <code>polynum</code> doivent
|
|
être créés. L'application fonctionnera sous cet utilisateur qui aura des permissions
|
|
limitées au strict nécessaire :</p>
|
|
<screen>
|
|
<output style="prompt"># </output><input>addgroup --system polynum</input>
|
|
<output style="prompt"># </output><input>adduser --system --ingroup polynum --no-create-home --disabled-password polynum</input>
|
|
<output style="prompt"># </output><input>usermod -c "PolyNum daemon user" -d /opt/polynum -g polynum polynum</input>
|
|
</screen>
|
|
</section>
|
|
|
|
Il faut que cet utilisateur dispose des droits d'écriture sur le répertoire des fichiers téléchargés :
|
|
<screen>
|
|
<output style="prompt"># </output><input>mkdir -p /var/lib/polynum/media</input>
|
|
<output style="prompt"># </output><input>chown polynum:polynum /var/lib/polynum/media</input>
|
|
<output style="prompt"># </output><input>chmod u=rwx,g=rwxs,o= /var/lib/polynum/media</input>
|
|
</screen>
|
|
|
|
<section id="installation-modules">
|
|
<title>Installation des modules Python et du <code>virtualenv</code></title>
|
|
|
|
<p>On distingue deux types de modules Python nécessaires au fonctionnement de
|
|
Polynum : les modules standards qui seront installés de façon classique sur le
|
|
système d'exploitation, et les modules plus récents ou non packagés qui seront
|
|
installés dans un <em>environnement virtuel</em> (<code>virtualenv</code>)
|
|
Python.</p>
|
|
|
|
<section id="installation-modules-std">
|
|
<title>Installation des modules standards</title>
|
|
|
|
<p>Les paquets standards suivant sont à installer avec <code>apt-get</code> ou
|
|
<code>yum</code>, selon votre distribution :</p>
|
|
|
|
<table frame="" shade="rows">
|
|
<title>Modules standards (installés par le paquet)</title>
|
|
<thead><tr><td><p>nom</p></td><td><p>description</p></td>
|
|
<td><p>deb</p></td><td><p>RPM</p></td></tr></thead>
|
|
<tr>
|
|
<td><p><code>psycopg2</code></p></td>
|
|
<td><p>connexion avec la base de données PostgreSQL.</p></td>
|
|
<td><p><code>python-psycopg2</code></p></td>
|
|
<td><p><code>python-psycopg2</code></p></td>
|
|
</tr>
|
|
<tr>
|
|
<td><p><code>ldap</code></p></td>
|
|
<td><p>connexion avec l'annuaire LDAP</p></td>
|
|
<td><p><code>python-ldap</code></p></td>
|
|
<td><p><code>python-ldap</code></p></td>
|
|
</tr>
|
|
</table>
|
|
</section>
|
|
|
|
<section id="installation-modules-virtualenv">
|
|
<title>Installation des autres modules Python</title>
|
|
|
|
<p>Les autres paquets seront installés dans un <em>virtualenv</em>, créé dans
|
|
<code>/opt/polynum/virtualenv</code>.</p>
|
|
|
|
<note>
|
|
<p>Si vous ne savez pas créer un <em>virtualenv</em>, utilisez le script
|
|
<code>polynum-build-virtualenv</code>. Il va créer automatiquement le
|
|
répertoire <code>/opt/polynum/virtualenv</code> contenant tous les modules
|
|
nécessaires.</p>
|
|
</note>
|
|
|
|
<table frame="" shade="rows">
|
|
<title>Modules placés dans un <code>virtualenv</code></title>
|
|
<thead><tr><td><p>nom (pypi)</p></td><td><p>description</p></td></tr></thead>
|
|
<tr>
|
|
<td><p><code>django</code></p></td>
|
|
<td><p>version 1.4</p></td>
|
|
</tr>
|
|
<tr>
|
|
<td><p><code>south</code></p></td>
|
|
<td><p></p></td>
|
|
</tr>
|
|
<tr>
|
|
<td><p><code>django-crispy-forms</code></p></td>
|
|
<td><p></p></td>
|
|
</tr>
|
|
<tr>
|
|
<td><p><code>django-sekizai</code></p></td>
|
|
<td><p></p></td>
|
|
</tr>
|
|
<tr>
|
|
<td><p><code>django-cas</code></p></td>
|
|
<td><p></p></td>
|
|
</tr>
|
|
<tr>
|
|
<td><p><code>django-admin-tools</code></p></td>
|
|
<td><p></p></td>
|
|
</tr>
|
|
<tr>
|
|
<td><p><code>pypdf</code></p></td>
|
|
<td><p></p></td>
|
|
</tr>
|
|
<tr>
|
|
<td><p><code>flup</code></p></td>
|
|
<td><p></p></td>
|
|
</tr>
|
|
<tr>
|
|
<td><p><code>django-debug-toolbar</code></p></td>
|
|
<td><p></p></td>
|
|
</tr>
|
|
</table>
|
|
|
|
</section>
|
|
</section>
|
|
|
|
<section id="installation-config">
|
|
<title>Configuration de base l'application</title>
|
|
<p>La configuration de l'application se fait dans <code>/etc/polynum/local_settings.py</code></p>
|
|
|
|
<p>Un fichier d'exemple <code>local_settings.py.example</code> est fourni avec
|
|
Polynum, c'est un modèle pour la création de
|
|
<code>/etc/polynum/local_settings.py</code> : il contient la liste des
|
|
paramétrages possibles avec explications et exemples.</p>
|
|
|
|
<screen>
|
|
<output style="prompt"># </output><input>mkdir -p /etc/polynum</input>
|
|
<output style="prompt"># </output><input>cp /sources-de-polynum/local_settings.py.example /etc/polynum/local_settings.py</input>
|
|
<output style="prompt"># </output><input>chown polynum:polynum /etc/polynum/local_settings.py</input>
|
|
<output style="prompt"># </output><input>chmod 640 /etc/polynum/local_settings.py</input>
|
|
</screen>
|
|
|
|
</section>
|
|
|
|
<section id="installation-run">
|
|
<title>Lanceur de l'application</title>
|
|
<p>Des scripts d'initialisation sont disponibles dans les sources :
|
|
<code>debian/init.d</code> ou <code>rpm/init.d</code>. Prenez celui compatible
|
|
avec votre système, si besoin en l'adaptant.</p></section>
|
|
|
|
</page>
|
|
|