AH ! Un menu indispensable pour les webmasters
20 mar. 2010
Par Strider - Linux - Lien permanent
Ou comment écrire un programme utile en 100 lignes de Python.
AH pour Apache Helper et non Apache Helicopter est un menu et permettant de réaliser les opérations les plus courantes sur ses sites web.
Le programme utilise AppIndicator ce qui fait qu'il sera directement utilisable sur une distribution récente telle que Lucid Lynx. Je laisse la migration du programme vers un plus classique gtk.StatusIcon comme exercice pour le lecteur ;)
Voici a quoi ressemble AH, il dispose des fonctionnalités suivantes :
- édition de son fichier /etc/hosts
- redémarrer Apache
- changer le propriétaire de tous les fichiers servis par Apache à l'utilisateur www-data
- ouvrir le répertoire d'un site dans son navigateur de fichiers
- ouvrir un site dans son navigateur web
- inspecter les logs d'erreur
- nettoyer les logs d'erreur
- éditer le fichier de configuration du vhost
Il y a quelques prérequis afin de profiter pleinement de cette application. Vous devez disposer du script permsite qui va modifier la permission des fichiers. Si ce n'est pas déjà fait, ajoutez vous au groupe www-data. Il faut aussi changer le chemin vers ce script qui est pour l'instant codé en dur dans l'application (os.system("xterm /home/strider/bin/permsite")).
Vous pouvez télécharger ah et apprécier le gain de temps pour l'administration de votre serveur de développement :)
Le programme étant sous GPL V3, vous devez évidemment me faire par des améliorations que vous apporterez au programme. Si vous n'avez pas les compétences requises en Python pour améliorer vous même le script, laissez une demande de fonctionnalité dans les commentaire et si elle est pertinente, je me ferai une joie de l'implémenter :)
Commentaires
Quel est l'intérêt ?
Sur un serveur, on évite de mettre quelconque surcouche graphique avant d'éviter d'alourdir le système.
De plus, je suppose qu'il n'est pas capable de se connecter à un serveur distant via SSH (à la vue du script "permsite").
De plus, si la personne a déjà un serveur Apache configuré et installé, elle sait l'administrer un minimum.
Cependant, il faut attendre la version finale avant de se faire une réelle idée.
davromaniakUne petite précision sur la GPL : il n'est obligatoire de faire part des améliorations que si on redistribue le programme. Si je modifie le programme pour mon usage personnel, et que je ne le distribue à personne dans cette version modifiée, je peux garder les modifications pour moi.
AurélienL'intéret est pour les développeurs. Bien sur que sur un serveur on n'a pas d'interface graphique mais un webmaster a toujours un serveur apache local pour le développement.
Ceci dit, j'avais aussi pensé a permettre l'administration par SSH mais ce sera un peu plus complexe a mettre en place que le script actuel.
A noter que si je ne savais pas administrer un minimum un serveur Apache, je n'aurai surement pas réussi a écrire ce programme ;)
Et pour info, ceci *est* la version finale :P
Enfin, vu ton commentaire et ton blog, il est évident que tu raisonne comme un sysadmin et pas comme un développeur, moi c'est l'inverse. Il est normal que ce programme ne t'intéresse pas ;)
@Aurélien : oui je sais c'était une plaisanterie ;)
striderStrider, je n'avais pas compris ton programme avait pour objectif d'aider à avoir un serveur Apache en local, ce qui est totalement logique dans ce cas.
Je n'ai pas fait de critiques concernant tes connaissances en administration Apache, car vu les fonctionnalités, il faut avoir de bonnes connaissances.
@+
davromaniakJe suis du même avis que davromaniak, quand il dit que ça serait bien si ça pouvait interagir à distance.
Faire un clique depuis son panel pour redémarrer un serveur apache qui est autre part que en localhost ou en local serait super, mais forcement plus complexe à coder.
Pour une future version ... ;)
Xun
XunC'est vrai que ce serait bien pratique de pouvoir contrôler ses sites distant avec quelques clics.
Si l'utilisateur possède sr le serveur distant les permissions nécessaires (groupes www-data et adm) ça ne devrais pas être trop compliqué a mettre en place, ce qui va être le plus long c'est de coder les préférences pour gérer plusieurs serveurs.
J'ai déjà apporté quelques améliorations avec l'ajout de a2ensite et a2dissite a partir du menu.
striderSuper initiative, merci :-)
Oncle TomThanks a lot for sharing! The post is very interesting. I haven't known that it fullfills so many functions.
Torrent SE