Recherche de site Web

Installez le système Wekan Kanban Board sur Ubuntu 20.04|18.04 |


Ce guide vise à couvrir l'installation complète de Wekan sur Ubuntu 20.04/18.04 LTS. Wekan est un système Kanban Board gratuit et open source de style Trello qui vous aide à gérer les tâches et à organiser vos affaires, à planifier les vacances, à préparer une liste de tâches personnelle, à gérer d'autres personnes, etc.

Vous trouverez ci-dessous quelques fonctionnalités clés du système Wekan Kanban Board :

  • Vous pouvez lister tous vos tableaux publics et privés à l'aide des raccourcis en haut de la page
  • Possède un plein écran ou une fenêtre sur un ordinateur de bureau et un plein écran sur Firefox mobile sans avoir besoin de boutons de navigateur
  • Vous avez un bouton de raccourcis clavier dans le coin inférieur droit
  • Module de gestion des utilisateurs
  • Vous pouvez restaurer un tableau archivé
  • Vous ajoutez, ajoutez des favoris, regardez, archivez et supprimez des tableaux
  • Importer un tableau Trello : texte, étiquettes, images, commentaires, listes de contrôle. Pas encore importés : autocollants, etc.
  • Exporter la carte Wekan
  • Fonctions presse-papiers et glisser-déposer
  • Fournit une API REST
  • Authentification, panneau d'administration, paramètres SMTP et bien d'autres.

Étape 1 : Installer Snap sur Ubuntu 20.04/18.04

Le moyen le plus simple d'installer l'outil de tableau Wekan Kanban sur Ubuntu 20.04/18.04 consiste à utiliser snap. Si vous êtes nouveau sur Snap, consultez notre guide sur l'installation de Snap sur Linux.

L'installation de Snap sur Ubuntu devrait être aussi simple que l'exécution

sudo apt update
sudo apt install snap

Pour les utilisateurs de CentOS, cochez Installer Wekan Open source Kanban sur CentOS avec Lets's Encrypt

Étape 2 : Installez Wekan sur Ubuntu 20.04/18.04 avec Snap

Une fois le package snap installé, installez wekan en exécutant la commande :

$ sudo snap install wekan
wekan 5.30 from Lauri Ojansivu (xet7) installed

Vous devez configurer une racine d'URL Web pour wekan :

sudo snap set wekan root-url="https://wekan.example.com"

Vous pouvez exécuter Wekan sur le port http standard 80 ou sur un port différent comme.3001 Un port personnalisé est utile lors de l'exécution de Wekan derrière un proxy comme Nginx.

sudo snap set wekan port='3001'
sudo systemctl restart snap.wekan.mongodb
sudo systemctl restart snap.wekan.wekan

Vérifier le statut

$ sudo ss -tunelp | grep 3001
tcp   LISTEN  0       128                  0.0.0.0:3001           0.0.0.0:*      users:(("node",pid=5703,fd=14)) ino:29462 sk:6 <->

Son fichier d'unité de service systemd est /etc/systemd/system/snap.wekan.wekan.service.Pour vérifier l'état du service, utilisez :

