Guide des technologies

Installer Restyaboard sur CentOS 7

7 min read Auto‑hébergement Mis à jour 16 Oct 2025
Installer Restyaboard sur CentOS 7
Installer Restyaboard sur CentOS 7

Important: suivez les étapes dans l’ordre et vérifiez chaque commande. Les chemins de fichiers et les versions indiqués reflètent l’état du guide original (PHP 7.0, PostgreSQL 9.6). Adaptez les versions si vous choisissez des versions plus récentes.

Avant de commencer

  • Serveur CentOS 7 minimal, accès root
  • Nom de domaine pointant vers le serveur (recommandé)
  • Pare‑feu ouvert pour HTTP/HTTPS si nécessaire
  • Sauvegarde préalable si serveur en production

Prérequis et décisions d’architecture

Choix essentiels avant l’installation:

  • Héberger l’application derrière Nginx (reverse proxy statique + PHP‑FPM) pour de meilleures performances.
  • Utiliser une base PostgreSQL dédiée sur la même machine ou un serveur de base de données séparé.
  • Prévoir un plan de sauvegarde des répertoires uploads/media et de la base PostgreSQL.

Notes importantes:

Important: le guide montre la désactivation de SELinux pour la compatibilité proxy. En production, préférez configurer les règles SELinux appropriées plutôt que de le désactiver définitivement.

Étape 0 — Checklist rapide

  • Accès root confirmé
  • Horloge système et fuseau horaire corrects
  • EPEL installé ou accessible
  • Port 80 ouvert (ou HTTPS si prévu)

Étape 1 - Installer Nginx

Avant toute installation, mettez à jour les paquets et les dépôts:

yum -y update

Nginx n’est pas disponible dans le dépôt YUM par défaut. Installez EPEL puis Nginx:

yum -y install epel-release
yum -y install nginx

Démarrez Nginx et activez son démarrage automatique:

systemctl start nginx systemctl enable nginx

Vérifiez que Nginx tourne: consultez l’état ou ouvrez la page HTTP par défaut.

Étape 2 - Installer et configurer PHP‑FPM avec Mbstring

Restyaboard fonctionne avec PHP 7.0 dans ce guide. Le dépôt Webtatic fournit PHP 7.0 pour CentOS 7:

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Installez PHP 7.0 et les modules recommandés:

yum -y install php70w php70w-fpm php70w-devel php70w-cli php70w-curl php70w-pgsql php70w-mbstring php70w-ldap php70w-pear php70w-imap php70w-xml php70w-pecl-imagick ImageMagick

Configuration PHP‑FPM (adapter pour Nginx):

Éditez /etc/php-fpm.d/www.conf (exemple avec nano):

nano /etc/php-fpm.d/www.conf

Recherchez les lignes indiquant l’utilisateur et le groupe et remplacez apache par nginx:

user = nginx
group = nginx

Configurez PHP‑FPM pour écouter un socket unix au lieu d’un port TCP (meilleure sécurité/perf):

listen = /run/php-fpm/php7.0-fpm.sock

Définissez la propriété et les permissions du socket:

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Réglez le fuseau horaire dans /etc/php.ini (exemple Asia/Kolkata) puis sauvegardez. Exemple:

nano /etc/php.ini
...
date.timezone = Asia/Kolkata

Activez cgi.fix_pathinfo pour éviter des problèmes d’exécution de scripts non désirés:

cgi.fix_pathinfo=0

Installez GeoIP et activez l’extension si besoin:

yum -y install GeoIP-devel

Ajoutez à la fin de /etc/php.ini:

extension=geoip.so

Démarrez et activez PHP‑FPM puis redémarrez Nginx:

systemctl start php-fpm systemctl enable php-fpm
systemctl restart nginx

Note: si vous installez une version différente de PHP, adaptez les chemins de socket et les paquets.

Étape 3 - Installer et configurer PostgreSQL

Restyaboard utilise PostgreSQL. Le guide installe PostgreSQL 9.6 via le dépôt officiel:

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
yum -y install postgresql96-server postgresql96-contrib

Initialisez la base:

/usr/pgsql-9.6/bin/postgresql96-setup initdb

Modifiez pg_hba.conf pour activer l’authentification MD5 sur localhost. Éditez:

nano /var/lib/pgsql/9.6/data/pg_hba.conf

Remplacez les méthodes peer/ident par trust/md5 pour les connexions locales IPv4/IPv6 comme montré ci‑dessus (local -> trust; host 127.0.0.1 -> md5; ::1 -> md5).

Démarrez et activez PostgreSQL:

systemctl start postgresql-9.6 systemctl enable postgresql-9.6

Changez le mot de passe de l’utilisateur système postgres puis connectez‑vous:

passwd postgres
su - postgres

Créez l’utilisateur PostgreSQL et la base pour Restyaboard:

