Le panneau de contrôle Web en option

Cipi est, et sera toujours, CLI-premier. Tout ce dont un serveur a besoin : applications, bases de données, SSL, déploiements, sauvegardes, pare-feu — est un seul cipi commandez via SSH. Mais de v4.7.0 Cipi expédie également un facultatif panneau de contrôle Web : un Tableau de bord self-hosted Laravel qui gère un ou plusieurs serveurs Cipi depuis le navigateur, sur le même REPOS API le client CLI et le module WHMCS sont utilisés.

100% facultatif. Le panneau est un package distinct que vous installez uniquement si vous le souhaitez ça. Ignorez-le et Cipi s'exécute exactement comme avant : un CLI allégé sans démon, sans surface Web et rien de plus à l'écoute. Installez-le et votre équipe ou vos clients bénéficient d'une interface utilisateur conviviale sans abandonner la borne. Votre serveur, votre choix.

Le panneau est une fine couche visuelle au-dessus du API — il ne remplace pas le CLI et n'ajoute pas de propriété exclusive. plan de contrôle. Tout ce que vous faites dans le navigateur, vous pouvez toujours le faire depuis le terminal, et vice versa. Un seul panneau peut piloter plusieurs serveurs, il sert donc également de cockpit multi-serveurs léger.

Ce que vous pouvez faire à partir du panneau

  • Gérer applications — créer, modifier, déployer, suspendre/reprendre la suspension et supprimer Laravel et applications personnalisées ; gérer les alias, les redirections WWW/apex, SSL (installer + forcer HTTPS) et HTTP basic auth.
  • Créez Laravel applications avec en option Laravel Octane (FrankenPHP) (API 1.13+ / Cipi 5.0+); les vues de liste et de détail montrent FPM vs Octane.
  • Modifier l'application .env, gérer Composer auth.json, cours Artisan, et exécutez sur liste blanche Commandes d'application (cipi app run) — nécessite API 1.14+ / Cipi 5.0.3+ (la sortie du terminal prend en charge Markdown copie).
  • Choisissez une base de données moteur lors de la création de l'application (mariadb ou pgsql) et gérer des bases de données multimoteurs (API 1.12+ / Cipi 4.8+).
  • Parcourir l'application et le serveur journaux avec filtre de type, pagination et rafraîchissement automatique.
  • Regarder travaux asynchrones dans une superposition interactive (sortie spinner + terminal pendant sondage GET /api/jobs/{id}).
  • En direct tableau de bord - Nombre de processeurs, de mémoire, de disques, de services et d'applications via GET /api/status.
  • Poste de pilotage du serveur (API 1.15+ / Cipi 5.0.6+) — gérer les versions PHP et les valeurs par défaut du système, les clés SSH, les services, les notifications SMTP, HTTP contrôles de santé et panneau API liste blanche IP à partir du navigateur.
  • Inscrivez-vous et basculez entre plusieurs serveurs à partir d'une seule connexion.

Exigences

Le panel communique avec vos serveurs exclusivement via le Cipi REST API. Avant de l'installer, assurez-vous chaque serveur que vous souhaitez gérer a le API activé avec un jeton qui couvre l'ensemble des capacités.

Chaque serveur géré a besoin cipi api installé et un Jeton de porteur avec toutes les capacités. Voir le Guide de configuration API à en générer un.
  • Un serveur Cipi en cours d'exécution (Ubuntu 24.04 / 26.04) pour héberger le panneau — cela peut être l'un des serveurs vous gérez soit un petit boitier dédié.
  • Un domaine (ou sous-domaine) pointé vers ce serveur, par ex. panel.example.com.
  • cipi api activé sur chaque serveur que vous souhaitez contrôler, chacun avec une pleine capacité jeton (inclure www-manage, status-view, et pour les outils d'application apps-env, apps-auth, apps-artisan, apps-run, apps-deploy-config). Pour le cockpit du serveur (PHP, SSH, services, SMTP, santé, liste blanche IP), les serveurs gérés ont besoin de API1.15+ et API 5.0.6+. Pour .env / auth.json / Artisan / App commands, managed servers need API 1.14+ et API 5.0.3+. Pour Octane, créez et Indicateurs FPM/Octane, API 1.13+ et API 5.0+. Pour multi-moteurs MariaDB/PostgreSQL et redirections www, API 1.12+ et Cipi 4.8+.

PHP, le pool FPM, le vhost Nginx et le planificateur sont tous fournis pour vous par le programme d'installation – vous ne configurez pas un environnement Laravel à la main.

Mise en place — cipi gui <domain>

Une seule commande provisionne l'ensemble du panneau sur un serveur Cipi : un pool PHP-FPM dédié, un vhost Nginx pour votre domaine et une tâche de planificateur cron. L'application Laravel est fournie avec /opt/cipi/gui, le même modèle utilisé par le cipi-api paquet.

coup
cipi gui panel.example.com

Le programme d'installation demande de manière interactive le premier compte administrateur : un e-mail et un mot de passe. Le mot de passe doit respecter la politique du panel :

  • Minimum 12 caractères.
  • Au moins une majuscule, une minuscule, un chiffre et un caractère spécial.
  • Pas plus que 4 identiques consécutifs personnages.

La configuration est écrite dans /etc/cipi/gui.json. Une fois la commande terminée, ouvrez votre domaine dans un navigateur et connectez-vous avec le compte administrateur que vous venez de créer.

Le panneau est servi en clair HTTP jusqu'à ce que vous délivriez un certificat. Courir cipi gui ssl juste après l'installation pour le sécuriser.

SSL — cipi gui ssl

Émettez un certificat Let's Encrypt gratuit pour le domaine du panneau et passez-le à HTTPS. Le panneau est HTTPS-aware et définit les en-têtes transférés corrects derrière le vhost Cipi Nginx.

coup
cipi gui ssl

Le certificat se renouvelle automatiquement via le même renouvellement ACME que celui utilisé par Cipi pour les domaines d'application.

Authentification à deux facteurs (TOTP)

Le panneau utilise la connexion de session classique et prend en charge TOTP à deux facteurs en option authentification. Chaque administrateur peut inscrire une application d'authentification (Google Authenticator, 1Password, Aegis, …) depuis leur profil. 2FA est opt-in par utilisateur, non forcé.

Si un administrateur perd l'accès à son deuxième facteur, un opérateur disposant d'un accès shell peut l'effacer. depuis le serveur avec cipi gui reset-user, qui réécrit le compte et supprime l’inscription 2FA.

Mise à jour — gui update contre gui upgrade

Le panneau est expédié comme le cipi/gui Package Composer, donc les mises à jour sont ordinaires Composer mises à jour et migrations. Deux commandes couvrent les cas courants :

cipi gui update — mise à jour logicielle

Fonctionne composer update cipi/gui, applique les migrations de bases de données et actualise les fichiers compilés thème. Il s'agit du chemin de mise à jour quotidienne.

coup
cipi gui update

cipi gui upgrade - reconstruction complète

Reconstruit le panneau à partir de zéro. Utilisez-le après une version majeure, ou si un environnement a dérivé et qu'un une réinstallation propre du code de l'application est le moyen le plus rapide de revenir à un état correct.

coup
cipi gui upgrade

cipi gui refresh-theme — thème uniquement

Recompile et recharge le thème du panneau sans toucher au code ni à la base de données – pratique après un thème peaufiner.

coup
cipi gui refresh-theme

Opérations

cipi gui status

Signaler l'état actuel du panneau : s'il est installé, son domaine et l'état de santé de son prestations.

coup
cipi gui status

cipi gui fix-permissions

Réparez le PHP-FPM du panneau open_basedir restriction et toutes les autorisations des fichiers d’exécution. Exécutez-le si le panneau commence à générer des erreurs d'autorisation ou de chargement automatique après une mise à jour, y compris le API 500 après cipi gui upgrade / soft update fixed in 5.0.18 (Composer lien symbolique pour cipi/gui à l'extérieur open_basedir).

