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 un 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 au membre.
Dans ce tutoriel, je vais vous montrer étape par étape comment installer et configurer Wekan Trello-like Kanban sur un serveur CentOS 7. 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 du serveur de base de données MongoDB et la configuration de Nginx en tant que proxy inverse.
Prérequis
- Serveur CentOS 7
- Privilèges root
Ce que nous allons faire
- Installer Nodejs
- Installer et configurer MongoDB
- Installer Wekan
- Exécutez Wekan en tant que service sur CentOS 7
- Installer et configurer Nginx en tant que proxy inverse pour Wekan
- Test
Étape 1 - Installer NodeJS à l'aide du gestionnaire de version de nœud NVM
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 CentOS, 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 à l'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 maintenant le fichier '.bashrc'.
source ~/.bashrc
Testez en utilisant la commande nvm comme ci-dessous.
command -v nvm
nvm --version
Vous pouvez maintenant voir nvm '0.33.8' installé sur le système.
Ensuite, installez nodejs 4.8 à l'aide de la commande nvm 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 verrez que le nodejs 4.8 est installé sur le serveur CentOS 7, sous l'utilisateur 'wekan'.
Étape 2 - Installer et configurer MongoDB
Dans cette étape, nous allons installer MongoDB 3.2.x à l'aide du référentiel officiel, puis configurer la sécurité de base pour le serveur de base de données MongoDB NoSQL.
Accédez au répertoire '/etc/yum.repos.d./ et créez un nouveau fichier .repo à l'aide de l'éditeur vim.
cd /etc/yum.repos.d/
vim mongodb-org-3.2.repo
Collez-y le référentiel MongoDB suivant.
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
Enregistrez et quittez.
Installez maintenant MongoDB en utilisant la commande yum ci-dessous.
yum -y install 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 au démarrage du système.
systemctl start mongod
systemctl enable mongod
MongoDB 3.2 a été installé sur le système CentOS 7.
Ensuite, nous devons configurer l'authentification MongoDB. Connectez-vous au shell mongo et créez un nouvel utilisateur nommé "admin" pour l'accès superutilisateur.
Connectez-vous au shell mongo.
mongo
Créez maintenant un nouvel utilisateur 'admin' avec le mot de passe 'MyAdminPassword' avec le rôle de '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' et 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 3 - Installer Wekan
Connectez-vous en tant qu'utilisateur wekan.
su - wekan
Téléchargez le code source wekan à l'aide de la commande wget et extrayez-le.
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' - allez dans ce répertoire et installez les dépendances wekan en utilisant la commande npm comme indiqué ci-dessous.
cd bundle/programs/server
npm install
Une fois l'installation de toutes les dépendances terminée, vous obtiendrez le résultat ci-dessous.
Ensuite, nous essaierons d'exécuter Wekan sur le système.
Exécutez les commandes suivantes pour configurer la variable 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 lancez l'application wekan.
cd ~/bundle
node main.js
Le serveur Wekan fonctionne maintenant sous le port 8000. Ouvrez votre navigateur Web et tapez l'adresse de votre serveur avec le port 8000.
http://192.168.33.10:8000/
Et vous obtiendrez la page de connexion Wekan comme ci-dessous.
Wekan est maintenant installé avec succès sur le serveur CentOS 7.
Étape 4 - Exécuter Wekan en tant que service sur CentOS 7
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 système 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.
Ensuite, revenez à votre terminal racine.
Allez dans le répertoire '/etc/systemd/system' et 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 à chaque 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 le résultat dans notre cas.
Wekan fonctionne maintenant en tant que service sous le port 8000 sur un système CentOS 7.
Étape 5 - Installer et configurer 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.
Avant d'installer le serveur Web Nginx, ajoutez le nouveau référentiel EPEL (Extra Package for Enterprise Linux).
yum -y install epel-release
Installez maintenant nginx à partir du référentiel epel à l'aide de la commande yum ci-dessous.
yum -y install nginx
Une fois l'installation terminée, accédez au répertoire de configuration '/etc/nginx/' et créez un nouveau fichier d'hôte virtuel 'wekan.conf' sous le répertoire 'conf.d'.
cd /etc/nginx
vim conf.d/wekan.conf
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.
Testez la configuration de nginx et assurez-vous qu'il n'y a pas d'erreur.
nginx -t
S'il n'y a pas d'erreur, démarrez le service Nginx et activez-le pour qu'il se lance au démarrage du système.
systemctl start 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 Wekan est terminée.
Étape 6 - Tester
Ouvrez votre navigateur Web et saisissez l'url d'installation wekan dans la barre d'adresse.
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 le message 'Internal Server Error'. 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 vous obtiendrez le tableau de bord utilisateur Wekan.
Vous trouverez ci-dessous l'exemple de projet wekan.
L'installation de Wekan sur le système CentOS 7 avec MongoDB et le serveur Web Nginx s'est terminée avec succès.