createuser rb_user
psql
ALTER USER rb_user WITH ENCRYPTED password 'StrongPassword';
CREATE DATABASE rb_data OWNER rb_user ENCODING 'UTF8' TEMPLATE template0;
\q

Important: remplacez StrongPassword par un mot de passe sécurisé. Conservez-le dans votre gestionnaire de mots de passe.

Étape 4 - Télécharger Restyaboard

Téléchargez l’archive déployable et extrayez‑la:

cd /usr/share/nginx/html wget https://github.com/RestyaPlatform/board/releases/download/v0.4.2/board-v0.4.2.zip
unzip board-v0.4.2.zip -d board

Importez le schéma SQL initial dans la base:

psql -d rb_data -f "/usr/share/nginx/html/board/sql/restyaboard_with_empty_data.sql" -U rb_user

Éditez la configuration PHP de Restyaboard pour renseigner les identifiants DB:

nano /usr/share/nginx/html/board/server/php/config.inc.php

Mettez à jour les constantes pour correspondre à la base créée:

define('R_DB_HOST', 'localhost');
define('R_DB_USER', 'rb_user');
define('R_DB_PASSWORD', 'StrongPassword');
define('R_DB_NAME', 'rb_data');
define('R_DB_PORT', 5432);

Étape 5 - Configurer le bloc serveur Nginx

Copiez le fichier de configuration fourni:

cp /usr/share/nginx/html/board/restyaboard.conf /etc/nginx/conf.d
nano /etc/nginx/conf.d/restyaboard.conf

Modifiez le server_name et les racines (root) pour pointer vers le dossier d’installation:

server {
        listen 80;
        server_name board.votre-domaine.com;

        root /usr/share/nginx/html/board;
        location / {
                root /usr/share/nginx/html/board/client;
        }

        root /usr/share/nginx/html/board/client;

        fastcgi_pass    unix:/run/php-fpm/php7.0-fpm.sock;
}

Assurez les permissions et la propriété des fichiers:

chown -R nginx:nginx /usr/share/nginx/html/board/
chmod -R go+w "/usr/share/nginx/html/board/media"
chmod -R go+w "/usr/share/nginx/html/board/client/img"
chmod -R go+w "/usr/share/nginx/html/board/tmp/cache"
chmod -R 0755 /usr/share/nginx/html/board/server/php/shell/*.sh

Ajoutez les tâches cron pour les notifications et traitements périodiques:

echo "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/instant_email_notification.sh" >> /var/spool/cron/root
echo "0 * * * * /usr/share/nginx/html/board/server/php/shell/periodic_email_notification.sh" >> /var/spool/cron/root
echo "*/30 * * * * /usr/share/nginx/html/board/server/php/shell/imap.sh" >> /var/spool/cron/root
echo "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/webhook.sh" >> /var/spool/cron/root
echo "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/card_due_notification.sh" >> /var/spool/cron/root

SELinux et Nginx proxy

Le guide original désactive SELinux pour simplifier. Pour un environnement de test, vous pouvez temporairement désactiver SELinux:

setenforce 0
nano /etc/selinux/config
# modifier SELINUX=enforcing en SELINUX=disabled si vous décidez de désactiver définitivement

Pour la production, préférez gérer les contextes SELinux ou autoriser explicitement les services concernés plutôt que de désactiver SELinux.

Redémarrez Nginx:

systemctl restart nginx

Accédez à l’URL:

http://board.votre-domaine.com

Vous verrez l’écran de connexion initial.

Écran de connexion Restyaboard

Identifiants par défaut: utilisateur admin / mot de passe restya. Changez immédiatement le mot de passe admin après la première connexion.

Tableau de bord Restyaboard

Créer un nouveau tableau: cliquez sur la flèche en haut à gauche puis sur Add Board or Organization.

Créer un nouveau tableau

Fournissez un nom et choisissez un modèle.

Choisir un modèle de tableau

Exemple d’un tableau créé:

Nouveau tableau Restyaboard

Accéder au panneau d’administration: en bas à droite cliquez sur Admin puis Settings.

Accéder au panneau admin

Restyaboard est maintenant installé et prêt à l’emploi.

Sécurité et mise en production

  • Changez tous les mots de passe par défaut et créez des comptes RBAC pour vos utilisateurs.
  • Activez HTTPS avec un certificat TLS (Let’s Encrypt ou autre). Exemple rapide avec certbot et Nginx.
  • Ouvrez uniquement les ports nécessaires (80/443) dans le firewall (firewalld ou iptables).
  • Limitez l’accès SSH (clé publique, port non standard, Fail2ban).
  • Ne laissez pas SELinux désactivé sans justification; documentez toute exception.

Sauvegarde et restauration

Sauvegarde de la base PostgreSQL:

pg_dump -U rb_user -F c -b -v -f "/var/backups/rb_data_$(date +%F).dump" rb_data

Restauration:

pg_restore -U rb_user -d rb_data -v "/var/backups/rb_data_YYYY-MM-DD.dump"

Sauvegarde des fichiers médias:

