Quickstart
Un site tout neuf sur n'importe quel serveur Debian/Ubuntu, sans prérequis, en une commande :
curl -fsSL https://chinaski.net/install | sudo bash -s -- 1 --repo https://github.com/bigjohncobb/chinaski Remplacez 1 par un nom d'instance : n'importe quoi d'alphanumérique (2, prod, staging, le nom d'un client). Chaque instance est son propre site isolé avec sa propre base de données ; en exécuter plusieurs à la fois est normal. Le script n'exige aucune configuration préalable et se termine en moins de cinq minutes.
Ce que fait le script
Il gère tout lui-même :
- installe les paquets système requis et les dépendances Perl (depuis des paquets Debian pré-construits, pas de compilation C)
- crée un utilisateur système dédié
chinaski - clone le code, initialise la base de données, écrit le fichier env
- démarre le service systemd
Une fois terminé, pointez un navigateur vers l'administration et continuez via /setup : changez le mot de passe administrateur (au moins 12 caractères, majuscules et minuscules plus un chiffre), réglez l'URL du site et choisissez vos langues. Votre premier site est prêt à être édité ; le build arrive quand vous le cliquez.
Liste de contrôle du premier jour
Vérifiez ceci avant d'envoyer du trafic réel :
- L'administration est liée au loopback. Un contrôle de socket en écoute doit montrer
127.0.0.1:300<N>, jamais0.0.0.0, les visiteurs ne doivent pas atteindre le CMS directement depuis l'extérieur. - Certificat TLS émis. Le Caddyfile d'exemple installé par instance lit votre DNS et renouvelle les certificats Let's Encrypt ; vérifiez
curl -I https://<host>une fois que le DNS et les ports 80/443 se résolvent et répondent. - Les sauvegardes sont programmées. Un instantané quotidien automatique de la base de données plus les médias s'exécute à 03:17 ; vérifiez que le temporisateur systemd est activé, et que le répertoire de sauvegarde est en mode 700 et appartient à l'utilisateur du service. Si vous éditez le planning d'horloge à la main, confirmez que
systemctl list-timersmontre une prochaine exécution ; une coquille fait que le temporisateur saute silencieusement. - Signalez
/healthà votre superviseur. Le point de terminaison de santé du CMS renvoie un rapport JSON agrégé ({"status":"ok|warning|critical", timestamp, total_checks, checks[]}) avec HTTP 503 seulement quand un contrôle critique échoue. (Le Chinaski Manager séparé a son propre/healthrenvoyantstatus/uptime/db/workers/pidsur le port du plan de contrôle.) - Fuseau horaire : réglez-le depuis les réglages /admin. Les plannings utilisent le fuseau du site ; les noms de fuseaux mal orthographés retombent sur UTC à l'enregistrement ; vérifiez-le, puis gardez toutes vos entrées programmées correctes.
Deux variables d'environnement comptent dans /etc/chinaski<N>/env (mode 0600) : CHINASKI_SECRET (la clé aléatoire de signature de session de 32 octets ou plus) et LISTEN_URL, qui doit pointer vers le loopback en production. Les chemins de base de données et de sortie sont dérivés du nom d'instance par l'unité ; vous n'avez généralement pas besoin de les surcharger.
Autres voies pour faire tourner Chinaski
- Premier lancement entièrement hors ligne : un script d'installation peut être utilisé sur une machine sans Internet en préparant d'abord un bundle : exécutez
bash install/make-bundle.shsur une machine connectée, ce qui produit une archive contenant le code source de l'application, toutes les archives des modules Perl, uncpanmfourni, et le script d'installation plus un fichier de somme de contrôle. Après avoir copié vers la machine cible et désarchivé, exécutezsudo bash install.sh: tout s'installe sans accès Internet. Sur les cartes ARM ( Raspberry Pi), installez explicitement les bibliothèques d'images (libjpeg,libpng,libgif), sinon l'outillage d'images échoue à compiler. - Exécution sans systemd : désarchivez et exécutez
sudo bash install.sh --no-service(optionnellement--prefix /srv/chinaski), puis démarrez via le hypnotoad fourni ; l'administration répond àhttp://<host-ip>:8080/admin. Le fichier env contient déjà le secret et le mode air-gap. - HTTP simple, pour toujours : là où aucun DNS et aucune autorité de certificat n'existeront jamais, hypnotoad peut servir directement en HTTP : aucun certificat à acquérir, renouveler ou faire expirer.
Que se passe-t-il ensuite
La première visite de l'administration redirige vers /setup ; une fois le mot de passe de remplacement remplacé, cette page disparaît (elle renvoie 404). De là, la boucle quotidienne éditer → builder → servir (voir *How It Works*) prend le relais, et si vous perdez un jour le mot de passe administrateur, perl bin/reset-admin.pl vous remet dans ce même état de configuration.