Aller au contenu
Bondry

Prérequis

Ce dont un serveur a besoin avant d'installer Bondry, en hébergement mutualisé et en VPS, et comment le vérifier sans accès terminal.

Bondry est une application PHP. Il n'y a pas de Node, pas d'étape de build et aucun service à garder actif en dehors d'une entrée cron. Cette page indique le minimum pour un hébergement mutualisé et la configuration recommandée pour un VPS, afin de vérifier un hébergeur avant d'acheter.

En un coup d'œil#

Élément Exigence
PHP 8.3 ou supérieur (8.3, 8.4 et 8.5 sont pris en charge)
Base de données MySQL 8.0 ou supérieur, ou MariaDB 10.6 ou supérieur (InnoDB, utf8mb4)
Serveur web Apache 2.4 avec mod_rewrite (le produit fournit public/.htaccess), Nginx ou LiteSpeed
HTTPS Certificat valide sur le domaine
Cron Une entrée, chaque minute
Réseau sortant HTTPS vers api.bondry.org
Disque 500 Mo libres avant les envois
Mémoire memory_limit de 256M (128M est le plancher)

Hébergement mutualisé (minimum)#

Vérifiez chaque ligne dans le panneau de l'hébergeur (cPanel, Plesk ou DirectAdmin).

À vérifier Valeur Pourquoi
Sélecteur de version PHP 8.3, 8.4 ou 8.5 L'installateur refuse les versions plus anciennes
Extensions PHP pdo_mysql, mbstring, openssl, zip, gd, curl, fileinfo, intl, tokenizer Toutes sont obligatoires ; l'installateur ne continue pas s'il en manque une
memory_limit 256M 128M est le plancher ; le programme de mise à jour du panneau et le traitement d'images ont besoin de marge
max_execution_time 120 ou plus Le programme de mise à jour l'augmente lui-même quand l'hébergeur le permet
upload_max_filesize 64M Le paquet du cœur pèse environ 16 Mo et les paquets de modules et de thèmes passent par le panneau
post_max_size 64M Doit être au moins égal à upload_max_filesize
max_input_vars 3000 Les grands formulaires du panneau envoient beaucoup de champs
OPcache Activé Pages plus rapides
Répertoires en écriture storage, bootstrap/cache, modules, themes et public/uploads Cache, journaux, paquets installés et envois publics
Base de données Une base MySQL et un utilisateur avec tous les droits dessus L'installateur crée les tables
Tâches cron Autorisées dans le panneau Voir ci-dessous
E-mail sortant Identifiants SMTP ou un fournisseur d'API La valeur par défaut MAIL_MAILER=log écrit les e-mails dans un fichier ; changez-la après l'installation
HTTPS sortant api.bondry.org joignable Activation de la licence, heartbeat et mises à jour
Disque 500 Mo libres avant les envois Voir le tableau ci-dessous
SSH Optionnel L'installateur web et le panneau font tout

Cron et file d'attente#

Ajoutez une entrée, chaque minute :

Shell
* * * * * php /chemin/vers/bondry/artisan schedule:run >> /dev/null 2>&1

Le planificateur gère le nettoyage, le heartbeat de la licence, la vérification quotidienne des mises à jour, le nettoyage des fichiers, les déplacements de stockage, les webhooks, les imports RSS et les résumés. Il n'exécute pas de worker de file d'attente. Bondry n'exige pas de worker : l'indexation de la recherche s'exécute après la réponse, dans le même processus. Si le pilote de file est database et que plus de 100 tâches attendent, la page de santé du panneau avertit qu'aucun worker ne tourne. Si l'hébergeur n'a pas de cron, la Configuration avancée propose un mode qui exécute les tâches échues à partir du trafic du site, au plus une fois par minute.

Disque#

Élément Taille
Paquet du cœur (compressé) 16 Mo
Installé environ 60 Mo
Copie de sauvegarde faite par le programme de mise à jour pendant une mise à jour environ 60 Mo
Envois croît avec votre contenu

