4

FluxBB : un forum léger libre et open-source

FluxBB est un forum de discussions écrit en PHP rapide et léger. Ce forum est libre et open-source sous la licence GNU GPLv2.

Les principaux objectifs de FluxBB sont d’être plus rapide, plus léger et graphiquement moins intense comparé à d’autres logiciels de forum. Cependant, FluxBB a moins de fonctionnalités que beaucoup d’autres forums de discussion, mais il est généralement plus rapide et génère des pages plus légères. D’autre part, le code généré par FluxBB est conforme aux normes XHTML 1.0 Strict et CSS2 du W3C.

Installer FluxBB sous Debian avec Nginx, PHP7 et MariaDB

Dans ce tutoriel, je pars du postulat que vous avec déjà installé Nginx, PHP7 et MariaDB.
De plus, dans mon cas j’ai activé le chiffrement pour l’accès au forum avec Let’s Encrypt.

Etape 1 : Création de la base de données pour FluxBB

  • Se connecter au serveur MariaDB :
  • mysql -u root -p
  • Création de la base de donnée et un utilisateur dédié :
  • CREATE DATABASE punbbdb;
    GRANT ALL PRIVILEGES ON punbbdb.* TO 'user'@'localhost' IDENTIFIED BY 'Sup€rMDPdelaMort!' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    quit
    

Étape 2 : Mise en place du Forum sur le serveur

  • Création du répertoire :
  • mkdir -p /var/www/forum/
  • Télécharger l’archive de FluxBB :
  • cd /var/www/forum/
    wget http://fluxbb.org/download/releases/1.5.9/fluxbb-1.5.9.zip
    
  • Décompresser l’archive :
  • unzip fluxbb-1.5.9.zip
  • Déplacer le contenue de l’archive au niveau de /var/www/forum :
  • cd fluxbb-1.5.9
    mv * ../
    cd ..
    
  • Changer l’utilisateur, le groupe et les droits sur le répertoire forum :
  • chown -R www-data:www-data forum/
    chmod -R 755 forum/
    
  • Télécharger les traduction pour avoir le forum en français :
  • cd forum/lang
    wget http://fluxbb.fr/telecharger/fr-fluxbb-1.4.8.zip
    unzip fr-fluxbb-1.4.8.zip
    rm fr-fluxbb-1.4.8.zip
    chown -R www-data:www-data French/
    chmod -R 755 French/
    
  • Création du stack Nginx pour l’accès au forum :
  • nano /etc/nginx/sites-enabled/forum
    server {
    listen 80;
    server_name forum.domaine.tld;
    index index.php index.phtml index.html;
    rewrite     ^ https://forum.domaine.tld$request_uri permanent;
    }
    server {
    listen 443 ssl http2;
    server_name forum.domaine.tld;
    
    access_log /var/log/nginx/acces_forum.domaine.tld.log;
    error_log /var/log/nginx/error_forum.domaine.tld.log;
    
    ssl_certificate /etc/letsencrypt/live/forum.domaine.tld/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/forum.domaine.tld/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/forum.domaine.tld/fullchain.pem;
    ssl_protocols TLSv1.2;
    ssl_ecdh_curve secp384r1;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 180m;
    ssl_buffer_size 4k;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_dhparam /etc/ssl/private/dhparams.pem;
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 127.0.0.1 8.8.4.4;
    
    root /var/www/forum;
    index index.php;
    include global/php-fpm.conf;
    
    location / {
    try_files $uri $uri/ /index.php?$args;
               }
    location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){
        deny all;
      }
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|html|htm)$ {
                    expires max;
                    log_not_found off;
            }
    }
    
  • pour info, mon contenu de global/php-fpm.conf :
  • location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_param  QUERY_STRING     $query_string;
    fastcgi_param  REQUEST_METHOD   $request_method;
    fastcgi_param  CONTENT_TYPE     $content_type;
    fastcgi_param  CONTENT_LENGTH   $content_length;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_intercept_errors        on;
    fastcgi_ignore_client_abort     off;
    fastcgi_connect_timeout 60;
    fastcgi_send_timeout 180;
    fastcgi_read_timeout 180;
    fastcgi_buffers 4 256k;
    fastcgi_buffer_size 128k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
    }
    
  • Penser aussi à sécuriser les Headers : https://memo-linux.com/securiser-son-site-web-sous-nginx-avec-lajout-den-tetes-headers/
  • Relancer le serveur web :
  • systemctl nginx restart

Étape 3 : Finaliser l’installation via le navigateur internet

Partager l'article :





fred

"Dire que l'on s'en fiche du droit à la vie privée sous prétexte qu'on a rien à cacher, c'est comme déclarer que l'on se fiche du droit à la liberté d'expression sous prétexte qu'on a rien à dire." Edward Snowden

4 commentaires

  1. Ce tutoriel est vraiment utile. Vu que je me suis déjà servi du tutoriel de http://www.alphorm.com à propos d’open source, je vais essayer d’assimiler celui-ci pour forum de discussion écrit en PHP. Merci

  2. Merci pour le geste et bien sur la qualité du sujet ainsi que la réalisation qui parfois est oublier par bons nombres d’experts
    Chapeaux bas et surtout longue vie

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *