Freetz & Webserver mit PHP und Perl ?

DarioBerlin

Neuer User
Mitglied seit
10 Aug 2008
Beiträge
90
Punkte für Reaktionen
0
Punkte
6
Hallo !

Nachdem ich jetzt 1 1/2 Wochen versucht habe auf meine mit Freetz gemoddete FritzBox 7170 einen Apache Webserver
zu installieren, habe ich das heute aufgegeben und den Apache mal versucht mit Hilfe der Original Firmware zu installieren.

Siehe da, das ging ganz schnell und problemlos. :)

Ich möchte allerdings einen Webserver mit PHP und Perl sowie Webtransmission laufen lassen.

Kann mir also jemand sagen, ob es da vielleicht eine Alternative gibt,
ein PHP / Perl Webserver, der vielleicht schon bei den Freetz Modulen bei ist ?


Danke,
gruß Dario
 
Zuletzt bearbeitet:
Da frag ich mich, wie du 1,5 Wochen lang was versucht hast, ohne weiterzukommen. Wo lag denn dein Problem? Denn zumindest ist Apache/PHP eine altbekannte Mischung, die imho auf der Box gut läuft. Etwas langsam nach meinem Geschmack ,das allerdings liegt an der Box....
 
Ja, hab halt alle möglichen Freetzes und alle möglichen Apache's in allen möglichen Varianten ausprobiert.
Aber immer dasselbe. Das scheint es mit dem PHP Pfad nicht hingehauen zu haben.

Eigentlich komisch, weil man in den Freetzes ja beides hat, den Apache, sowie den Transmission. Geht aber nicht. :(
Vielleicht liegts aber auch am installiertem Vsftp ? Hab keine Ahnung.
 
Zuletzt bearbeitet:
Ich hab letzte Woche lighttpd (by mehle) eingecheckt.

MfG Oliver
 
Ich hab das bisher nicht getestet mit Apache und PHP, aber ich hab bei einigen hier im Forum gesehen, dass es läuft. Es gibt auch einige Threads dazu. Von daher funktioniert es prinzipiell mit php und freetz und dem indianer.

Es wäre also wahrscheinlich einfacher, wenn du damit noch einmal anfängs.t Klar, Olivers vorgeschlagenes lighttpd mit php geht auch.
 
Du, ich mach das grad nochmal um Dir genau zu sagen wo das Problem liegt, bzw. wie die Fehlermeldung war.
Von daher, mach ich es grad nochmal. Aber ich bin mir sicher, daß das Problem irgendwo im Freetz liegt, nicht bei mir.


Schau mir dann auch gleich noch den lighttpd von Oli & Mehle an. Vielleicht geht das ja dann besser. :)


EDIT:

So, jetzt hab ich es wieder ! Der Apache an sich läuft, HTML Seiten können dargestellt werden.
Beim Aufruf der phpinfo im Hauptroot, also http://fritz.box:85/phpinfo.php wird mir folgendes gesagt:

Code:
Forbidden
You don't have permission to access /cgi-bin/php/phpinfo.php on this server.


Er leitet also an das cgi-bin/php/ weiter, das steht so in der apache.conf. Das ganze klappt ja auch ohne Freetz.
Mit Freetz allerdings nicht und jetzt hatte ich zum testen wirklich nur den Apache im Freetz ausgewählt.

Wenn ich das in der apache.conf ändere, wird mir was gesagt von wegen Server Misconfiguration etc...
Probiert hab ich das jetzt mit dem neuesten Trunk, aber wie gesagt, hab schon alle probiert. :(
 
Zuletzt bearbeitet:
Was sagen denn die Logfiles des Apache? Hast du da die Verbosity hochgedreht? Welce Rechte hat /cgi-bin/php/? Wo liegt /cgi-bin/php/? Welche Rechte hat /cgi-bin/php/phpinfo.php? ... ... ...
 
Hab jetzt nochmal die Zugriffsrechte überprüft und stimmt, die Datei php im Ordner cgi-bin war nicht ausreichend privilegiert !

Jetzt klappt das schon mal mit dem php, wenn auch sendmail nicht ausgeführt wird. :)
Danke für den Tipp ! Aber Perl will aber immer noch nicht. Beim Aufruf der sysinfo.cgi kommt die Fehlermeldung:

Code:
Internal Server Error
The server encountered an internal error or misconfiguration...

