Lighttpd Cgi Binary Optionen


Lighttpd ist ein sicherer, schneller, kompatibler und sehr flexibler Web-Server, der für leistungsstarke Umgebungen optimiert wurde. Es hat einen sehr geringen Speicherbedarf im Vergleich zu anderen Webservern und kümmert sich um CPU-Last. Das erweiterte Feature-Set (FastCGI, CGI, Auth, Output-Compression, URL-Rewriting und vieles mehr) machen lighttpd die perfekte Webserver-Software für jeden Server, der Ladeprobleme erleidet. Installation Konfiguration Grundlegende Einrichtung Die lighttpd Konfigurationsdatei lautet: etclighttpdlighttpd. conf. Standardmäßig sollte es eine Arbeitstestseite erstellen. Um deine lighttpd. conf auf Bugs zu überprüfen, kannst du diesen Befehl benutzen (hilft bei der Suche nach Fehlkonfigurationen sehr schnell): Eine gründlichere Preflight-Check ist auch verfügbar: Die Standard-Konfigurationsdatei gibt srvhttp als Dokumentverzeichnis an. Um die Installation zu testen, erstellen Sie eine Dummy-Datei: Dann starten Sie den lighttpd. service und zeigen Sie Ihren Browser an localhost. Wo man die Testseite sehen sollte. Beispiel-Konfigurationsdateien sind in usrsharedoclighttpd verfügbar. Grundlegende Protokollierung Lighttpd kann sowohl Fehler als auch Zugriff auf Protokolldateien schreiben. Um beide Logging-Optionen zu aktivieren, editiere etclighttpdlighttpd. conf wie folgt: Aktivieren von https via SSL Warnung: Benutzer, die die Implementierung von SSLTLS planen, sollten wissen, dass einige Variationen und Implementierungen anfällig für Angriffe sind. Weitere Informationen finden Sie im OpenSSL-Artikel. Tipp: Mozilla hat einen SSL-Konfigurationsgenerator, der mit lighttpd verwendet werden kann. Nach dem Einrichten von SSL können Sie Qualys SSL Labs SSL Server Check verwenden, um Ihre Konfiguration zu überprüfen. Selbstsignierte Selbstsignierte SSL-Zertifikate können erstellt werden, vorausgesetzt, dass openssl auf dem System wie folgt installiert ist: Ändern Sie etclighttpdlighttpd. conf, indem Sie die folgenden Zeilen hinzufügen, um https zu aktivieren: Lets Encrypt Alternativ erzeugen Sie ein Zertifikat, das von Lets Encrypt signiert wurde. Nachdem Sie die Anweisung für die manuelle Zertifikatserzeugung befolgt haben, kombinieren Sie die generierten privkey. pem und cert. pem in eine Datei: Bearbeiten Sie etclighttpdlighttpd. conf, indem Sie die folgenden Zeilen hinzufügen: Kennwort zum Schutz eines Verzeichnisses Beachten Sie, dass dieses Modul libmariadbclient installiert werden muss. Eine passwd-Datei, die lighttpds entspricht, die den Systemen entspricht, ist für die Benutzerauthentifizierung erforderlich. Das Setup erfordert ein bestimmtes Format und md5sum Hash-Passwort, aber Benutzer können schnell und einfach einen Eintrag mit dem folgenden als Beispiel: Ändern etclighttpdlighttpd. conf Hinzufügen der folgenden Zeilen, um den Verzeichnis-Schutz zu aktivieren: Hinweis: Der Realm und Benutzer eingegeben in etclighttpdlighttpd. Conf muss mit den in etclighttpdlighttpd. user gewählten Werten übereinstimmen, damit die Authentifizierung funktioniert. Common Gateway Interface (CGI) Scripts arbeiten mit Lighttpd aus der Box, Sie müssen nur das CGI-Modul aktivieren, die Konfigurationsdatei enthalten und sicherstellen, dass Ihr gewählter Programmiersprachen-Interpreter installiert ist. (Dh für python würden Sie python installieren) Erstellen Sie die Datei etclighttpdconf. dcgi. conf Fügen Sie folgendes hinzu: Für PHP-Skripte müssen Sie sicherstellen, dass das folgende in etcphpphp. ini gesetzt ist In Ihrer Lighttpd-Konfigurationsdatei, etclighttpdlighttpd. conf add : Installieren Sie fcgi. Jetzt hast du lighttpd mit fcgi Unterstützung. Wenn es das war, was du wolltest, sind Sie alle eingestellt. Menschen, die Ruby on Rails, PHP oder Python wollen, sollten weitergehen. Anmerkung: Neuer Standardbenutzer und Gruppe: Anstelle der Gruppe niemand lighttpd läuft jetzt als usergroup http standardmäßig. Zuerst kopiere die Beispiel-Konfigurationsdatei Formular usrsharedoclighttpdconfigconf. dfastcgi. conf zu etclighttpdconf. d Die folgenden Bedürfnisse hinzufügen, um die Konfigurationsdatei, etclighttpdconf. dfastcgi. conf Dann in etclighttpdlighttpd. conf. Für PHP oder Ruby on Rails siehe die nächsten Abschnitte. Verwenden von php-cgi Überprüfen Sie, ob php-cgi funktioniert php-cgi --version Wenn Sie einen ähnlichen Ausgang erhalten, dann ist PHP korrekt installiert. Erstellen Sie eine neue Konfigurationsdatei: Machen Sie lighttpd die neue Konfigurationsdatei, indem Sie die folgende Zeile an Ihre lighttpd-Konfigurationsdatei anhängen: Hinweis: Denken Sie daran, dass die Reihenfolge, in der die Module geladen werden, wichtig ist, die korrekte Reihenfolge in usrsharedoclighttpdconfigmodules. conf aufgeführt ist. Hinweis: Wenn du Fehler bekommst wie keine Eingabedatei beim Versuch, auf PHP-Dateien zuzugreifen, gibt es mehrere mögliche Erklärungen. Sehen Sie diese FAQ für weitere Informationen. Stellen Sie sicher, dass kein anderes Modul (z. B. modcgi) versucht, die. php-Erweiterung zu behandeln. Mit php-fpm Es gibt kein adaptives Laichen mehr in den letzten lighttpd Releases. Für die dynamische Verwaltung von PHP-Prozessen können Sie php-fpm installieren und dann php-fpm. service starten und aktivieren. Hinweis: Sie können die Anzahl der Server im Pool konfigurieren und andere Konfigurationsoptionen optimieren, indem Sie die Datei etcphpphp-fpm. conf bearbeiten. Weitere Details zu php-fpm finden Sie auf der php-fpm-Website. Denken Sie daran, dass, wenn Sie Änderungen an etcphpphp. ini vornehmen, müssen Sie php-fpm. service neu starten. In etclighttpdconf. dfastcgi. conf hinzufügen: Ruby on Rails Installieren und konfigurieren Sie FastCGI (siehe FastCGI oben). Folgen Sie den Anweisungen auf RubyOnRails. Python FastCGI Hinweis: lighttpd unterstützt Python WSGI Protokoll: HowToPythonWSGI. Die folgende Methode funktioniert nicht mit Python 3, da die Flup-Bibliothek nur für Python 2 verfügbar ist. Wenn Sie Python 3 verwenden möchten, sollten Sie sich auf den CGI-Abschnitt beziehen. Installieren und konfigurieren Sie FastCGI (siehe FastCGI oben). Setzen Sie die Test. py in die Wurzel Ihres Servers (vergessen Sie nicht, chmod x it) Server-Namen-Anzeige Um SNI mit lighttpd verwenden, legen Sie einfach zusätzliche ssl. pemfile Konfigurationsrichtlinien in Host-Bedingungen. Eine Standard-ssl. pemfile ist noch erforderlich. Umleiten von http-Anfragen an https Sie sollten modredirect in server. modules array in etclighttpdlighttpd. conf hinzufügen. Um alle Hosts auf ihre sicheren Äquivalente umzuleiten, verwenden Sie anstelle der Socket 80-Konfiguration oben: Um alle Hosts für einen Teil der Site umzuleiten (zB secure oder phpmyadmin): Ausgabekomprimierung In etclighttpdlighttpd. conf add Dann das Verzeichnis für komprimierte Dateien erstellen : Kopierbeispiel-Konfigurationsdatei: Füge folgendes in etclighttpdlighttpd. conf hinzu. Hinweis: Sie können dies nicht tun (kopieren Sie compress. conf) und fügen Sie einen benötigten Inhalt in etclighttpdlighttpd. conf stattdessen hinzu. Ich benutze OpenSUSE.10. Ich habe lighttpd (Version 1.4.23) und PHP (Version 5.3.0) gebaut. Dies ist lighttpd Build Kommandozeilen: Das ist PHP-Build-Befehlszeilen: Das ist php, php-cgi - v: Das ist lighttpd. conf: Das ist Kommandozeile, um lighttpd zu starten: Und endlich schafft lighttpd lighttpderror. log: Meine Frage Sind: 1) hat irgendjemandes gelungene Erfahrung beim Starten von lighttpd PHP FastCGI auf Ubuntu oder OpenSUSE 2) warum das Laichen fcgi fehlgeschlagen Ie Ich möchte diese index. php verwenden, um meinen Web-Server zu testen: von lighttpd. conf, lighttpd erfolgreich startet und Firefox zeigt index. html (aber nicht index. php): Danke für die Antworten. Lighttpderror. log sagt genau, dass es ein Problem mit FCGI und PHP Dolmetscher gibt. Ja, Backports sind verfügbar Ionen SUSE oder Ubuntu, aber sie funktionieren auch nicht. Ich denke, es ist das OS-Problem. Ich habe eingebettetes Gerät: Cross-Compiler zu Buils Apps für dieses Gerät: Also habe ich Lighttpd und PHP für MIPS Ziel gebaut, kopiert sie auf dieses Gerät und. Server begann normal zu arbeiten. Ich konnte index. php von Mozilla sehen Ich weiß nicht, warum LighttpdPHP nicht am PC arbeitet. ENTSCHEIDUNG: Ich komme auf das Problem. Ich versuche, lighttpd einzurichten, um binäre CGI App auszuführen (nicht PHP-Skript oder smth, sondern eine Binärdatei, die aus C-Quelle kompiliert wurde). Ich habe eigentlich unkommentiert, habe myApp. exe in htdocsapp. Und auch dann, um alle Sachen Arbeit durch den Zugriff, sagen, localhost: 8080appmyApp. exepaamp. Ich musste eine leere myApp. exe in lighttpd root Ordner (wo die Server exe ist). Es ist eigentlich seltsam und saugt, und auch nicht alle CGIs können so arbeiten. Die Anwendung dieser Aktionen auf eine andere CGI App (die perfekt auf richtig abgestimmten Apache funktioniert) gab keinen Erfolg. Was mache ich falsch gefragt 5. Oktober 10 um 10:46 Die docs: redmine. lighttpdwiki1Docs: ModCGI Ive hat einen Test mit einem tcl-Skript als cgi gemacht und das war meine Arbeitskonfiguration: Mit dem cgi. assign können Sie Dateierweiterungen angeben Gehandhabt durch spezifische Anwendungen. Dieses Beispiel bedeutet: Jeder Dateityp wird über usrbintclsh geöffnet. Da meine Indexdatei ein tcl-Skript ist, bekomme ich den Inhalt, den ich durch die Skripte STDOUT gelegt habe. Falls Sie eine binäre ausführbare Datei ausführen möchten, ist dies der richtige Ort, um sie anzugeben. Vielleicht bietet dieser Link noch mehr Infos über Binärcgi für dich: redmine. lighttpdissues1256 antwortete am 4. November um 13:43 Uhr

Comments

Popular Posts