rsync -a /usr/share/nginx/html/board/media/ /mnt/backup/restyaboard/media/

Automatisez les sauvegardes hors site et testez régulièrement la restauration.

Mise à jour et migration

  • Avant toute mise à jour, effectuez une sauvegarde complète (DB + fichiers media).
  • Vérifiez la compatibilité des versions PHP/PostgreSQL avec la nouvelle version de Restyaboard.
  • Lisez les notes de version et les scripts d’upgrade fournis dans les releases GitHub.

Dépannage courant

  1. Erreur 502 Bad Gateway après configuration Nginx + PHP‑FPM:

    • Vérifiez que php-fpm est démarré: systemctl status php-fpm
    • Confirmez que le socket /run/php-fpm/php7.0-fpm.sock existe et appartient à nginx: ls -l /run/php-fpm/
    • Vérifiez les logs Nginx (/var/log/nginx/error.log) et PHP‑FPM (/var/log/php-fpm/error.log).
  2. Erreur de connexion à PostgreSQL:

    • Vérifiez pg_hba.conf, redémarrez PostgreSQL et testez psql -U rb_user -d rb_data.
    • Confirmez le mot de passe et que rb_user a les droits sur rb_data.
  3. Permissions des fichiers médias et uploads:

    • Assurez-vous que le dossier media et client/img sont accessibles en écriture par nginx.

Checklist rôles

  • Administrateur système:

    • Installer et maintenir le serveur, les mises à jour et sauvegardes.
    • Gérer les certificats TLS et la sécurité réseau.
  • Administrateur applicatif (Restyaboard):

    • Créer organisations, gérer utilisateurs et modèles de tableau.
    • Surveiller les tâches cron et les notifications email.

Critères d’acceptation

  • Le site http://board.votre-domaine.com retourne la page de connexion.
  • Connexion avec l’utilisateur admin fonctionne et le mot de passe peut être changé.
  • Les tableaux peuvent être créés, édités, et les médias téléchargés.
  • Les tâches cron planifiées s’exécutent (vérifier logs ou actions attendues).

Mini‑méthodologie de validation après installation

  1. Test fonctionnel: créer un tableau, une liste et une carte, attacher un fichier.
  2. Test d’intégration: envoyer un email via la fonction IMAP/notification si configurée.
  3. Test de charge léger: plusieurs utilisateurs simultanés pour détecter latence.
  4. Vérifier sauvegarde et restauration sur une instance de test.

Glossaire (1 ligne chacun)

  • PHP‑FPM: gestionnaire de processus PHP pour servir les scripts via FastCGI.
  • Nginx: serveur web et reverse proxy utilisé pour servir l’application.
  • PostgreSQL: SGBD relationnel utilisé par Restyaboard.
  • SELinux: système de contrôle d’accès obligatoire utilisé par CentOS.

Alternatives et points à considérer

  • Alternative auto‑hébergée: Kanboard, Wekan. Si vous préférez une stack plus récente, choisissez une version moderne de PHP et PostgreSQL et adaptez les paquets.
  • Si vous avez un environnement Docker/Kubernetes, une installation conteneurisée peut simplifier les dépendances et les mises à jour.

Résumé

  • Ce guide a décrit l’installation de Restyaboard sur CentOS 7: Nginx, PHP‑FPM (7.0), PostgreSQL 9.6, configuration de l’application, sécurité et sauvegarde.
  • Testez chaque composant (Nginx, PHP‑FPM, PostgreSQL) individuellement avant d’importer les données.
  • En production, durcissez la sécurité (TLS, SELinux, pare‑feu) et implémentez des sauvegardes régulières.

Annonce courte (100–200 mots):

Restyaboard installé sur CentOS 7: Ce guide complet vous accompagne pas à pas pour déployer Restyaboard, alternative auto‑hébergée à Trello. Vous apprendrez à installer Nginx, PHP‑FPM, PostgreSQL, configurer les permissions, automatiser les tâches et sécuriser la plateforme. Conçu pour administrateurs système et développeurs, le tutoriel inclut des sections sur la sauvegarde, la restauration et le dépannage pour garantir une mise en production fiable.

Auteur
Édition

Matériaux similaires

Photo de profil vidéo Facebook sur Android
Réseaux sociaux

Photo de profil vidéo Facebook sur Android

Créer un domaine d'authentification WiKID
Authentification

Créer un domaine d'authentification WiKID

Ouvrir et éditer des fichiers ODT dans un navigateur
Bureautique

Ouvrir et éditer des fichiers ODT dans un navigateur

Transformer Windows 11 en ChromeOS avec Start11
Personnalisation Windows

Transformer Windows 11 en ChromeOS avec Start11

Réplication MySQL avec SSL sur CentOS 5.4
Bases de données

Réplication MySQL avec SSL sur CentOS 5.4

Ouvrir un AppImage sur Linux
Linux

Ouvrir un AppImage sur Linux