-
Commande linux
Bonjour à tous, je travail sur un intranet qui utilise php et apache.
Je souhaite exécuter certaine commande particulière avec php, je veux dire par la que je dois modifier certain fichier.
Bon en faites, je souhaite pouvoir éditer le fichier de configuration d'apache via php, le fichier qui contient mes virtualhosts.
Je pense que c'est possible avec shell_exec mais sans certitude sachant que je doit être en mode ROOT.
Ou et comment définir le login afin de faire la commande ? et surtout puis je exécuter d'autres commande du style relancer apache et les DNS.
Je précise que c'est uniquement disponible en local sur notre réseau.
-
Regarde plutôt du coté de proc_open() pour avoir du pipelining (et donc pouvoir changer de user). Il me semble qu'il y a des bons exemples dans la doc et/ou dans les commentaires de la doc
-
-
Oui effectivement c'est une idée.
J'ai regardé du coté de la fonction proposé plus haut mais je ne comprend pas trop :oops:
L'idée de base est bien sur un script qui édite le fichier virtualhost.conf associé à httpd.conf d'apache.
Bon il faut tout d'abord que le script ouvre le fichier dans par exemple un textarea en me donnant les droits sur le fichier via sudo + pass login auto (direct dans le code).
Une fois éditer et enregistrer, il faut exécuter une commande linux pour relancé apache.
Bref c'est à peu près sa.
PS: Le serveur est sous fedora :mrgreen:
Une idée pour me mettre sur la voie car je rame un peu (me faut une barrette mdr)
-
Salut,
je sais pas si tu as résolu ton problème, j'avais le même genre de question que toi au niveau de la lecture/écriture d'un fichier de configuration (dont le propriétaire est root) avec l'utilisateur www-data.
=> http://www.developpez.net/forums/d77...onfigurations/
En espérant que ça t'aides ;).
++
Sliim
-
merci je vais jeter un oeil à tout sa, faut dire ce genre de fonction sont inconnue à mes yeux.
Mais ceci peut il aussi executer des commandes pour jptran et optipng ???
Car j'aimerai travailler en plus sur ce système, mais avant je vais essayer sur apache.
Mais ou dois on mettre le mots de passe pour sudo ??
Dans le terminal on dois entrer sont passe donc je suppose que c'est pareille ici
-
Nop, c'est pour cela qu'il faut modifier le fichier /etc/sudoers.
Cela permet à www-data (ou un autre user) de se connecter en root sans avoir besoin de spécifier son mot de passe.
Pour jptran et optipng désolé mais je ne connais pas du tout donc je ne peux pas t'aider :lol:
++
Sliim
-
merci,
je suppose que l'on peu modifier /etc/sudoers avec nano
Notre serveur interne est sous fédora et faut dire les chemins peuvent différé mais je ne sais pas pour sudoers
-
Hmm je ne suis pas sur que l'on puisse modifier sudoers avec nano. Pour modifier ce fichier, il y a l'utilitaire visudo qui est fait exprès ;). Normalement si tu as sudo d'installé sur la machine tu as visudo ;).
Après je ne connais pas la distrib fedora donc c'est peut être différent ...
Juste une chose, si tu ne trouves pas le fichier /etc/sudoers c'est que probablement sudo n'est pas installé sur ta machine. Moi su ma debian il m'a fallu l'installer via apt-get install sudo. Sous fedora je ne sais pas si cela fonctionne de la même manière (avec apt).
Bonne chance
++
Sliim