Prévoyez 500 Mo libres avant les envois.

Hébergeurs courants#

Tout hébergeur cPanel, Plesk ou DirectAdmin avec les valeurs ci-dessus convient. L'installateur vérifie chaque élément avant d'écrire quoi que ce soit : un hébergeur insuffisant est signalé avant toute modification de votre compte.

VPS ou serveur dédié (recommandé)#

Taille CPU RAM Disque
Petit (jusqu'à quelques milliers de membres, faible trafic) 1 vCPU 1 Go (2 Go avec les modules Designer et LMS) 10 Go SSD
Moyen 2 vCPU 4 Go 40 Go SSD
Grand 4 vCPU 8 Go SSD, dimensionné selon les envois

MySQL profite surtout de la RAM et du SSD.

Pile logicielle#

Composant Recommandation
Système Debian 12 ou 13, Ubuntu 22.04 ou 24.04
Serveur web Nginx avec PHP-FPM 8.3 ou supérieur
Base de données MySQL 8.4 ou MariaDB 10.11
Worker de file (optionnel) Supervisor ou systemd exécutant php artisan queue:work database --sleep=3 --tries=3
Redis (optionnel) Cache, session et file ; le fichier .env contient des entrées REDIS_*
TLS Let's Encrypt avec certbot
Pare-feu Seuls 22, 80 et 443 ouverts
Cron La même entrée que ci-dessus
Sauvegardes La base de données et le répertoire public/uploads

Un bloc serveur Nginx minimal :

Code
server {
    listen 443 ssl;
    server_name example.com;
    root /var/www/bondry/public;
    index index.php;
    client_max_body_size 64m;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    }
}

Propriété des fichiers#

Le code est lisible par l'utilisateur PHP. Seuls storage, bootstrap/cache, modules, themes et public/uploads sont en écriture. Donnez la propriété à l'utilisateur PHP-FPM plutôt que d'ouvrir les répertoires à tous.

Environnements testés#

Environnement Configuration
Production Debian 13, Nginx, PHP-FPM 8.5, MySQL 8.4 (bondry.org et demo.bondry.org tournent ici)
Tests automatisés PHP 8.3 et PHP 8.4
Développement macOS, PHP 8.5

Vérifier avant d'acheter#

  • Envoyez un fichier contenant <?php phpinfo(); et cherchez la version de PHP, la liste des extensions et les valeurs de memory_limit, upload_max_filesize, post_max_size et max_input_vars. Supprimez le fichier ensuite.
  • Cron : ouvrez la section cron du panneau et confirmez que vous pouvez ajouter une tâche chaque minute avec la ligne de commande PHP.
  • HTTPS sortant : demandez à l'hébergeur, ou exécutez un fichier PHP d'une ligne avec var_dump(file_get_contents('https://api.bondry.org')); et vérifiez l'absence d'erreur de connexion. Supprimez-le ensuite.

Problèmes courants#

Problème Cause Solution
L'installateur refuse de démarrer PHP 8.2 ou antérieur sélectionné Sélectionnez 8.3 ou supérieur dans le panneau
Point rouge pour intl ou zip Extension non activée Activez-la dans la page des extensions PHP du panneau
Les envois échouent post_max_size ou upload_max_filesize trop bas Passez les deux à 64M
Erreur 500 après l'installation storage ou bootstrap/cache non accessible en écriture Corrigez le propriétaire ou les droits de ces répertoires
Les tâches planifiées ne se sont jamais exécutées Entrée cron absente ou chemin incorrect Ajoutez l'entrée ; la page de santé montre la dernière exécution
L'activation de la licence échoue HTTPS sortant vers api.bondry.org bloqué Demandez à l'hébergeur de l'autoriser

Confidentialité

Ce site utilise uniquement des cookies nécessaires : session, langue, thème et la vérification antispam hCaptcha dans les formulaires. Il n'y a ni suivi ni publicité. Politique de confidentialité