Automatiser la configuration WERC sur OpenBSD.
Les scripts setup.sh et unsetup.sh , dans leur dernière version disponible (v2.1), ont été testés avec succès sur la dernière version stable OpenBSD disponible (7.6). Les versions antérieures ou ultérieures d'OpenBSD peuvent ne pas fonctionner.
La réalisation d'une mise à niveau de version OpenBSD (par exemple en utilisant SySupgrade (8)) peut briser l'installation de WERC actuelle. Il est conseillé de toujours tester votre installation WERC après avoir effectué une mise à niveau du système, une mise à jour WERC ou une mise à jour Plan9port. S'il cesse de fonctionner, dirigez-vous vers le dépannage.
Pour l'instant, l'installation résultant de setup.sh n'a été testée qu'avec des demandes GET , qu'il prend en charge à coup sûr. D'autres types de demandes HTTP peuvent fonctionner ou non (par exemple, la fonction "Login utilisateur"). Les règles basées sur URL dans /etc/httpd.conf ( location ... ) peuvent avoir besoin d'une configuration différente pour prendre en charge les demandes HTTP autres que GET .
Un engagement tagué avec le nom de la balise du formulaire vN.M (où N et M sont des entiers), est un engagement dont l'arborescence fonctionnelle a les caractéristiques suivantes:
setup.sh et unsetup.sh , testés contre la dernière version stable OpenBSD (disponible à ce moment-là) avec un résultat positif et aucun effet secondaire connu sur le système.Étant donné que le processus de test est manuel, je peux ignorer certains cas de bord, parfois exprès et parfois non. Je me soucie de la qualité de mon logiciel, mais tester chaque ligne contre tous ses cas de bord possible prend vraiment du temps et non durable.
(Déménagé sur rat.md.)
Remarque : Pour préserver les fichiers de configuration d'origine qui vont être modifiés, le script de configuration les soutient en ajoutant .bk à la fin de leur nom. Par exemple, le contenu original de /etc/httpd.conf est copié sur /etc/httpd.conf.bk . Pour restaurer les fichiers d'origine, le script Unseptup renommée les fichiers de sauvegarde avec leur nom d'origine, remplaçant la version modifiée.
Dans la liste suivante, $webdir et $p9pdir se réfèrent respectivement au répertoire de contenu Web de httpd , par défaut /var/www , et le répertoire d'installation de Plan9port avec $webdir en tant que root, par défaut /plan9 .
/etc/httpd.conf.bk et /etc/fstab.bk existent déjà dans le système de fichiers de votre machine? Si c'est le cas, setup.sh les écrasera probablement, envisagez de les renommer ou de les retirer.$webdir qui ne peuvent pas être perdus? Le script de configuration crée de nouveaux fichiers dans $webdir qui peuvent écraser ceux existants tandis que le script Unseptup supprime certains répertoires qui peuvent supprimer ces fichiers. Envisagez de déplacer des fichiers importants à partir de $webdir .setup.sh à nouveau, ni à l'exécution unsetup.sh , ne va pas le réparer. (Si c'est le cas, vous avez juste de la chance.) Selon la commande (s) de commande (s) et le type d'erreur, vous pourrez peut-être réparer manuellement l'installation par vous-même. Cependant, ce n'est pas toujours le cas et c'est une procédure sujette aux erreurs, il n'est donc pas du tout conseillé. La procédure suivante télécharge les scripts à l'aide de la dernière balise de version. La dernière balise indiquée dans l'URL ci-dessous est mise à jour manuellement, veuillez vérifier qu'elle correspond à la dernière version réelle avant de continuer. Il n'est pas recommandé (du tout) d'exécuter des scripts de la branche main .
La procédure suivante fait référence au script de configuration ( setup.sh ). Pour le script non settup ( unsetup.sh ), la procédure est la même à l'exception du nom du script.
La procédure est la suivante, écrite à la fois par étapes lisibles par l'homme et comme commandes:
domain (et webdir , si nécessaire) à volonté.ftp https://raw.githubusercontent.com/EdoardoLaGreca/werc-on-openbsd/v2.1/setup.sh
sha256 -q setup.sh
vi setup.sh # change domain and webdir
chmod 744 setup.sh
doas ./setup.sh Le script de configuration ne démarre pas automatiquement httpd et slowcgi . Cela se comporte comme ça pour deux raisons: premièrement, vous voudrez peut-être apporter des modifications finales à votre site Web avant de l'afficher publiquement; Deuxièmement, si /etc/fstab a été modifié par le script, vous devez redémarrer votre système avant de démarrer le serveur Web. Le script doit afficher un message de journal si vous devez redémarrer (et / ou /etc/fstab a été modifié). L'absence d'un tel message dans le journal signifie que le redémarrage n'est pas nécessaire. Tout cela ne s'applique pas à unsetup.sh .
Au lieu d'exécuter l'intégralité du script, on peut vouloir exécuter une seule ou certaines pièces pour, par exemple, déboguer le script ou exécuter à nouveau une pièce qui n'a pas pu se terminer avec succès. Pour ce faire, c'est aussi simple que de passer les noms de pièce au script comme des arguments. Un exemple est illustré ci-dessous.
./setup.sh preinst inst Bien que la ligne ci-dessus utilise setup.sh , unsetup.sh se comporte également de cette manière.
Il est bon à garder les logiciels à jour, à la fois pour recevoir de nouvelles fonctionnalités et pour corriger les vulnérabilités existantes.
Lors de l'utilisation de WERC, 4 pièces de logiciels doivent être tenues à jour:
httpd et slowcgi ) À moins que vous n'utilisiez la branche -current d'OpenBSD, httpd et slowcgi sont généralement mises à jour sur chaque mise à niveau du système. Ils sont assez sûrs et minimalistes, donc les tenir à jour n'est pas essentiel. Ces programmes font partie de l'arbre source d'OpenBSD qui contient l'ensemble du système d'exploitation, y compris son noyau, ses bibliothèques essentielles et tous les services publics préinstallés. Tous les logiciels de cet arbre source subissent de graves audits de sécurité, c'est pourquoi ils sont si sécurisés.
D'un autre côté, il est important de garder WERC et Plan9port à jour. Pour ce faire, exécutez les lignes suivantes dans la coquille. Ils suppriment les installations WERC et Plan9port existantes, téléchargent leur version mise à jour et les installent à nouveau.
doas ./unsetup.sh uninst rm9env
doas ./setup.sh inst mk9envSauf si vous souhaitez contribuer au développement, sautez cette section.
Un script de test, à savoir test.sh , automatise les tests des scripts de configuration et d'intérêt. Le script de test contient trois fonctions principales:
init , qui exécute toutes les tâches préliminairessetup , qui exécute le script de configuration et collecte des informations sur les modifications du système de fichiersunsetup , qui est la même que setup mais avec le script UnseptupLe comportement du script de test est similaire à celui des scripts de configuration et d'intérêt: les fonctions peuvent être appelées en les spécifiant en arguments de ligne de commande. Cependant, il y a une petite différence, à savoir que l'exécution du script sans arguments n'est pas différente de ne pas exécuter le script du tout. Ce comportement est un choix qui, en théorie, devrait réduire les tests imprudents.
Il peut arriver qu'après la mise à niveau d'OpenBSD, votre site Web cesse de fonctionner et affiche uniquement "500 erreurs de serveur interne".
Bien que la raison exacte de ce comportement soit soigneusement analysé et compris, vous pouvez essayer de désinstaller et de réinstaller Werc et Plan9port. La procédure est la même que si vous deviez les mettre à jour.
doas ./unsetup.sh uninst rm9env
doas ./setup.sh inst mk9envCes sommes de contrôle sont calculées sur l'arbre fonctionnel de la dernière version.
setup.sh:
7a08ee3a8e824f9a54b9a471ef0ebc6fb7ee2a848f13a33264b42a3e9d8817da
unsetup.sh:
18f74da2537dc4dcc97c3fc6d4439faf6340f068309d9110a5dc098b899c3e50
À partir de la v2.0, le projet est désormais autorisé sous la licence ISC, au lieu de Creative Commons Zero. La plupart des choses ne changent pas, sauf pour donner aux utilisateurs et aux contributeurs plus de droits.