souhaitant permettre au maximum de monde d’avoir un serveur chez soi, sans pour autant être rempli de connaissances, j’ai commencé à écrire un script dans ce sens (voir la capture d’écran qui va bien)
Les services qui peuvent actuellement être installés sont :
Un serveur http pour votre site web. https et php disponibles
Un serveur sftp pour partager les fichiers
Un serveur de courriel (bye bye gmail)
Installation de squirrelmail
Cependant, j’aurais besoin de vos conseils, vous qui êtes bien plus avertis que moi dans ce domaine. Je vous invite donc à tester ce script, à vérifier les fichiers de configuration utilisés…
Tous les conseils, rapports de bogues et suggestions pour améliorer la sécurité du serveur sont les bienvenus.
Pour bash je ne suis pas sûr, je croyais qu’il fallait au contraire laisser /bin/sh pour plus de portabilité?
Pour les variables non protégées, tu as sans doute raison. Cela dit, ce sont des variables qui normalement ne doivent pas contenir d’espace (nom de domaine)
Je pense aussi que [mono].sh[/mono] est plus “portable”, bien que pour mes scripts perso, j’utilise [mono].bash[/mono], mais je suis seul à m’en servir.
Pour moi soit il faudrait créer une distribution de Debian (avec les outils de Debian live par exemple), soit créer un paquet.
L’un est vraiment simple pour l’utilisateur (pratique pour les tests).
L’autre est vraiment génial d’un point de vu pérennité et souplesse (découverte d’une faille dans la configuration d’un logiciel ? Mise à jour du paquet => tout le monde en profite rapidement; finalement pas envie de continuer l’aventure ? apt-get purge du paquet tous les paquets qui ont étaient installé par le jeu des dépendances partent avec (pratique pour les tests); finalement je me suis trompé dans mes réponses à certaines question ? dpkg-reconfigure et c’est partie (pratique pour les tests); packaging simple => tu as un seul fichier qui contient tous les fichiers de configuration séparés).
Mais ce n’est que mon humble point de vu. Je suis vraiment désolé de casser un peu le truc, je ne voudrais pas casser ta dynamique.
Note : que je dis tout ça sans avoir lu ton script encore.
Moi je trouve que c’est pas mal comme script. Quand on voit le nombre de personnes qui ont des difficultés pour configurer un serveur de mail par exemple, dans la section “support” du forum.
L’idée de créer une distribution existe déjà, c’est YUnohost si je ne me trompe pas. C’est en effet une excellent idée, mais 2 points me dérangent dans cette démarche :
- Cela oblige à créer une image par architecture (armhf, i386…). Un script n’est pas aussi restrictif.
- La distribution est livrée en bloc. J’étais un peu gêné d’imposer les programmes. Par exemple, squirrelmail demande beaucoup moins de ressources que roundcube. J’aimerais pouvoir proposer les 2, chacun choisit celui qu’il préfère ou peut faire tourner
L’idée du paquet requiert tout simplement des compétences que je n’ai pas actuellement.
- De plus, pour le peu que j’en sais, cela demanderait aussi de créer des scripts de configuration et d’installation pour chacun des services proposés. De ce côté là, cela reviendrait un peu au même.
- Pour reconfigurer si on s’est trompé, tel qu’est le script actuellement, il suffit de le relancer, on repart d’une configuration vierge par défaut.
- Il n’est pas exclu que certains service qui seront disponibles à l’installation ne sont pas forcément empaquetés (owncloud par exemple)
[quote=“Misterfreez”]Je suis vraiment désolé de casser un peu le truc, je ne voudrais pas casser ta dynamique.[/quote]Aucun souci. Le projet n’est pas figé, c’est intéressant à tout point de vue.
EDIT : je vais lire le patch, merci @ggoodluck47 : Ce n’est pas la première fois que l’on me parle de défauts utf-8, et à chaque fois c’est lorsque j’édite les fichiers avec vim. Il me manquerait quelque chose dans mon [mono]~/.vimrc[/mono]? Pour contribuer, ne te gêne pas, le dépot mercurial est en accès public (et c’est tout aussi pratique qu’un wiki pour développer)
Merci!
Tu as essayé plusieurs fois? Mon serveur n’est pas non plus une flèche hein, il a pu mal répondre la première fois
J’ai vu que tu as retiré l’écoute sur le 80 lorsque je propose http et https. Une raison particulière? Car là tu forces l’utilisation de https en fait, cela revient à https seul. EDIT Je n’ai rien dit, c’est très bien comme ça. Il faut juste que je change la description.
[quote=« thuban »]Merci!
Tu as essayé plusieurs fois? Mon serveur n’est pas non plus une flèche hein, il a pu mal répondre la première fois
Ne pas oublier de faire [mono]hg pull && hg update[/mono] pour éviter d’écraser les modifications faites entre temps [/quote]
c’est sans doute pour ça que ça ne marchait pas
il y aura qques petites optimisations à faire (mais ce n’est pas le plus important dans l’immédiat)
par exemple, la forme [mono]HOSTNAME=« $(<$tmpfile) »[/mono] remplace avantageusement celle-ci [mono]HOSTNAME=« $(cat $tmpfile) »[/mono]
(attention à ne pas se tromper de sens pour le < )
Je ne connaissais pas ces raccourcis. C’est chouette j’en apprend du coup!
Mais on ne risque pas de faire trop de “bashisme”?
Au risque de me répéter, il y a beaucoup plus compétent que moi pour faire ce genre de chose : vous.
Ne pas oublier de rajouter votre petit nom à la liste des b personnes ayant participé au script[/b] (voir le fichier AUTHORS lorsque vous réalisez un “commit”)
Quand tu fait du C, tu as peur de faire trop de C-isme ?
Voila un patch : paste.isalo.org/151 (c’est quoi cette histoire d’interdire certaines extensions dans les fichiers join ? comme si ça changeait quelque chose)
Ce que je veux dire, c’est qu’il faut garder le script lisible par tous.
Certes, il est optimisé en utilisant certaines syntaxes propres à bash, mais il ne faut pas perdre de vue qu’un maximum de monde devrait pouvoir comprendre le script.
Merci pour ton patch, il y a vraiment des idées très chouettes c’est super. Je le rajoute ce soir ou demain selon le temps dont je dispose après le boulot (à moins que tu fasses le commit toi même entre temps )