This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
polynum/help/fr/install-source.page

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>