ispConfig 3 cgi-bin, FTP Schreibrecht & phpmyadmin probleme

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von donald, 14. Aug. 2009.

  1. donald

    donald New Member

    hallo leute wir setzen zum ersten mal einen ispconfig 3 auf und alles klappt super nur noch drei probleme / wünsche sind übrig geblieben

    1. Cgi skripte lassen sich nicht ausführen auf der suche nach lösungen habe ich ein logg file mit jedem schritt geführt. ich kopiere mal diese da rein damit ihr nachvollziehen könnt was ich schon ausprobiert hab

    Logfile/schritte:
    -meine-webseite.de test-cgiscript(datetime.cgi) in cgi-bin ordner laden. (web/cgi-bin)
    -http://www.meine-webseite.de/cgi-bin/datetime.cgi
    -Fehlermeldung: You don't have permission to access /cgi-bin/ on this server.

    -Leserechte der datetime.cgi dateiändern auf 775 und 777 brachte keine resultate / nun eingestellt auf 755
    da das vom datetime programmierer empfohlen ist.

    -Versuch ob andere datein in ordner aufrufbar sind hat geklappt (images/bild.jpg) an den allgemeinen
    ordner/lese rechten liegts daher nicht.

    -erstelle nun eine einfache seite aus den tags html, body und script in welchen die datei aufgerufen wird
    -lade sie per ftp rauf und stelle die lese rechte auf 755
    -fehlermeldung You don't have permission to access /cgi-bin/date.html on this server.

    -Versuche ein bild aus dem cgi-bin ordner zu aufrufen /leserecht 777
    -Fehlermeldung: You don't have permission to access /cgi-bin/bild.jpg on this server.
    -Bild gelöscht

    offenbar kann ich nichts aus dem ordner web/cgi-bin/aufrufen

    ich verscuhte einen anderen weg:
    -----------------------------------
    aufklärung verscheidene phpModi

    CGI:

    PHP als Modul des Apache nutzt – wie andere Scriptsprachen auch (beispielsweise Perl oder ASP) – das CGI,
    um Anfragen an einen Webserver zu senden und das Ergebnis an den Client zurück zu schicken. Für jede Anfrage
    muss dabei ein neuer Prozess angelegt werden, der nach der abgeschlossenen Bearbeitung des Scripts wieder beendet
    wird. Das Problem dabei ist, dass das Starten und Initialisieren sehr viel länger dauert als das eigentliche
    Ausführen des Scripts – es entsteht also ein großer Overhead.

    Fast-CGI:

    FastCGI kann dabei helfen diesen angesprochenen Overhead massiv zu verringern (ganz eliminieren nicht, aber dazu
    später mehr). FastCGI kann man sich als große Endlos-Schleife vorstellen, die ständig auf Requests wartet.
    Der Prozess läuft also ständig und ist sofort einsatzbereit, wenn eine Anfrage an den Server ankommt.

    Mod_PHP:

    Die am häufigsten genutzte Möglichkeit, PHP in den Apache zu integrieren, ist wohl mod_php. Vorteile sind hier die
    extrem einfache Konfiguration und die sehr gute Performance. Allerdings hat mod_php auch mindestens einen gravierenden
    Nachteil. Es führt sämtliche PHP-Scripte als User des Apache aus.
    Ein weiterer Nachteil ist, dass PHP nicht threadsafe ist, und somit nicht mit dem apache2-mpm-worker benutzt werden kann,
    sondern nur mit dem apache2-mpm-prefork, wodurch man eine wesentliche Erneuerung/Verbesserung des Apache2 verliert.

    SuPHP:

    Viele Server-Administratoren benutzen deshalb PHP-CGI in Verbindung mit mod_suphp. Der Vorteil ist, dass hierbei die PHP
    Dateien immer mit dem User ausgeführt werden, dem die Dateien auch gehören.Der Nachteil von dieser Kombination ist
    aber, dass bei jedem PHP-Request das PHP-Binary neu gestartet werden muss. [...]
    -----------------------------------

    -stelle daher die webseite auf Suphp nur um sicher zu gehen, dass durch die ständige ausführung der cgi(fast-cgi) nicht der andere cgi
    geblockt wird.

    -http://www.meine-webseite.de/cgi-bin/date.html aufgerufen klappt nicht
    -warte einige minuten um ein server delay auszuschliessen
    -leider kein resultat stelle seite auf fast cgi zurück

    ==============================================

    logfile fertig

    warum kann ich keine cgi skripte ausführen wenn ich neue seiten anlege?

    2. Wenn etwas per FTP draufgeladen wird hat es immer die standard berechtigung 644 kann mann das auf automatische 755 stellen?

    3a..datenbanken erstellen und phpmyadmin ist kein problem wenn ich den server/phpmyadmin aufrufe ist alles da. aber ist das auch möglich mit webseite und dann irgendwie phpmyadmin in der url?

    3b. kann ich irgendwo einstellen das der kunde seine datenbanken selber anlegen kann und die z.b. auf 5DB/kunde beschränken?
    wenn ja wie?


    mfg & Danke im voraus
     
  2. Till

    Till Administrator

    1) Der cgi-bin Folder ist nicht im web folder sondern ein bestender Folder auf der gleichen Ebene. Mit PHP hat das alles nichts zu tun.

    2) Kannst Du in der Konfigurationsdatei des FTP Programms einstellen, in diesem Fall pure-ftp

    3a) Kannst Du z.B. mit apache rewrite Rules machen.
    3b) Das kannst Du bei den Einstellungen des Kunden machen, wie alle anderen Limits auch.
     
  3. donald

    donald New Member

    1. wie soll ich das aufrufen?

    http://server/srv/www/clients/client2/web2/cgi-bin/date.html?

    kommt die gleiche meldung

    2. wie meinst du im z.b. filezila oder im ftp system des linux?

    3a. hast du ein tutorial?
    3.b. danke habs nun gesehen ich wollte das bei der seite einstellen.

    p.s. priorität hat aber das cgi skript. wie kann ich herausfinden ob das cgi skript funkt?
     
  4. Quest

    Quest Member

    2: Er meint die Konfigurationsdatei des FTP-Servers, der sich auf deiner Linuxkiste im Verzeichnis /etc befindet, vermutlich noch in einem Unterordner names 'pureftpd' oder so.

    3a:
    Trage das hier in die Apache Direktiven des Kunden ein:
    Code:
    Alias /phpmyadmin /pfad/zu/phpmyadmin
    Den zweiten Pfad musst du durch den genauen Pfad zu deinem PHPMyAdmin-Verzeichnis ersetzen. den weiß ich nicht auswendig. Liegt glaub ich irgendwo unter /usr/share/...
     
  5. donald

    donald New Member

    Danke sehr werds mal austetsten aber das hauptproblem ist im moment das cgi skript. wir sollten heute eine webseite aufschalten aber das können wir nicht ohne cgi-skripte

    hat jemand eine idee?
     
  6. donald

    donald New Member

    ok der aktuelle stand

    -test.cgi erstellt mit inhalt

    #!/usr/bin/perl
    print "cgi funktioniert";

    -in ftp ordner cgi-bin geladen
    -kopiere die url der datei (--> ftp://server/cgi-bin/test.cgi)in den browser; ergebnis:


    #!/usr/bin/perl
    print "cgi funktioniert";

    ändere die kopierte url von ftp auf http ergebniss:
    Forbidden

    You don't have permission to access /cgi-bin/test.cgi on this server.
    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
    Apache/2.2.10 (Linux/SUSE) Server at server Port 80

    CHood ändern bringt keine ergebnisse
    :S
     
  7. Burge

    Burge Member

    Hat die Seite das recht cgi scripte auszuführen?
     
  8. donald

    donald New Member

    Sites -> webseite -> Domain -> CGI häcken an

    wenn du das meinst dann ja
     
  9. Burge

    Burge Member

    mhm ok mehr fällt mir auch nicht ein
     
  10. Till

    Till Administrator

    Schau ins error log der Webseite, wenn Du wissen möchtest wo der Fehler liegt.
     
  11. donald

    donald New Member

    wo wäre der genau?
     
  12. Till

    Till Administrator

    Im log Verzeichnis der Webseite. Schau Dir mal die Unterverzeichnisse Deines Webs an, da gibt ves nur ein Verzeichnis mit dem Namen und darin auch nure eine Datei mit dem Namen error.log
     
  13. donald

    donald New Member

    naja das problem ist ich hab folgenden ordner

    cgi-bin
    ssl
    tmp
    web
    -error
    -stats

    und im error ordner befinden sich nur html fehelerseiten hmmm :S
    und das die datei niocht versteckt ist darauf habe ich auch geschaut
     
  14. Burge

    Burge Member

    schau mal /var/log/ispconfig/httpd/ und da name deine seite nach dem log.
    Dann fehlt dir der symlink in das verzeichniss des webs.
     
  15. donald

    donald New Member

    hey danke habs gefunden.

    nun die fehlermeldung
    [Mon Aug 17 14:46:21 2009] [error] [client ip.ip.ip.ip] client denied by server configuration: /srv/www/clients/client2/web2/cgi-bin/test.cgi
     
    Zuletzt bearbeitet: 28. Aug. 2009
  16. Till

    Till Administrator

    Poste mal die Ausgabe von:

    ls -la /srv/www/clients/client2/web2/cgi-bin/test.cgi
     
  17. donald

    donald New Member

    -rwxr-xr-x 1 web2 client2 42 Aug 17 14:36 ls -la /srv/www/clients/client2/web2/cgi-bin/test.cgi
     
  18. Till

    Till Administrator

  19. donald

    donald New Member

    ja ist so. ich hab auch mal extra ein schreibfehler reingemacht /cgi-bin/tet.cgi und es kommt die gleiche fehlermeldung.

    kann dass auc mit den server einstellungen zu tun haben? yast oder weiss ich was. die installation ist von howtoforge - also das iso da sollte ja eigentlich alles ok sein
     
  20. donald

    donald New Member

    hallo leute ich bins wieder. leider funktioniert es immer noch nicht. wir habens mit dem vmware image von debian, ubuntu, opensuse und letzte stable version von ubuntu getestet. klappt immer noch nicht. bei sites ist cgi und susexec aktiviert bei server webserver, fileserver und dbserver. irgendetwas machen wir falsch. nur was?

    p.s. liegt es villeicht an dem script selbst?

    #!/usr/bin/perl
    print "cgi funktioniert";

    wobei auch html dokumente und bilder sind aus dem ordner nicht mehr aufrufbar und es kommt wieder die forbidden meldung
     

Diese Seite empfehlen