coup
cipi gui fix-permissions

cipi gui reset-user

Réécrivez l'adresse e-mail, le nom et le mot de passe d'un administrateur et effacez son inscription 2FA : le chemin de récupération quand quelqu'un est en lock-out. reset-password est un alias pour la même commande.

coup
cipi gui reset-user

Retrait du panneau - cipi gui remove

Désinstallez le panneau et son hôte virtuel Nginx, son pool PHP-FPM et son planificateur. Vos serveurs et applications sont intact - le panneau n'est qu'un client du API. uninstall est un pseudonyme, et --force ignore l'invite de confirmation.

coup
cipi gui remove
cipi gui remove --force

Le retrait du panneau est l'expression ultime de son caractère facultatif : désinstallez-le à tout moment et Cipi est retour à un pur CLI, exactement comme avant.

Architecture

Le panneau est un standard Laravel 12 application distribuée sous le nom de cipi/gui package à partir de son propre référentiel (cipi-sh/gui) et installé via un Composer Suivi des entrées VCS dev-main. Il vit à /opt/cipi/gui, en miroir comment le cipi-api le paquet est groupé.

AspectDétail
CadreLaravel 12
Forfaitcipi/gui (API cipi-sh/gui, Composer VCS dev-main)
Chemin d'installation/opt/cipi/gui
Configuration/etc/cipi/gui.json
IsolementAPI-FPM open_basedir limité à /opt/cipi/gui/ et /opt/cipi/cipi-gui/ (depuis 5.0.18)
AuthentificationConnexion à la session + TOTP 2FA en option
EmploisAucun agent de file d'attente local : les tâches asynchrones à distance sont interrogées via chaque serveur géré. cipi api

Comme il ne contient aucun agent de file d'attente local et ne stocke aucun état du serveur, le panneau reste apatride vis-à-vis de votre infrastructure : il s'authentifie auprès du API de chaque serveur, soumet des jobs, et interroge leur statut. Démontez le panneau et reconstruisez-le ailleurs sans toucher un seul serveur géré.

Couverture API

Le GUI consomme la totalité de la surface OpenAPI Cipi API. Conservez le panneau et chaque serveur géré cipi/api courant du paquet (cipi gui update / cipi api update) donc créez des formulaires et des champs de liste correspondant au serveur.

Zone Couverture
Serveur GET /api/status
Applications CRUD, authentification de base, journaux, .env, auth.json, Artisan, commandes d'application (app run); créer accepte engine (mariadb/pgsql) et octane (Cipi, CLI 1.13+); env/auth/run nécessite API 1.14+; lister/afficher exposer octane / octane_port
Déployer la configuration Boutons de déploiement structuré via /api/apps/{name}/deploy-config (API 1.14+)
Alias Lister, ajouter, supprimer
WWW Statut, ajouter une contrepartie, forcer à la racine / forcer à partir de la racine, effacer (www-manage; API 1.12+)
Déployer Déployer, restaurer, déverrouiller
SSL Installez Let's Encrypt, forcez la redirection HTTPS
Bases de données Moteurs + liste (synchronisation) ; créer/supprimer/sauvegarder/restaurer/mot de passe avec facultatifengine (asynchrone ; API 1.12+)
Emplois Statut d'interrogation et sortie CLI
Vous préférez le terminal ? Voir le CLI client pour le même pilote API gestion depuis votre shell, ou le cipi api et Module WHMCS pour l'automatisation. Origine du paquet : cipi-sh/gui.