Installation hors ligne
Comment faire fonctionner Chinaski sur une machine qui ne peut pas (ou ne doit pas) atteindre internet.
Sur une machine connectée : fabriquer le bundle
Le dépôt fournit un créateur de bundle :
bash install/make-bundle.sh Cela produit un tar.gz contenant le code source de l'application, chaque tarball de module CPAN, un installeur de modules fourni et le script d'installation, avec un fichier de somme de contrôle .sha256 à côté, pour que le transfert USB puisse être vérifié. (La vérification d'intégrité est le but du fichier ; vérifiez avant le transfert.)
Sur la machine cible : installer sans internet
Deux prérequis stricts et une mise en garde :
- Les paquets système (perl, make, gcc, sqlite3, et les trois bibliothèques de dev d'images + openssl et cpanminus pour l'installeur) doivent exister sur la cible ou être fournis depuis un miroir local / un ensemble de .deb pré-téléchargés.
- Sur les cartes ARM, veillez à installer explicitement ces bibliothèques d'images, sinon le module de traitement d'images ne compilera pas.
Puis :
tar -xzf chinaski-<commit>.tar.gz
sudo bash install.sh # standard install: creates the chinaski system user, installs the systemd unit, initializes the database L'installeur installe les modules CPAN strictement depuis le bundle : « aucune connexion sortante n'est effectuée ». Il écrit le fichier d'environnement pour vous, avec un secret de session généré et le mode air-gap actif, de sorte que l'application installée est sûre hors ligne dès le premier démarrage. Deux options : --no-service saute systemd (pratique pour les configurations rapides sur un seul serveur), et --prefix /srv/chinaski choisit un répertoire d'installation.
Le lancer immédiatement
Sans systemd : sourcez le fichier env généré, export PERL5LIB=./local/lib/perl5, lancez le hypnotoad fourni sur l'application, l'administration sera à host:8080. Avec systemd : activez l'unité chinaski@<instance> comme sur une installation normale.
Ce qu'il faut retenir
- Le bundle transporte aussi vos scripts d'installation et fichiers par instance, de sorte que les machines cibles n'ont jamais besoin de contacter le dépôt pour quoi que ce soit au moment de l'installation.
- Chaque déploiement est par instance : le même schéma d'installation par tarball est ce qu'une « seconde instance » utilise sur le même hôte hors ligne.