Je suis en train d'essayer de trouver la meilleure façon de configurer de manière robuste des webapps sur mon serveur Arch Linux + nginx. La façon dont je le faisais avant était de télécharger et de décompresser par exemple la dernière version de dokuwiki/wordpress dans /srv/http/
, puis de le configurer manuellement en éditant les fichiers de configuration à cet emplacement, après avoir changé la propriété du répertoire à l'utilisateur nginx
. À chaque nouvelle version d'une webapp (sans mécanisme de mise à jour intégré) qui sortait, je répétais la procédure, tout en déplaçant les fichiers de configuration/données existants de l'ancien emplacement au nouvel emplacement.
Cependant, il doit sûrement y avoir une meilleure façon de maintenir (installer, mettre à jour, sauvegarder) ces webapps, surtout en considérant que pacman
en a beaucoup dans ses dépôts.
J'ai quelques préoccupations avec cette approche, cependant, et quelques questions concernant les bonnes pratiques pour la maintenance des webapps sur un serveur :
- les fichiers installés à partir de paquets dans Arch ont tendance à aller dans
/usr/share/webapps/
. Et que faire des fichiers de données / de configuration ? Est-ce que je les mets là-dedans aussi ? Ou est-ce que je les lie symboliquement d'une certaine manière ? Est-ce que je copie automatiquement les applications de là vers/srv/http
après chaque mise à jour ? - en supposant que je lie symboliquement ces répertoires ou configure nginx pour lire directement à partir de ceux-ci, que se passe-t-il avec les autorisations ? Devrai-je exécuter manuellement
chown -R root:nginx /usr/share/webapps/new_webapp
après chaque mise à jour/installation ? Ou leurs propriétés sont-elles automatiquement définies sur un groupewww
? - enfin, que faire des fichiers de configuration de ces webapps lorsque leurs paquets sont mis à jour ? Ne seront-ils pas écrasés (dans le pire des cas) par
pacman
ou des tonnes de fichiers.pacnew
seront-ils créés (dans le meilleur des cas) ?
Comment les webmasters résolvent-ils normalement ce problème ? Quelles ressources existent pour décrire les bonnes pratiques en la matière ? J'utilise déjà puppet pour gérer la configuration de divers paquets, mais une façon "propre" et facile à entretenir d'installer des webapps me semble encore échapper.