Redémarrage d'Apache avec www-data

bonjour à tous,

je suis actuellement en train de créer un script php permettant de créer des sous domaines en local
ex : Mon domaine initial est maison.tld et grâce à ce script, je peux (presque) créer chambre.maison.tld, cuisine .maison.tld …
En fait ce n’est rien d’autre qu’une création de dossier dans /var/www/maison, création de fichiers chambre ou cuisine dans /etc/apache2/site-available contenant des virtualhost. Il manque juste la partie a2ensite chambre et /etc/init.d/apache2 restart que je n’arrive pas à faire executer par le user www-data.

J’ai pioché un peu partout sur le net mais je n’ai abouti à aucune solution de concrète :

  • Edition de visudo avec quelque chose du genre
    www-data ALL=NOPASSWD:/etc/init.d/apache2 reload, NOPASSWD:/usr/sbin/a2ensite
  • Création d’un shell avec chmod 0777
    #!/bin/sh
    a2ensite $1
    /etc/init.d/apache2 reload

Promis, ce n’est pas mon genre de demander de l’aide a tout va sur les forums mais là je suis vraiment au point mort …

Merci d’avance pour vos réponses qui j’espère seront efficaces :slightly_smiling:

La on va peut-etre me prendre pour un noob …

Moi je fais :

Demarrage automatique d’apache au demarrage ;
je le fais en root.

  • En root !!! Vous aller me dire
  • Mais si on penetre dans ton system tes mort !!!
    Oué je sais mais comment on le redemarre en www-data alors ?! …

Même problème que Krakoukass :stuck_out_tongue:

[quote=“Krakoukass”]- Edition de visudo avec quelque chose du genre
www-data ALL=NOPASSWD:/etc/init.d/apache2 reload, NOPASSWD:/usr/sbin/a2ensite

  • Création d’un shell avec chmod 0777
    #!/bin/sh
    a2ensite $1
    /etc/init.d/apache2 reload[/quote]

Tu n’étais plus très loin de la solution. Dans ton sudoer simplement:

Et dans ton script:

#!/bin/sh sudo a2ensite $1 sudo /etc/init.d/apache2 reload

:wink:

Arf oui effectivement, j’étais pas loin :slightly_smiling:

Merci beaucoup pour votre aide les amis et longue vie a Tux ^^