Comment installer MoinMoin avec Nginx sur Ubuntu 14.04

introduction

MoinMoin est un moteur de wiki open source hautes performances écrit en Python. Il fournit un wiki riche en fonctionnalités qui a une grande communauté d’utilisateurs, est très personnalisable et facile à utiliser. MoinMoin est utilisé par plusieurs organisations pour leurs wikis publics, tels que Ubuntu, Apache, FreeBSD, etc.

Dans ce tutoriel, nous allons vous montrer comment configurer votre propre wiki MoinMoin sur un nouveau serveur Ubuntu 14.04, en utilisant Nginx en tant que serveur Web et en uWSGI en tant que moteur d’application. Cette configuration particulière est destinée à un seul wiki, elle est très rapide et utilise beaucoup de mémoire.

Conditions préalables

Avant de commencer avec ce guide, vous devez avoir un compte utilisateur distinct, non root, configuré sur votre serveur. Vous pouvez apprendre à le faire en effectuant les étapes 1 à 4 de la configuration du serveur initial https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04 pour Ubuntu 14.04] .

Ce guide suppose que vous avez un nouveau serveur Ubuntu 14.04.

Ce tutoriel utilise + vi + pour ouvrir et éditer des fichiers. Si vous préférez un autre éditeur, n’hésitez pas à l’utiliser à la place de + vi + le cas échéant.

Commençons!

Installer uWSGI

Pour commencer, installons uWSGI, que nous utiliserons comme serveur d’application.

Commencez par mettre à jour votre base de données Apt avec cette commande:

sudo apt-get update

Un moyen simple d’installer uWSGI consiste à utiliser le gestionnaire de paquets Python, + pip +. Installez maintenant Python-pip et les bibliothèques Python:

sudo apt-get install python-pip python-dev

Avec le pip installé, nous pouvons l’utiliser pour installer la dernière version stable d’uWSGI avec cette commande:

sudo pip install http://projects.unbit.it/downloads/uwsgi-lts.tar.gz

Si uWSGI est installé avec succès, vous verrez un message qui ressemble à ceci:

   ############## end of uWSGI configuration #############
   total build time: 36 seconds
   *** uWSGI is ready, launch it with /usr/local/bin/uwsgi ***

Successfully installed uWSGI
Cleaning up...

Maintenant que le serveur d’applications uWSGI est installé, nous sommes prêts à télécharger et installer MoinMoin.

Installer Moinmoin

Avant d’installer MoinMoin, recherchez la version que vous souhaitez installer ici: MoinMoin Releases. Vous voudrez probablement utiliser la dernière version générale.

Recherchez la dernière version générale de MoinMoin et copiez son URL dans le Presse-papiers:

image: https: //assets.digitalocean.com/articles/moin/download.png [Téléchargement MoinMoin]

La dernière version générale disponible au moment de la rédaction de ce didacticiel était la 1.9.8. L’exemple d’URL renvoie à la version 1.9.8. Utilisez cette commande + wget + pour télécharger l’archive MoinMoin dans votre répertoire personnel (remplacez l’URL de téléchargement que vous avez copiée):

cd ~
wget

Maintenant, extrayez l’archive avec tar:

tar zxvf moin-1.9.8.tar.gz

Accédez au répertoire créé en extrayant l’archive MoinMoin:

cd moin-*

Pour construire l’application MoinMoin Python et la copier dans + / usr / local +, exécutez la commande suivante:

sudo python setup.py install --prefix=/usr/local

En supposant que vous soyez sur Python 2.7, le script Python installe le package de code MoinMoin sur + / usr / local / lib // dist-packages / +, et le reste des données MoinMoin sur `+ / usr / local / share / moin + `.

L’application MoinMoin Python est à présent installée mais elle n’est pas encore configurée. Voyons le configurer maintenant.

Configurer l’application MoinMoin

Avant de démarrer réellement l’application MoinMoin, nous devons préparer ses fichiers de configuration.

