Wekan est un tableau kanban open source de type trello basé sur le framework Meteor Javascript. Il s'agit d'un outil de gestion basé sur le Web qui vous permet de créer un tableau pour la collaboration de votre projet. Avec le conseil d'administration Wekan, il vous suffit d'inviter votre membre au conseil d'administration et vous êtes prêt à partir. Sur le tableau wekan, vous pouvez créer une gestion des tâches et des tâches basée sur des cartes, puis l'attribuer à votre membre.
Dans ce tutoriel, nous allons vous montrer comment installer et configurer pas à pas Wekan Trello-like Kanban sur Ubuntu 16.04. Nous utiliserons MongoDB comme base de données et le serveur Web Nginx comme proxy inverse pour l'application Wekan. Ce didacticiel couvrira certains sujets en détail, notamment la sécurisation de la base de données MongoDB et la configuration de Nginx en tant que proxy inverse.
Prérequis
- Serveur Ubuntu 16.04
- Privilèges root
Ce que nous allons faire
- Mettre à jour le référentiel et mettre à niveau le système
- Installer Nodejs
- Installer et configurer MongoDB
- Installer Wekan
- Exécuter Wekan en tant que service sur Ubuntu 16.04
- Installer et configurer Nginx en tant que proxy inverse pour Wekan
- Test
Étape 1 - Mise à jour et mise à niveau du système
Connectez-vous au serveur en utilisant votre identifiant ssh.
ssh [email protected]
Maintenant, mettez à jour tous les référentiels du système, puis mettez à niveau tous les packages à l'aide des commandes apt ci-dessous.
sudo apt update
sudo apt upgrade
Étape 2 - Installer Nodejs
Wekan est une application basée sur nodejs, et elle nécessite la version 4.8 de nodejs. Dans ce didacticiel, nous n'installerons pas nodejs à partir du référentiel Ubuntu, nous installerons plutôt nodejs 4.8 à l'aide du gestionnaire de version de nœud nvm.
Avant d'installer nodejs, ajoutez le nouvel utilisateur système "wekan" à l'aide de la commande ci-dessous.
useradd -m -s /bin/bash wekan
passwd wekan
Connectez-vous en tant qu'utilisateur "wekan", puis téléchargez et exécutez le script d'installation de nvm.
su - wekan
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
La commande installera nvm sous l'utilisateur 'wekan' et ajoutera une nouvelle configuration au fichier de configuration '.bashrc'. Rechargez le fichier '.bashrc'.
source ~/.bashrc
Testez maintenant en utilisant la commande nvm comme ci-dessous.
command -v nvm
nvm --version
Et vous pouvez voir le nvm '0.33.8' installé sur le système.
Ensuite, installez nodejs 4.8 à l'aide de nvm Node Version Manager.
Exécutez les commandes d'installation nvm indiquées ci-dessous.
nvm install v4.8
nvm use node
Une fois l'installation terminée, vérifiez la version du nœud.
node -v
Et vous devriez obtenir nodejs 4.8 tel qu'il est installé sur Ubuntu 16.04, sous l'utilisateur 'wekan'.
Étape 3 - Installer et configurer MongoDB
Dans cette étape, nous allons installer et configurer la base de données MongoDB NoSQL. Wekan nécessite MongoDB 3.2.x pour son installation.
Ajoutez la clé MongoDB ainsi que le référentiel au système en exécutant la commande ci-dessous.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Maintenant, mettez à jour le référentiel et installez MongoDB à l'aide de la commande apt.
sudo apt update
sudo apt install -y mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools
Une fois l'installation terminée, démarrez le service MongoDB et activez-le pour qu'il se lance à chaque démarrage du système.
sudo systemctl start mongod
sudo systemctl enable mongod
MongoDB 3.2 a été installé sur le système Ubuntu 16.04.
Ensuite, nous devons configurer l'authentification MongoDB. Connectez-vous au shell mongo et créez un nouveau superutilisateur 'admin'.
Connectez-vous au shell mongo.
mongo
Créez un nouvel utilisateur 'admin' avec le mot de passe 'MyAdminPassword' et définissez le rôle comme 'root'.
Exécutez les requêtes MongoDB ci-dessous.
db.createUser(
{
user: "admin",
pwd: "MyAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
L'utilisateur administrateur MongoDB a été créé.
Nous devons maintenant éditer le fichier de configuration '/etc/mongod.conf' pour activer l'authentification.
Modifiez le fichier de configuration 'mongod.conf' à l'aide de vim.
vim /etc/mongod.conf
Décommentez la ligne "sécurité" et ajoutez la configuration comme indiqué ci-dessous.
security:
authorization: enabled
Enregistrez et quittez.
Redémarrez maintenant le service MongoDB.
systemctl restart mongod
L'authentification MongoDB a été activée.
Ensuite, nous devons créer une nouvelle base de données et un nouvel utilisateur pour Wekan. Nous allons créer une nouvelle base de données nommée 'wekan' avec l'utilisateur 'wekan' avec le mot de passe 'WekanPassword'.
Connectez-vous au shell mongo en tant qu'utilisateur administrateur.
mongo -u admin -p
Tapez le mot de passe administrateur 'MyAdminPassword'.
Et lorsque vous obtenez le shell mongo, exécutez les requêtes MongoDB ci-dessous.
use wekan
db.createUser(
{
user: "wekan",
pwd: "WekanPassword",
roles: ["readWrite"]
}
)
La base de données et l'utilisateur pour l'installation de wekan ont été créés.
Étape 4 - Installer Wekan
Connectez-vous en tant qu'utilisateur "wekan".
su - wekan
Téléchargez la dernière version du code source wekan à l'aide de la commande wget et extrayez-la.
wget https://github.com/wekan/wekan/releases/download/v0.63/wekan-0.63.tar.gz
tar xf wekan-0.63.tar.gz
Et vous obtiendrez un nouveau répertoire nommé 'bundle'. Accédez à ce répertoire et installez les dépendances Wekan à l'aide de la commande npm comme indiqué ci-dessous.
cd bundle/programs/server
npm install
Une fois l'installation terminée, vous obtiendrez le résultat comme indiqué ci-dessous.
Ensuite, nous essaierons d'exécuter Wekan sur le système.
Exécutez les commandes suivantes pour configurer les variables d'environnement pour l'application Wekan.
export MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
export ROOT_URL='http://192.168.33.10/'
export MAIL_URL='smtp://user:[email protected]:25/'
export MAIL_FROM='[email protected]'
export PORT=8000
Allez maintenant dans le répertoire 'bundle' et exécutez l'application Wekan Node.js.
cd ~/bundle
node main.js
Le serveur Wekan fonctionne maintenant sous le port 8000. Ouvrez votre navigateur Web et saisissez l'adresse de votre serveur avec le port 8000. Le mien est http://192.168.33.10:8000/
Et vous obtiendrez la page de connexion Wekan comme indiqué ci-dessous.
Wekan est maintenant installé avec succès sur Ubuntu 16.04.
Étape 5 - Configurer Wekan en tant que service
Nous exécuterons l'application Wekan en tant que service sur le système Ubuntu. Nous devons donc créer un nouveau fichier de service sous le répertoire systemd.
Avant de créer le fichier de service Wekan, nous devons créer le fichier de variable d'environnement.
Connectez-vous en tant qu'utilisateur "wekan".
su - wekan
Allez dans le répertoire 'bundle/' et créez un nouveau fichier de variable d'environnement '.env' en utilisant vim
cd bundle/
vim .env
Collez-y la configuration suivante.
MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.hakase-labs.co'
MAIL_URL='smtp://user:[email protected]:25/'
MAIL_FROM='[email protected]'
PORT=8000
HTTP_FORWARDED_COUNT=1
Enregistrez et quittez.
Maintenant, revenez à votre terminal racine et allez dans le répertoire '/etc/systemd/system', puis créez un nouveau fichier de service 'wekan.service'.
cd /etc/systemd/system/
vim wekan.service
Collez-y la configuration suivante.
[Unit]
Description=Wekan Server
After=syslog.target
After=network.target
[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/home/wekan/.nvm/versions/node/v4.8.7/bin/node bundle/main.js
EnvironmentFile=/home/wekan/bundle/.env
ExecReload=/bin/kill -USR1 $MAINPID
RestartSec=10
User=wekan
Group=wekan
WorkingDirectory=/home/wekan
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Wekan
[Install]
WantedBy=multi-user.target
Enregistrez et quittez.
Rechargez le système systemd à l'aide de la commande systemctl.
systemctl daemon-reload
Démarrez le service Wekan et activez-le pour qu'il se lance à chaque fois au démarrage du système.
systemctl start wekan
systemctl enable wekan
Vérifiez maintenant le service Wekan en utilisant les commandes ci-dessous.
netstat -plntu
systemctl status wekan
Et voici les résultats.
Wekan fonctionne maintenant sous le port 8000, en tant que service sur le système Ubuntu 16.04.
Étape 6 - Installer Nginx en tant que proxy inverse pour Wekan
Dans cette étape, nous allons installer le serveur Web Nginx et le configurer en tant que proxy inverse pour le service Wekan qui s'exécute sous le port 8000.
Installez le serveur Web Nginx à partir du référentiel Ubuntu à l'aide de la commande apt ci-dessous.
sudo apt install nginx -y
Une fois l'installation terminée, accédez au répertoire '/etc/nginx/sites-available' et créez un nouveau fichier d'hôte virtuel 'wekan'.
cd /etc/nginx/sites-available
vim wekan
Collez-y la configuration d'hôte virtuel suivante.
server {
server_name wekan.hakase-labs.co;
listen 80;
access_log /var/log/nginx/wekan-access.log;
error_log /var/log/nginx/wekan-error.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
proxy_pass http://127.0.0.1:8000;
}
}
Enregistrez et quittez.
Activez maintenant l'hôte virtuel et exécutez le test de configuration nginx, et assurez-vous qu'il n'y a pas d'erreur.
ln -s /etc/nginx/sites-available/wekan /etc/nginx/sites-enabled/
nginx -t
En supposant que tout s'est bien passé, redémarrez maintenant le service Nginx et activez-le pour qu'il se lance à chaque fois au démarrage du système.
systemctl restart nginx
systemctl enable nginx
Vérifiez maintenant le port HTTP à l'aide de la commande netstat et assurez-vous qu'il est à l'état 'LISTEN'.
netstat -plntu
La configuration de l'hôte virtuel Nginx pour l'application Wekan Node.js est terminée.
Étape 7 - Tester
Ouvrez votre navigateur Web et saisissez l'URL d'installation de Wekan dans la barre d'adresse, la mienne est http://wekan.hakase-labs.co/
Et vous serez redirigé vers la page de connexion, cliquez sur le lien 'S'inscrire'.
Tapez maintenant votre nom d'utilisateur, votre adresse e-mail, votre mot de passe et laissez le code d'invitation vide.
Cliquez sur le bouton bleu "S'inscrire".
Et vous obtiendrez probablement le message "Erreur de serveur interne" - laissez-le et revenez à votre terminal. Parce que nous allons activer le premier utilisateur depuis le terminal.
Ouvrez votre terminal et connectez-vous au shell mongo en tant qu'utilisateur "wekan".
mongo -u wekan -p --authenticationDatabase "wekan"
Activez maintenant l'utilisateur à l'aide des requêtes ci-dessous.
use wekan
db.users.update({username:'hakase'},{$set:{isAdmin:true}})
Quittez le shell mongo.
Revenez à votre navigateur et ouvrez à nouveau l'installation de l'url Wekan.
http://wekan.hakase-labs.co/
Tapez votre nom d'utilisateur et votre mot de passe, puis cliquez sur le bouton "Connexion".
Et maintenant, vous devriez obtenir le tableau de bord utilisateur Wekan.
Vous trouverez ci-dessous l'exemple de projet wekan.
L'installation de Wekan sur Ubuntu 16.04 avec MongoDB et le serveur Web Nginx s'est terminée avec succès.
Référence
- https://github.com/wekan/wekan/wiki