PHP fastCGI und PHP system+exec befehle

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von olli, 29. Sep. 2010.

  1. olli

    olli New Member

    hallo,
    ich benutze ISPconfig3 im fastCGI-PHP modus.

    kann mir jemand sagen, wie ich dort am ehesten php-system und php-exec befehle absetzen kann in einem web-verzeichnis?

    im moment scheint es an der open basedir restriction zu klemmen. ich habe versucht /usr/bin zu dem open basedir pfad hinzuzufügen, aber das brachte nicht den gewünschten erfolg.

    muß ich ggf. eine andere PHP-betriebsmodi wählen, um system() oder exec() benutzen zu können?

    viele grüße und danke
     
  2. Till

    Till Administrator

    open_basedir wird meines Wissens nach beim exec nicht überprüft. Wie lautet denn die genaue Fehlermeldung die Du beim exec in der Webseite und im error.log erhältsts?
     
  3. olli

    olli New Member

    hallo till,

    danke, dass du dich meines problems annimmst.

    ich erhalte folgende meldung:

    Code:
    /bin/tar: /var/www/clients/client4/web4/web: Cannot savedir: Permission denied
    /bin/tar: Error exit delayed from previous errors
    
    das komische ist: wenn ich diesen befehl direkt auf der konsole absetze, dann funktioniert er. es muß also irgendeine PHP-einstellung sein und das script ist auch schon auf einem älteren server installiert gewesen und dort gelaufen.

    es handelt sich dabei um ein kleines backupscript, welches definierte verzeichnisse, versehen mit einem zeitstempel, in einer tar-datei ablegt.

    hast du noch eine idee?

    safe_mode ist ja bei ISPconfig3 generell "off" bzw. nicht gesetzt, richtig?

    lieben dank
     
  4. Till

    Till Administrator

    Laut der Fehlermeldung hat tar keine Schreibrechte in dem Verzeichnis wo Du das tar.gz erstellen willst.

    1) Wie ist denn der genaue tar Befehl, den Du aufrufts?
    2) Hast Du auch suexec aktiviert? Ohne suxece gibt es keine Schreibrechte im web.
     
  5. olli

    olli New Member

    /usr/sbin/suexec -V gibt mir das:

    -D AP_DOC_ROOT="/var/www"
    -D AP_GID_MIN=100
    -D AP_HTTPD_USER="apache"
    -D AP_LOG_EXEC="/var/log/httpd/suexec.log"
    -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
    -D AP_UID_MIN=500
    -D AP_USERDIR_SUFFIX="public_html"

    hilft dir das weiter?

    der befehl lautet (eingekleidet in system() ):
    Code:
    nice -n 19 /bin/tar -pczPf /var/www/clients/client4/web4/web/modules/backup/html/29.09.2010_20_Uhr_35.tgz /var/www/clients/client4/web4/web --exclude=/var/www/clients/client4/web4/web/modules/backup/*
    1000 dank und schönen abend
     
  6. Till

    Till Administrator

    Es geht darum ob Du suexec in der webseite aktiviert hast oder nicht. Ruf bitte die Webseiteneinstellungen in ispconfig auf und kontrollier ob Du die suexec checkbox aktiviert hast.

    Außerdem poste bitte aml die Ausgabe von:

    ls -la /var/www/clients/client4/web4/web/modules/backup/html
     
  7. olli

    olli New Member

    oh sorry, es war nicht aktiviert...

    bitte nicht schlagen... ich hab' es wirklich übersehen bei der seite.

    dank' dir trotzdem für diesen spitzen-support!

    viele grüße aus schleswig-holstein und einen schönen abend
     
  8. olli

    olli New Member

    hi till,

    also irgendwie ist immer noch der wurm drin. ich dachte das wäre es mit dem anhaken von suexec. ledier führte das immer noch nicht zum erfolg.

    ich benutze für dieses web fast-cgi und suexec ist angehakt.
    leider kann ich per PHP immer noch keine exec() funktionen absetzen.

    die logdateien sehen unspektakulär aus.
    hast du vielleicht noch eine idee?

    danke & gruß
     
  9. Till

    Till Administrator

    Was genau rufst Du per exec auf und welche Fehlermeldung erhältst Du?
     

Diese Seite empfehlen