In der error.log steht folgendes:

Code:
[Thu Feb 12 11:15:40 2009] [error] (2)No such file or directory: exec of /var/media/ftp/uStor01/apache/cgi-bin/sysinfo.cgi failed
[Thu Feb 12 11:15:40 2009] [error] [client 85.178.96.29] Premature end of script headers: /var/media/ftp/uStor01/apache/cgi-bin/sysinfo.cgi

Habs mit 2 verschiedenen Scripten versucht, beide sind recht einfach aufgebaut und auf jeden Fall vorhanden.
Wenn ich dort die Rechte auf 644 belasse, schimpft er wegen fehlender Rechte ! :(
 
Wenn ich dort die Rechte auf 644 belasse, schimpft er wegen fehlender Rechte

Du schreibst das so, als würdest Du Dich darüber wundern.

Dies ist das Freetz Forum, hier geht es um Freetz und wie man etliche Programme auf eine FritzBox bringen kann.

Thema dieses Forums sind weder Linux/UNIX Grundlagen (Execute Rechte von Dateien), noch die Konfiguration eines Apache Servers (dazu gibt es Unmengen an Informationen anderweitig, angefangen auf der Webseite von Apache), noch um das Schreiben von CGI-Skripten in Perlin Verbindung mit Apache.
 
Ralf, natürlich wundere ich mich wenn mir einmal gesagt wird, daß ich nicht genügend Rechte hab um auf die Datei zuzugreifen und
andererseits dann aber wieder die Rede davon ist, daß es diese Datei gar nicht gibt. ;)

Ich denke, ein Apache auf einer FritzBox ist schon was besonderes und hebt sich von dem ab, was normal bei einer
Webserver Konfiguration geht. Davon mal abgesehen, daß diese Box mit Freetz gemoddetet ist und einiges voneinander abhängt.

Aber danke für den Hinweis ! :rolleyes:
Hast Du vielleicht auch was konstruktives beizutragen ?
 
war das nicht konstruktiv genug? (Execute Rechte Bit)

X X X - Read, Write, Execute

1 1 0 = 6 = RW
1 0 0 = 4 = R
1 0 0 = 4 = R
 
Das weiß ich Cando. Wie ich dem Ralf schon mal geschrieben hatte.

Vielleicht weißt du ja aber, warum ich einen Internal Server Error bekomme, wenn ich die Rechte dementsprechend vergebe ?

Das wär konstruktiv ! Danke.
 
Also, Linux-Basics lehren wir hier nicht. Das ist ja grausam. Dafür gibt es so viele Webseiten und Bücher, an so viel gesammeltes Basiswissen kommen wir hier im Forum gar nicht dran.

"premature end of script headers" ist ein reichlich aussagekräftiger Name, finde ich in Verbindung mit PHP. Danach googlen - in Verbindung mit Apache und PHP - bringt unmengen an Resultaten. Wenn du da nichts gefunden hast, dann frag doch noch einmal hier.
 
Wie ich schon geschrieben hatte, gehört die ganze Frage nicht hierher. Deine vermuteten Unterschiede zwischen Apache auf normalem Linux und und auf der Box könntest Du ja mal testen, indem Du eine Konfiguration auf einem normalen System zum Laufen bringst. Wenn Du dann mit einer Frage kommst in der Art "Konfiguration X läuft auf meinem PC, aber nicht auf meiner Box, warum?", dann kann man nach Gründen dafür suchen.

Das wär konstruktiv

Das war konstruktiv.

Du hast es nur nicht erkannt, bzw. beschlossen, darüber hinwegzusehen. In den Klammern habe ich die die entsprechenden Hinweise gegeben (Execute Rechte, Apache Dokumentation). Wenn Du jetzt erwartest, daß Dir alles vorgekaut wird, vielleicht findet sich jemand.

Aber selbst wenn dem so wäre, würde es Dir vermutlich nicht viel nützen. Die Konfiguration eines Apache Servers ist eine umfangreiche Angelegenheit, und Du würdest vermutlich von einer Frage zur nächsten stolpern.
 
Die Konfiguration eines Apache Servers ist eine umfangreiche Angelegenheit, und Du würdest vermutlich von einer Frage zur nächsten stolpern.

Das tue ich seit einigen Wochen. Und es geht auch vorwärts. Aber einem Newbie mit Informationen die nichts bringen überschütten