Passez au répertoire d’installation:

cd /usr/local/share/moin

Copiez ensuite le fichier de configuration du serveur exemple, + moin.wsgi +, dans le répertoire actuel:

sudo cp server/moin.wsgi .

Ouvrez le fichier de configuration du serveur pour le modifier:

sudo vi moin.wsgi

Sous la ligne + import sys, os +, insérez les lignes suivantes:

sys.path.insert(0, '/usr/local/lib/python2.7/dist-packages/')
sys.path.insert(0, '/usr/local/share/moin/')

Sauvegarder et quitter. Ceci configure l’application avec l’emplacement du code MoinMoin et l’emplacement de l’emplacement des fichiers de configuration du wiki.

Ensuite, créez et ouvrez + uwsgi.ini +:

sudo vi uwsgi.ini

Insérez les lignes suivantes dans le fichier:

[uwsgi]
uid = www-data
gid = www-data
socket = /usr/local/share/moin/moin.sock
chmod-socket = 660
logto = /var/log/uwsgi/uwsgi.log

chdir = /usr/local/share/moin/
wsgi-file = moin.wsgi

master
workers = 3
max-requests = 200
harakiri = 30
die-on-term

Sauvegarder et quitter. Le fichier + uwsgi.ini + sera utilisé pour charger l’application MoinMoin avec le serveur d’applications uWSGI. Ici, nous spécifions, entre autres, la configuration de l’utilisateur, du socket et du serveur, ainsi que les fichiers journaux que l’application doit utiliser. N’hésitez pas à ajuster le nombre de travailleurs, le nombre maximal de demandes ou la durée de session acceptable (harakiri).

Créez maintenant le répertoire + / var / log / uwsgi +, qui est l’emplacement où nous avons configuré l’application uWSGI pour écrire ses journaux dans:

sudo mkdir -p /var/log/uwsgi
sudo chown www-data /var/log/uwsgi

Ensuite, créons un script initctl qui sera utilisé pour démarrer l’application MoinMoin. Ce script activera MoinMoin au démarrage du serveur et vous permettra de contrôler l’application uWSGI avec + start moin + et + stop moin +.

Créez et ouvrez + moin.conf + avec la commande suivante:

sudo vi /etc/init/moin.conf

Insérez les lignes de configuration suivantes:

description "moin uwsgi service"

start on runlevel [2345]
stop on runlevel [!2345]

chdir /usr/local/share/moin
exec /usr/local/bin/uwsgi /usr/local/share/moin/uwsgi.ini
respawn

Sauvegarder et quitter. Il est important que les chemins des lignes + chdir + et + exec + reflètent avec exactitude l’emplacement où MoinMoin a été installé et l’emplacement des fichiers + uwsgi + binary et + uwsgi.ini +.

Vous pouvez démarrer le serveur d’applications maintenant (+ sudo start moin +) mais nous allons d’abord apporter quelques modifications à la configuration du wiki.

Configurer le wiki

Maintenant que le serveur d’applications uWSGI est prêt, nous voudrons configurer le wiki actuel.

Accédez au répertoire d’installation de MoinMoin et copiez le fichier d’exemple + wikiconfig.py +:

cd /usr/local/share/moin
sudo cp config/wikiconfig.py .

Ouvrez maintenant le fichier pour le modifier:

sudo vi wikiconfig.py

Ici, nous pouvons configurer divers aspects du wiki. Au minimum, nous voulons configurer les éléments suivants:

  • + sitename +: Le titre de votre wiki

  • + page_front_page +: Décommentez cette ligne pour activer une page de garde normale

  • + superutilisateur +: nom de l’utilisateur que vous souhaitez utiliser en tant qu’administrateur du wiki. Cet article doit également être non commenté