$ systemctl status  snap.wekan.wekan
● snap.wekan.wekan.service - Service for snap application wekan.wekan
     Loaded: loaded (/etc/systemd/system/snap.wekan.wekan.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-06-05 15:09:29 UTC; 47s ago
   Main PID: 7615 (wekan-control)
      Tasks: 12 (limit: 2344)
     Memory: 135.5M
     CGroup: /system.slice/snap.wekan.wekan.service
             ├─7615 /bin/bash /snap/wekan/1518/bin/wekan-control
             └─8164 /snap/wekan/1518/bin/node main.js

Jun 05 15:09:30 ubuntu wekan.wekan[7615]: RESULTS_PER_PAGE= (default value)
Jun 05 15:09:30 ubuntu wekan.wekan[7615]: MONGO_URL=mongodb://127.0.0.1:27019/wekan
Jun 05 15:09:33 ubuntu wekan.wekan[8164]: Note: you are using a pure-JavaScript implementation of bcrypt.
Jun 05 15:09:33 ubuntu wekan.wekan[8164]: While this implementation will work correctly, it is known to be
Jun 05 15:09:33 ubuntu wekan.wekan[8164]: approximately three times slower than the native implementation.
Jun 05 15:09:33 ubuntu wekan.wekan[8164]: In order to use the native implementation instead, run
Jun 05 15:09:33 ubuntu wekan.wekan[8164]:   meteor npm install --save bcrypt
Jun 05 15:09:33 ubuntu wekan.wekan[8164]: in the root directory of your application.
Jun 05 15:09:34 ubuntu wekan.wekan[8164]: Presence started serverId=warKZo7PYy9G4fxtc
Jun 05 15:09:37 ubuntu wekan.wekan[8164]: {"line":"87","file":"percolate_synced-cron.js","message":"SyncedCron: Scheduled \"notification_cleanup\" next run @Sat >

Comment désactiver et activer le service wekan

Utilisez les commandes instantanées suivantes pour activer le service wekan sur Ubuntu 20.04/18.04 pour démarrer au démarrage.

sudo snap enable wekan

Pour désactiver le service, utilisez :

sudo snap disable wekan

Le port du service MongoDB peut également être remplacé par un port personnalisé :

sudo snap set wekan mongodb-port=27019

Accès à la CLI MongoDB pour l'administration

Pour utiliser MongoDB CLI, vous devez installer les outils MongoDB 3.2.x et les exécuter sur CLI :

$ sudo apt install mongodb-clients -y
$ mongo --port 27019
MongoDB shell version v3.6.8
connecting to: mongodb://127.0.0.1:27019/
WARNING: No implicit session: Logical Sessions are only supported on server versions 3.6 and greater.
Implicit session: dummy session
MongoDB server version: 3.2.22
WARNING: shell and server versions do not match
Server has startup warnings:
2021-06-05T15:09:26.343+0000 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2021-06-05T15:09:26.344+0000 I CONTROL  [initandlisten]
>

Redémarrer Wekan après les modifications

Si vous devez redémarrer Wekan à chaque fois que vous apportez des modifications, utilisez la commande :

sudo systemctl restart snap.wekan.wekan

Étape 3 : définir les mises à jour automatiques Snap

Installez automatiquement toutes les mises à jour Snap entre 02h00 et 04h00

snap set core refresh.schedule=02:00-04:00

Les mises à niveau automatiques ont lieu quelque temps après la sortie de Wekan, ou à une heure planifiée, ou avec :

$ sudo snap refresh
2021-06-05T15:23:10Z INFO Waiting for automatic snapd restart...
snapd 2.50.1 from Canonical✓ refreshed

Étape 4 : Configurer les paramètres de messagerie Wekan (facultatif)

Configurez l'e-mail de notification de l'administrateur. Ceci est facultatif puisque Wekan n’a pas besoin de configurations de messagerie pour fonctionner.

sudo snap set wekan mail-url='smtps://user:[email :453'
sudo snap set wekan mail-from='Wekan Boards <[email >'

Étape 5 : Configurer Nginx sans SSL

Installez le serveur Web nginx :

sudo apt install nginx -y

Pour la configuration Nginx par défaut, /etc/nginx/nginx.conf

$ sudo vim /etc/nginx/nginx.conf

Voici les paramètres recommandés :

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
	worker_connections 1024;
	# multi_accept on;
}

http {

	##
	# Basic Settings
	##

	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	types_hash_max_size 2048;
	server_tokens off;
        set_real_ip_from 0.0.0.0/32; # All addresses get a real IP.
        real_ip_header X-Forwarded-For;
        limit_conn_zone $binary_remote_addr zone=arbeit:10m;
        client_body_timeout 60;
        client_header_timeout 60;
        keepalive_timeout 10 10;
        send_timeout 60;
        reset_timedout_connection on;

	# server_names_hash_bucket_size 64;
	# server_name_in_redirect off;

	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	##
	# SSL Settings
	##

	ssl_protocols TLSv1.2 TLSv1.1 TLSv1; # Dropping SSLv3, ref: POODLE
	ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:30m;
        ssl_session_timeout 1d;
        ssl_ciphers ECDH+aRSA+AESGCM:ECDH+aRSA+SHA384:ECDH+aRSA+SHA256:ECDH:EDH+CAMELLIA:EDH+aRSA:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA;
        ssl_ecdh_curve secp384r1;
        ssl_stapling on;
        ssl_stapling_verify on;
        add_header X-XSS-Protection '1; mode=block';
        add_header X-Frame-Options SAMEORIGIN;
        add_header Strict-Transport-Security 'max-age=31536000';
        add_header X-Content-Options nosniff;
        add_header X-Micro-Cache $upstream_cache_status;

	##
	# Logging Settings
	##

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

	##
	# Gzip Settings
	##

	gzip on;
	gzip_disable "msie6";
        gzip_buffers 16 8k;
        gzip_comp_level 1;
        gzip_http_version 1.1;
        gzip_min_length 10;
        gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/x-icon application/vnd.ms-fontobject font/opentype application/x-font-ttf;
        gzip_vary on;
        gzip_proxied any; # Compression for all requests.

	##
	# Virtual Host Configs
	##

	include /etc/nginx/conf.d/*.conf;
	include /etc/nginx/sites-enabled/*;
}

Si vous souhaitez utiliser SSL, vérifiez l'étape 6. Pour le service http uniquement, créez un hôte virtuel Nginx pour Wekan.

sudo vim /etc/nginx/conf.d/wekan.conf

Ajoutez le contenu suivant au fichier.

# This section is needed to proxy web-socket connections
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

# HTTP
server {
    listen 80;
    server_name wekan.example.com;
    
    # If your application is not compatible with IE <= 10, this will redirect visitors to a page advising a browser update
    # This works because IE 11 does not present itself as MSIE anymore
    if ($http_user_agent ~ "MSIE" ) {
        return 303 https://browser-update.org/update.html;
    }

    # Pass requests to Wekan.
    # If you have Wekan at https://example.com/wekan, change the location to:
    # location /wekan {
    location / {
        proxy_pass http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade; # allow websockets
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header X-Forwarded-For $remote_addr; # preserve client IP

        # this setting allows the browser to cache the application in a way compatible with Meteor
        # on every applicaiton update the name of CSS and JS file is different, so they can be cache infinitely (here: 30 days)
        # the root path (/) MUST NOT be cached
        #if ($uri != '/wekan') {
        #    expires 30d;
        #}
    }
}

N'oubliez pas de remplacer wekan.example.com par votre domaine actuel.

Validez la configuration de nginx :

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Étape 6 : Cryptage SSL Wekan avec Let's Encrypt (facultatif)

Cette section montre comment utiliser Let's Encrypt pour sécuriser l'accès à votre tableau de bord Wekan. Tous les autres certificats SSL valides peuvent être utilisés et ignorer l’étape de génération des certificats Let’s Encrypt.

Pour demander un certificat SSL certbot, vous devez avoir le port 80 ouvert et non utilisé par un service Web. Si le pare-feu UFW est en cours d'exécution, ouvrez le port en utilisant :

sudo ufw allow proto tcp from any to any port 80,443

Nous demanderons un certificat en utilisant.certbotFournissez une adresse e-mail valide pour les notifications d'expiration et un domaine valide à utiliser pour Wekan.

sudo apt update
sudo apt install certbot -y
export DOMAIN="wekan.example.com"
export EMAIL="[email "
sudo systemctl stop nginx
sudo certbot certonly --standalone -d $DOMAIN --preferred-challenges http --agree-tos -n -m $EMAIL --keep-until-expiring

Lorsque vous avez terminé. configurer le proxy Nginx

sudo vim /etc/nginx/conf.d/wekan.conf

Collez ce contenu dans le fichier wekan.conf :

# this section is needed to proxy web-socket connections
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

# HTTP
server {
    listen 80; 
    server_name wekan.example.com;
    # redirect non-SSL to SSL
    location / {
        rewrite     ^ https://example.com$request_uri? permanent;
    }
}

# HTTPS server
server {
    listen 443 ssl http2; # we enable HTTP/2 here (previously SPDY)
    server_name example.com; # this domain must match Common Name (CN) in the SSL certificate

    ssl_certificate /etc/letsencrypt/live/wekan.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/wekan.example.com/privkey.pem;

    # If your application is not compatible with IE <= 10, this will redirect visitors to a page advising a browser update
    # This works because IE 11 does not present itself as MSIE anymore
    if ($http_user_agent ~ "MSIE" ) {
        return 303 https://browser-update.org/update.html;
    }

    # Pass requests to Wekan.
    # If you have Wekan at https://example.com/wekan , change location to:
    # location /wekan {
    location / {
        proxy_pass http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade; # allow websockets
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header X-Forwarded-For $remote_addr; # preserve client IP

        # this setting allows the browser to cache the application in a way compatible with Meteor
        # on every applicaiton update the name of CSS and JS file is different, so they can be cache infinitely (here: 30 days)
        # the root path (/) MUST NOT be cached
        #if ($uri != '/wekan') {
        #    expires 30d;
        #}
    }
}

Remplacez toutes les occurrences de wekan.example.com par votre nom de domaine Wekan.

Démarrez le service nginx et activez-le au démarrage :

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Si la configuration est correcte, utilisez-la en démarrant le service nginx :

sudo systemctl restart nginx
sudo systemctl enable nginx

Confirmez que le service nginx est bien en cours d'exécution :

$ systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-06-05 15:40:16 UTC; 26s ago
       Docs: man:nginx(8)
   Main PID: 11710 (nginx)
      Tasks: 2 (limit: 2344)
     Memory: 3.0M
     CGroup: /system.slice/nginx.service
             ├─11710 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             └─11711 nginx: worker process

Jun 05 15:40:16 ubuntu systemd[1]: Starting A high performance web server and a reverse proxy server...
Jun 05 15:40:16 ubuntu systemd[1]: Started A high performance web server and a reverse proxy server.

Vous pouvez afficher la page d'aide de wekan en exécutant :

wekan.help

Étape 7 : Ajout d'utilisateurs de l'interface utilisateur Wekan

Accédez à votre page URL Wekan comme https://example.com/sign-up . Pour une nouvelle installation, vous devez vous inscrire pour obtenir un compte administrateur.

Enregistrez votre nom d'utilisateur, votre adresse e-mail et votre mot de passe. Le premier utilisateur enregistré dispose de privilèges d'administrateur, et le suivant sera des utilisateurs normaux. Si vous souhaitez également d'autres administrateurs, vous pouvez modifier leur autorisation en admin dans le panneau d'administration.

Remarque : Si vous obtenez une erreur concernant les paramètres de messagerie, vous pouvez l'ignorer. UN EMAIL TRAVAIL N’EST PAS REQUIS. Wekan fonctionne sans configurer de messagerie.

Une fois le compte créé. Connectez-vous à Wekan sur https://example.com/sign-in

Enregistrement des utilisateurs normaux :

Par défaut, les autres utilisateurs peuvent s'inscrire en visitant la page https://example.com/sign-up et en créant un compte. Si vous souhaitez désactiver l'auto-inscription, accédez à Panneau d'administration > Paramètres > Inscription > [X] Désactiver l'auto-inscription. Invitez ensuite de nouveaux utilisateurs sur les forums sélectionnés par adresse e-mail.

Conclusion

Vous auriez dû réussir à installer l'application Wekan Kanban sur le serveur Ubuntu 20.04/18.04 LTS. Il n'est pas obligatoire de configurer le proxy inverse Nginx avec le certificat SSL Letsencrypt.

Articles connexes: