Installation sur hebergement PHP/MySQL
Installation sur serveur mutualisé
Pré-requis
Logiciel
- PHP 7.3 à 8.3 avec les extensions
mysqli,gd,curletfileinfo(zipetsodiumpour les mises à jour depuis l’administration) - Une base de données MySQL ou MariaDB
- Un certificat HTTPS (les applications refusent les instances en HTTP)
Connaissances
- PHP / MySQL, transfert de fichiers (FTP/SFTP), phpMyAdmin
Mise en place
Téléchargement
Télécharger l’archive Source code de la dernière version sur https://github.com/jesuisundesdeux/vigilo-backend/releases
et copier le contenu du répertoire app/ à la racine du site.
Le serveur web doit pouvoir écrire dans images/ et caches/ (et dans tout le répertoire du code pour les mises à jour
depuis l’administration). Avec Nginx (qui ne lit pas les .htaccess), interdire l’accès à images/, caches/,
migrations/ (voir la documentation de mise à jour).
Base de données
Créer une base (vide) et un utilisateur chez l’hébergeur, et noter le serveur, le nom de la base, l’utilisateur et le mot de passe. Les tables sont créées par l’assistant d’installation (backend 0.0.31 et plus récent).
Assistant d’installation
Ouvrir https://adresse_du_serveur/admin/ : tant que l’instance n’est pas installée, l’assistant d’installation
s’affiche (voir Initialisation). Il demande le code d’installation
écrit dans le fichier caches/setup-code.php du serveur (à ouvrir par FTP ou avec le gestionnaire de fichiers de
l’hébergeur), puis :
- teste l’accès à la base (connexion et droits de création des tables) et enregistre
config/config.php. Si le dossierconfig/n’est pas accessible en écriture, l’assistant affiche le contenu du fichier à déposer par FTP ; - crée les tables avec les scripts de
migrations/; - crée le compte administrateur et renseigne le nom et l’adresse de l’instance.
Installation manuelle (versions antérieures, ou sans l’assistant) : copier config/config.php.tpl vers
config/config.php en renseignant l’accès à la base, puis créer les tables avec un accès SSH
(php scripts/vigilo-migrate.php --app=<racine du site>) ou dans phpMyAdmin (SET SESSION innodb_strict_mode=OFF; puis
les fichiers app/migrations/init-X.Y.Z.sql dans l’ordre des versions) ; l’assistant ne demande alors plus que le
compte administrateur.
Initialisation
Dès que l’application est déployée, passer à l’étape d’initialisation : procédure ici