Méthode automatique : un seul script depuis l'espace client prépare tout le serveur (pile web Apache + PHP, base de données, outils de sécurité, cron). Ensuite — déployez le tableau de bord, émettez le SSL et saisissez la licence. Fonctionne sous Ubuntu/Debian : sur un VPS neuf il configure tout de zéro, sur un serveur déjà configuré — de façon uniquement additive (profil « Serveur configuré », étape 01). Toutes les commandes ci-dessous sont dans l'ordre, il suffit de faire défiler du haut vers le bas.
monitor.example.com — votre domaine ; 203.0.113.10 — l'IP réelle du serveur ; /var/www/monitor — la racine du tableau de bord (où se trouvent public/, assets/, config.php) ; choisissez votre propre mot de passe BD.
jail.local), crontab root, règles UFW, configuration Apache. Si le serveur est déjà configuré (tableau de bord opérationnel, sites, messagerie, vos propres jails) — choisissez le profil « Serveur configuré » : il n'apporte que des modifications additives et ne touche ni à votre pare-feu, ni à Fail2ban, ni à la messagerie, ni au SSH, ni à sysctl. Si une panneau d'hébergement est détecté, le script bascule tout seul dans ce mode. Avant le premier lancement, vous pouvez activer le test à blanc (case à cocher dans l'espace client) — il montre ce qui sera fait, sans rien modifier. Sur un serveur en production, faites un instantané (snapshot) par précaution.
my.arciveo.com → rubrique « Configuration du serveur » (accessible après souscription à Arcivéo Monitor). Elle est liée à votre compte et contient un jeton personnel.
Le script prépare l'intégralité du serveur : pile web (Apache + PHP), base de données, outils SSL, jeu complet de moyens de protection et tâches cron (Lynis, SMART, debsums, Logwatch, rapport quotidien, mise à jour d'ipsum).
1) Choisissez le niveau de protection (dans l'espace client, avant de copier la commande) :
2) Exécutez sur le serveur en tant que root la commande de l'espace client — elle se présente ainsi :
Pour ouvrir le tableau de bord à une adresse comme monitor.example.com et obtenir un SSL gratuit, le domaine doit pointer vers le serveur. Dans le panneau de gestion DNS (chez votre registraire ou hébergeur), créez un enregistrement A :
Au bout de quelques minutes (parfois jusqu'à une heure), vérifiez que le domaine pointe vers le serveur :
/var/www/monitor et configuré le site Apache (DocumentRoot vers la racine du panneau, PHP-FPM, AllowOverride pour .htaccess). Pas besoin de créer séparément un répertoire ou un vhost — transférez simplement les fichiers et définissez les droits.
my.arciveo.com → « Téléchargements ». Décompressez l'archive avant de l'envoyer sur le serveur.
Transférez le contenu de la distribution dans /var/www/monitor (pour y retrouver public/, assets/, config.php, etc.) — par SFTP/SCP (FileZilla / WinSCP) ou avec la commande scp depuis votre ordinateur local :
ServerName), on le passe à la commande de configuration automatique dès l'étape 01 : … | sudo bash -s -- monitor.example.com (ou on indique le domaine dans le champ « Domaine du panneau » de l'espace client). Si le domaine n'a pas été fourni, le panneau répond à n'importe quel hôte et par IP, et ServerName sera inscrit par certbot lors de l'émission du SSL (étape 06) ; rien n'est à réinstaller.
root ou par SFTP, les fichiers appartiennent à root, et le serveur web (www-data) ne pourra pas les lire — le panneau s'ouvrira vide ou avec une erreur 403 (dans le journal : .htaccess unreadable / directory not executable). La commande ci-dessous corrige cela :
Ouvrez-vous l'accès au transfert par SFTP. Après la commande ci-dessus, tous les fichiers appartiennent à www-data, alors que FileZilla / WinSCP se connectent sous votre propre utilisateur — le transfert échouera alors avec SSH_FX_PERMISSION_DENIED (Permission denied). Choisissez l'une des deux variantes.
Variante A — une ACL pour votre utilisateur uniquement (recommandé). Vous seul obtenez le droit d'écriture ; le serveur web ne peut toujours pas réécrire le code du panneau :
Variante B — via le groupe www-data. Plus simple, mais le serveur web obtient lui aussi le droit d'écriture sur les fichiers du panneau : en cas de faille dans PHP, le code pourrait être remplacé. L'ordre des commandes compte — config.php et les dossiers de travail sont verrouillés en dernier :
id deploy — www-data doit apparaître dans la liste des groupes ; ls -ld /var/www/monitor — droits drwxrwsr-x, la lettre s à la place de x signifie que setgid est activé.
Créez la base et l'utilisateur, puis importez le schéma. Le bloc BDD se colle en entier dans le terminal (sudo mysql connecte root via socket unix — pas besoin du mot de passe root). monitor_db et monitor_user sont des noms d'exemple, vous pouvez choisir les vôtres ; retenez le nom de la base, l'utilisateur et le mot de passe — vous les saisirez dans config.php à l'étape suivante :
admin lors du premier accès dans le navigateur (depuis database/db.sql), si la base est vide.
www-data).
config.php à la racine du tableau de bord (/var/www/monitor/config.php) est le seul fichier à modifier manuellement. Tous les paramètres du tableau de bord y sont définis par des constantes define(). Ouvrez-le dans un éditeur :
Remplacez par vos valeurs aux endroits surlignés ; laissez le reste tel quel :
À modifier :
DB_NAME, DB_USER, DB_PASS — exactement les mêmes nom de base, utilisateur et mot de passe que ceux définis à la création de la BD à l'étape 04 (si vous avez gardé les exemples — monitor_db / monitor_user). Ne touchez pas à DB_HOST ni DB_CHARSET.APP_URL — adresse complète du tableau de bord avec https://, sans slash final ni www. Elle doit correspondre au domaine sur lequel vous activez la licence (étape 07), sinon la clé sera rejetée.TIMEZONE — votre fuseau horaire (liste : timedatectl list-timezones). N'affecte que l'affichage des dates par le tableau de bord ; n'affecte pas l'heure de lancement des tâches cron (c'est le fuseau du système qui s'applique).SESSION_LIFETIME — après combien de secondes d'inactivité le tableau de bord demande une reconnexion (8 heures par défaut). Par ex. 3600 = 1 heure, 86400 = un jour.display_errors, log_errors, error_log) — laissez-le par défaut.Enregistrez le fichier (Ctrl+O, Enter, puis Ctrl+X) et redémarrez PHP-FPM — sinon, à cause d'OPcache, les modifications ne s'appliqueront pas :
640 (définis à l'étape 03) et interdiction explicite dans le .htaccess racine. Ne le publiez pas sur des dépôts publics et ne le transmettez pas au support avec le vrai mot de passe.
http://, la connexion est impossible.
certbot et le plugin pour Apache sont déjà installés par la configuration automatique. Le DNS du domaine doit déjà pointer vers le serveur (étape 02). Émission en une seule commande :
Y.<VirtualHost *:443>, configurera la redirection http→https et le renouvellement automatique. À la fin — Successfully enabled HTTPS.
dig +short monitor.example.com renvoie l'IP du serveur et que les ports 80/443 sont ouverts (sudo ufw allow 80,443/tcp).
Après l'émission : https://monitor.example.com s'ouvre avec un cadenas, http:// redirige vers https://.
Ouvrez https://monitor.example.com, connectez-vous avec admin / useradmin et suivez la liste :
ARCIVEO-… depuis l'espace client sur votre domaine et collez la clé dans « Paramètres » → « Licence ». En savoir plus.public/start_db.php s'il subsiste : il permet de recréer la base sans authentification. Tant que le fichier reste à la racine du panneau ou dans public/, le panneau affiche un bandeau rouge d'avertissement.