Recherchez les lignes suivantes (et supprimez-les si nécessaire en supprimant le signe + # +) et modifiez les valeurs en surbrillance à votre convenance:

   sitename = u''

   page_front_page = u"FrontPage"

   superuser = [u"", ]

Sauvegarder et quitter. Il s’agit d’un fichier Python. Veillez donc à conserver les empreintes existantes.

Avant de démarrer l’application, changeons la propriété et les autorisations des répertoires MoinMoin:

sudo chown -R www-data: /usr/local/share/moin
sudo chmod -R o-rwx /usr/local/share/moin

Démarrez le serveur d’applications uWSGI avec cette commande:

sudo start moin

MoinMoin est en cours d’exécution, mais nous devons installer Configure Nginx, le serveur Web, avant de pouvoir l’utiliser.

Installer et configurer Nginx

Nous utiliserons Nginx comme serveur Web, nous allons donc l’installer et le configurer maintenant.

Installez Nginx avec apt:

sudo apt-get install nginx

Passez maintenant au répertoire + sites-available +, et créez un nouveau fichier de configuration de bloc de serveur pour le Wiki. Nous appellerons les nôtres + moin +:

cd /etc/nginx/sites-available
sudo vi moin

Dans le fichier, insérez les lignes suivantes (remplacez les parties en surbrillance par vos propres informations):

server {
   server_name ;

   access_log /var/log/nginx/access.log;
   error_log /var/log/nginx/error.log;

   location / {
       include uwsgi_params;
       uwsgi_pass unix:///usr/local/share/moin/moin.sock;
       uwsgi_modifier1 30;
   }
}

Ceci est une configuration de base de Nginx. N’hésitez pas à apporter les modifications que vous jugez appropriées pour votre serveur.

Créons maintenant un lien symbolique vers notre nouveau fichier de configuration de bloc de serveur dans le répertoire + sites-enabled +:

cd /etc/nginx/sites-enabled
sudo ln -s ../sites-available/moin .

Et supprimez le lien symbolique vers le bloc de serveur + default +:

sudo rm default

Maintenant, le bloc serveur + moin + sera la valeur par défaut.

Redémarrez Nginx pour charger les nouveaux paramètres:

sudo service nginx restart

Votre nouveau wiki est opérationnel! Il est disponible à l’adresse IP ou au nom d’hôte de votre serveur.

Créer un wiki superutilisateur

La dernière chose que vous voudrez faire avant d’utiliser votre wiki est de créer le compte superutilisateur. Ce compte dispose des privilèges d’administrateur sur le blog. Nous avons configuré le nom de cet utilisateur dans le champ + superuser + du fichier + wikiconfig.py +, dans la section * Configurer le wiki * de ce didacticiel. Assurez-vous donc d’utiliser le même nom ici.

Connectez-vous à votre serveur dans un navigateur Web, via son adresse IP ou son nom d’hôte: + http: // +

Vous serez accueilli par la page d’accueil suivante:

image: https: //assets.digitalocean.com/articles/moin/welcome.png [Première page]

Cliquez sur le lien * Connexion * en haut de la page.

image: https: //assets.digitalocean.com/articles/moin/login.png [Connexion]

Sur la page de connexion, cliquez sur le lien * vous pouvez en créer un maintenant *.

image: https: //assets.digitalocean.com/articles/moin/create.png [Créer]

Sur la page Créer un compte, entrez le nom correspondant à votre configuration de superutilisateur (l’exemple utilisé «WikiAdmin»), ainsi que votre mot de passe et votre adresse électronique, puis cliquez sur le bouton * Créer un profil *.

Si tout se passe bien, vous devriez voir le message de réussite suivant:

image: https: //assets.digitalocean.com/articles/moin/created.png [Utilisateur créé]

C’est ça! Votre wiki est maintenant prêt à être utilisé.

Conclusion

Maintenant que votre wiki MoinMoin est opérationnel, vous êtes prêt à l’utiliser pour collaborer! N’hésitez pas à ajouter du contenu et des utilisateurs, ou à modifier sa configuration et ses thèmes.