php plesk shell script ausführen.

tomtom

Registered User
:) Hallo...

ich wollte per php eine subdomain anlegen,

nur bekomme ich das plesk shell script nicht per php ausgeführt. :mad:


Ich hab nen Suse Vserver mit Plesk 8.1

safe_mode Off über die vhost.conf
und dann hab ich per WinSCP in /etc/sudoers.tmp

www-data ALL=(ALL) NOPASSWD: /usr/local/psa/bin/subdomain.sh


eingefügt, und wollte mit


PHP:
echo "Executing:[br]";
echo "Result: ".shell_exec("sudo /usr/local/psa/bin/subdomain.sh -create aswert -domain domain.tld -ftp_user native -login 23231234ert -passwd SWERT1234ert -hard_quota 50 -ssi false -php true -cgi true -perl false -phyton true")."[br]";

eine Subdomain anlegen.

aber es wird keine subdoamin angelegt.. es kommt auch keine Fehlermeldung.

Im kann man das shell skript nur als root ausführen.. ?
Mach ich was falsch?
Wie könnte man das denn sonst Lösen?


Hat da vielleicht wer ein paar Ideen?

THX
 
gute idee.. hab mal die datei

erstellt server ist am rebooten..


im log steht

Code:
h: /usr/local/psa/bin/subdomain.sh: Permission denied

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

Password:
Password:
Password:
sh: /usr/local/psa/bin/subdomain.sh: Permission denied
sh: /usr/local/psa/bin/subdomain.sh: Permission denied
sh: /usr/local/psa/bin/subdomain.sh: Permission denied
sh: /usr/local/psa/bin/subdomain.sh: Permission denied
sh: /usr/local/psa/bin/subdomain.sh: Permission denied
sh: /usr/local/psa/bin/subdomain.sh: Permission denied
sh: /usr/local/psa/bin/subdomain.sh: Permission denied
[Sun May 13 23:23:31 2007] [notice] caught SIGTERM, shutting down
[Sun May 13 23:23:34 2007] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Sun May 13 23:23:34 2007] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun May 13 23:23:34 2007] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun May 13 23:23:34 2007] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun May 13 23:23:34 2007] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec2)
[Sun May 13 23:23:35 2007] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun May 13 23:23:35 2007] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun May 13 23:23:35 2007] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun May 13 23:23:35 2007] [notice] mod_python: Creating 10 session mutexes based on 10 max processes and 0 max threads.
[Sun May 13 23:23:35 2007] [notice] Apache/2.0.54 (Linux/SUSE) configured -- resuming normal operations
sh: /usr/local/psa/bin/subdomain.sh: Permission denied
sh: /usr/local/psa/bin/subdomain.sh: Permission denied
sh: /usr/local/psa/bin/subdomain.sh: Permission denied
Password:
sh: root: command not found
Password:
Password:


Könnte es sein, dass man das shell script nur als root ausführen klann?
 
nu steht im log nur noch

password:

nach dem ich mal das sudo gegen root + pw getauscht habe steht da

sh: root: command not found

und ohne root + pw

sh: /usr/local/psa/bin/subdomain.sh: Permission denied
 
Schau dir einmal die Manpages von sudo an. Mit dem folgenden Aufruf sollte es klappen: "/usr/bin/sudo -u root -p pass ..."

Jedoch würde ich dir sehr stark davon abraten, so einen Aufruf in deinem PHP Script zu verwenden. Ich würde dir eher vorschlagen die Daten in eine Datei zu schreiben und dann per Cron ein kleines Script aufrufen, welches die Daten in Plesk einpflegt.
 
An die Crontabs hab ich auch schon mal gedacht.. wollte es aber mal so probieren um den spass an der sache mal zu haben .. Aber ist nicht so einfach :)

hab in der /etc/sudoers jetzt den richtigen Benutzer eingetragen, auf dem der webserver läuft.

wwwrun localhost=NOPASSWD:/usr/local/psa/bin/subdomain.sh
root ALL = (wwwrun) /usr/local/psa/bin/subdomain.sh


kommt aber immer steht immer noch >> password: << im log..




das mit dem:
/usr/bin/sudo -u root -p pass


hab ich nicht ganz verstanden, hab aber damit herrum probiert und hat auch noch nichts gebracht.

...
 
Was hast du denn daran nicht verstanden?

PHP:
shell_exec("/usr/bin/sudo -u root -p DEIN_ROOT_PASS /usr/local/psa/bin/subdomain.sh -create aswert -domain domain.tld -ftp_user native -login 23231234ert -passwd SWERT1234ert -hard_quota 50 -ssi false -php true -cgi true -perl false -phyton true")

PS: Schau dir auch noch diesen Link hier an, speziell Punkt 3.2.
 
Ok.. dann habe ich es doch verstanden. :-)

Wenn ich das jedoch so mache, wird in der „error_log“ Datei das Password geschrieben was ich hinter –p eintrage.
Die Subdomain wird auch nicht angelegt.
Irgendetwas stimmt da noch nicht.

Sorry für die Schreibweise…
 
Back
Top