halte ich persönlich nicht für das richtige, weil damit quälst Du einen nur.

Statt viel um nichts zu reden, wärs vielleicht besser
diese 2 Wörter in Klammern weiter auszuführen. Und glaub mir, ich hab schon gesucht danach aber wenn es kaum
brauchbare HowTos gibt und die, welche es können sich nicht klar sagen was geht, wird es noch einigen gehen wie mir.

Aber schön, daß du mehr weißt, du bist DER Held Ralf ! ;)
 
Hier die Erklärung zu Deinem Fehler. Diesen und andere Tipps erhätst Du hier.

What does it mean when my CGIs fail with "Premature end of script headers"?

It means just what it says: the server was expecting a complete set of HTTP headers (one or more followed by a blank line), and didn't get them.

The most common cause of this problem is the script dying before sending the complete set of headers, or possibly any at all, to the server. To see if this is the case, try running the script standalone from an interactive session, rather than as a script under the server. If you get error messages, this is almost certainly the cause of the "premature end of script headers" message. Even if the CGI runs fine from the command line, remember that the environment and permissions may be different when running under the web server. The CGI can only access resources allowed for the User and Group specified in your Apache configuration. In addition, the environment will not be the same as the one provided on the command line, but it can be adjusted using the directives provided by mod_env.

The second most common cause of this (aside from people not outputting the required headers at all) is a result of an interaction with Perl's output buffering. To make Perl flush its buffers after each output statement, insert the following statements around the print or write statements that send your HTTP headers:

{
local ($oldbar) = $|;
$cfh = select (STDOUT);
$| = 1;
#
# print your HTTP headers here
#
$| = $oldbar;
select ($cfh);
}

This is generally only necessary when you are calling external programs from your script that send output to stdout, or if there will be a long delay between the time the headers are sent and the actual content starts being emitted. To maximize performance, you should turn buffer-flushing back off (with $| = 0 or the equivalent) after the statements that send the headers, as displayed above.

If your script isn't written in Perl, do the equivalent thing for whatever language you are using (e.g., for C, call fflush() after writing the headers).

Another cause for the "premature end of script headers" message are the RLimitCPU and RLimitMEM directives. You may get the message if the CGI script was killed due to a resource limit.

In addition, a configuration problem in suEXEC, mod_perl, or another third party module can often interfere with the execution of your CGI and cause the "premature end of script headers" message.
 
Aber einem Newbie mit Informationen die nichts bringen überschütten halte ich persönlich nicht für das richtige, weil damit quälst Du einen nur.

Das kann ich natürlich nicht mit meinem Gewissen vereinbaren.

Da ich nicht weiß, welche Informationen Dir etwas bringen und welche nicht, werde ich mich sicherheitshalber in Zukunft mit Informationen Dir gegenüber zurückhalten.
 
Also, als kleinen Hinweis noch einmal: Freetz ist nicht Apache, Freetz ist ein Framework, wasd dir Apache relativ frei konfigurierbar auf deine Box bringt. Wie Pfade asuzusehen haben auf der Box findest du im Wiki (auch die 1 oder 2 Besonderheiten dabei), wie Apache funktioniert, findest du auf der entsprechenden Webseite. www.apache.org ist ein guter Anlaufpunkt.
Deine Fehler sind per google hervorragend nachzuvollziehen und in Ordnung zu bringen. Wie ich schon schrieb ist "premature end of script headers" weit verbreitet, und eine Erklärung dazu findest du auch hier.
Linux-Datei- und Verzeichnisrechte gehören zum Standard-Know-How für hier. WEnn du das nicht lernen willst oder kannst, dann solltest du dir einen fähigen Administrator besorgen, der das für dich tut, bzw. bereits getan hat.
Der Apache läuft bei dir, das Problem ist es nicht. Wenn du die Command-line nutzt, und "php -i" eingibst, was passiert dann? Bekommst du da reihenweise Ausgaben über dein Environment? Ich schon. Somit ist PHP funktionstüchtig, und Apache auch. Freetz hat seinen Dienst getan. Der REst ist schlicht eine Konfigurationssache.
Und in diese kannst du dich einlesen, wie schon angemerkt.
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,300
Beiträge
2,249,713
Mitglieder
373,904
Neuestes Mitglied
Elemir
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.