ispConfig 3 cgi-bin, FTP Schreibrecht & phpmyadmin probleme

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
 

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.
 

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/...
 

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?
 

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
 

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
 

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
 

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.
 

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:

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
 

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
 

Werbung

Top