http2 einrichten unter Apache (Suse Leap15)

Hinweis: In dem Thema http2 einrichten unter Apache (Suse Leap15) gibt es 5 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Ich habe das Forum nach http2 abgesucht, war echt erstaunt nichts zu finden.


    Also ich will http2 auf meinen Webserver einrichten, dort läuft schon eine Webseite mit SSL.


    Im Netz habe ich eine super einfache Anleitung* gefunden:
    sudo zypper install apache2-eventAlle notwendige Konfiguration kann anschließend in der Datei /etc/sysconfig/apache2 vorgenommen werden:

    • Das korrekte MPM auswählen: APACHE_MPM=event.
    • Das HTTP2-Module durch hinzufügen von http2 zum Wert von APACHE_MODULES aktivieren.
    • Den Wert HTTP2 zu APACHE_SERVER_FLAGS um die von openSUSE mitgelieferte Konfiguration für HTTP/2 zu aktivieren.

    Ab dem nächsten, per systemctl restart apache2 durchführbaren, Neustart ist der Server dann per HTTP/2 zu erreichen.


    Aber irgendwie will mein Apache nicht mit event zusammen arbeiten.
    Sobald ich die Zeile einfüge:
    APACHE_MPM=event + Apache neustarte book Apache


    Job for apache2.service failed because the control process exited with error code.
    See "systemctl status apache2.service" and "journalctl -xe" for details.



    Muss da noch was installieren?


    Betr. Leap15


    *Quelle
    HTTP/2 im Apache auf openSUSE - Marix.org

    Einmal editiert, zuletzt von neptun ()

    Für den Inhalt des Beitrages 132089 haftet ausdrücklich der jeweilige Autor: neptun

  • Was sprechen den nun die Logs?
    (Was ergibt der vorgeschlagene journalctl Befehl?)


    Warum willst du das?


    Wenn eh schon ein Apache läuft, warum fummelst du dran rum?
    Was willst du wirklich?

  • wenn ich
    APACHE_MPM=event+rcapache restart
    meldet das Log:
    Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe.You need to recompile PHP


    irgendwie gibt es Problemmit php7


    im Netz habe ich daher auch folgendes* gefunden: (Debian 9 / Ubuntu )


    Zuerst muss Mod-PHP deaktiviert werden:
    a2dismod php7.0


    Deaktivieren von mpm_prefork:
    a2dismod mpm_prefork


    Danach aktivieren wir mpm_eventa2enmod mpm_event


    Und starten den Webserver neu:


    systemctl restart apache2


    Das funktioniert in der Tat, aber ohne php7 kein Webserver. es sei man hat nur html Seiten


    wahrschlich musst Apache auf FastCGI umgestellt werden,


    dazu habe ich eine weitere Anleitung gefunden:


    OpenSuse Leap 15: Apache 2, PHP FPM, HTTP2, ImageMagick – WapplerSystems


    ich werde es heute mal aufeinen Testserver testen.
    Wenn jemand eine bessere Idee hat würde ich mich freuen hier zu schreiben.


    "Warum willst du das?"


    Das habe ich vor 3 Jahren auch mit SSL gehört, nun geht es nicht mehr ohne.
    http2 bieten nun mal so viele Vorteile, und gogole schieß sich langsam drauf ein.


    Siehe:
    Ist HTTP/2 gut für Suchmaschinenoptimierung - SEO Blog



    *Aktivieren von mpm-event unter Apache 2.4.x und Debian 9 / Ubuntu 18.04 - g00v3R's Blog

    3 Mal editiert, zuletzt von neptun ()

    Für den Inhalt des Beitrages 132100 haftet ausdrücklich der jeweilige Autor: neptun

  • Dir fehlen offensichtlich alle Grundlagen selbst für so antiquierte Webserver, wie Apache.


    Welches WSGI hinter einem Webserver werkelt hat absolut gar nichts damit zu tun, ob man HTTP2 entsetzt, oder nicht.
    HTTP2 ist ein reines Übertragungsprotokoll.
    Dort kann der Webserver viele Requests in einen Stream bündeln. Die Zeiten, als man für jede einzelne Ressource einen Request feueren musste, sind damit vorbei und der Bruttodurchsatz höher.
    Mit deinem PHP Gedöns hat das nichts zu tun.


    Das schaltest du -falls es nicht längst läuft, was du mit a2enmod -l nachgucken kanst- mit einem schlichten a2enmod https ein.
    Das ist alles. Das reicht.


    Die Welt der Webserver ist auch erheblich größer, als du dir das vorstellen kannst.
    Ich setze nur Python für Websites ein. PHP wird auf keinem Server installiert. Jedenfalls nicht freiwillig und selbst unter Zwang weigere ich mich konstant.
    Da gibt es gleich drei hochleistungsfähige WSGIs. Ich bevorzuge uWSGI.
    Und bevor der Krempel überhaupt im Backend aufschlägt (was noch weit vor den dahinter liegenden Postgres DBs ist) schaufelt noch ein memchahed die meisten Requests weg.. Und das alles durchgehen TLS verschlüsselt bis zu den DBs, eh klar. Samt Websockets.
    Das ist nur ein kleiner Einblick in die Webserverei mit Python.


    Es gäbe dann noch Java, Go, Lua und, und, und....


    Es ist also schlicht falsch zu glauben, ohne PHP wäre ein Website rein statisch.
    Eher im Gegenteil: PHP stammt aus der Websteinzeit und wird sich -wie ich meine- nicht halten.
    Dass es noch weit verbreitet ist, liegt lediglich daran, dass es viele Lösungen gibt, weil es eben Hinz&Kunz einsetzt/eingesetzt hat.
    Es ist veraltet und fehlerträchtig. Und viel zu unflexibel, als dass man damit heute noch einen Blumentopf gewinnen könnte.
    In Zeiten von node.js längst überholt. wie ich meine.


    Ich stelle also meine Frage erneut:
    Was bezweckst du mit dem Rumgepfriemel am SGI?
    Welche PHP Zoffware möchte warum welchen Arbeitsmodus? Es kann einem PHP Script erst mal völlig egal sein, ob das multithreaded läuft, oder nicht.
    Das sind Fragen der Performanceoptimierung. Die hängen garantiert nicht davon ab, welches Programm im Hintergrund welche (Teil)Seite zusammenbaut.
    Und wenn doch ist dieses Script lediglich ein großer Programmierfehler.
    (Das wäre immerhin typisch PHP. Dort finden sich tatsächlich viele solcher Katastrophen)
    Falls ich mich recht entsinne (ich setzte schon lange keinen Apache mehr ein, und PHP sowieso nicht),
    ist in der Standardinstallation von openSUSE sowieso das schnellere fcgi Dingens per Default am Start.
    Guck erst mal nach. (Evtl. in einer sauberen noch nicht verhauten Installation)


    Außerdem solltest du dir abgewöhnen irgendwelche Debian Rezepte auf openSUSE anwenden zu wollen.
    Das kann man schon machen. Aber nur, wenn man beide Systeme halbwegs gut kennt.


    Das Verlinken deiner Anleitungen kannst du dir sparen. Es ist unsinnig zu glauben, dass sich das jemand antut, um dir zu helfen. Poste statt dessen die Befehle, die du eingegeben hast samt deren Output. Das würde konkret helfen. Und das dann bitte in Code-Tags, damit man es auch anständig lesen kann.

  • Mit a2enmod https meinst du wohl a2enmod http2?


    mit a2enmod -lerscheint auch http2


    Soweit war ich auch schon, starte ich Apache neue bleibt alles beim alten.
    weil Apache nicht auf den eventAPACHE_MPM=event zugreift, so meine vermutung
    Suse installeirt in der Standardversion das normale Apache,FastCG ist nicht installiert.


    Ob man nun PHP mag oder nicht ist eine Glaubensschachte, wenn ich sagen ich will
    alle unsere Webprojekte umstellen bekommt unser Chef einen Anfall.


    Ich finde PHP nur in Verbindung mit Typo3, WP & co schlecht, wir Programmeren aber hier alles selber.

    Für den Inhalt des Beitrages 132105 haftet ausdrücklich der jeweilige Autor: neptun

  • Mit a2enmod https meinst du wohl a2enmod http2?

    Richtig.


    Sorry. Flüchtigkeitsfehler.

    mit a2enmod -lerscheint auch http2

    Also hast du dein HTTP2 längst am Start.



    Soweit war ich auch schon, starte ich Apache neue bleibt alles beim alten.
    weil Apache nicht auf den eventAPACHE_MPM=event zugreift, so meine vermutung

    Was sollen den diese fragwürdigen Buchstabenkombinationen sagen wollen?



    Suse installeirt in der Standardversion das normale Apache,FastCG ist nicht installiert.


    Ob man nun PHP mag oder nicht ist eine Glaubensschachte, wenn ich sagen ich will
    alle unsere Webprojekte umstellen bekommt unser Chef einen Anfall.


    Ich finde PHP nur in Verbindung mit Typo3, WP & co schlecht, wir Programmeren aber hier alles selber.

    Es macht überhaupt keine Sinn hier irgendwas debattieren zu wollen.
    Ich hatte obigen Sermon nur geschrieben, um auch anderen zu zeigen, dass deine absolut falsche Aussage, ohne PHP gäbe es nur statische Websiten totaler Humbug ist.
    Als Profi solltest du das eigentlich schon mindestens 10Jahre wissen.


    Wie auch immer.


    Ich denke, dir ist einfach nicht klar, was du willst.
    Und ich kann nur raten, was du möchtest.
    Mit meinem Rat für HTTP2 lag ich schon mal falsch. Der hat mit deinem Problem absolut nichts zu tun.
    Was du mit eventAPACHE_MPM alles schreibst, legt eher die Vermutung nahe,
    dass es dir nicht gelingt ein passendes WSGI Modul für dein PHP zu laden.
    (Wobei mir nicht klar ist, was du alles in deiner Konfig schon verhaut hast)


    Bitte, sei so gut, künfig einfach meine Fragen zu beantworten. Wenn ich das Log sehen möchte, poste das und nicht deine Vermutungen.


    Für dein WSGI probiere einfach mal zypper in php7-fpm
    Und klappt das nicht, poste die Apache und PHP Konfigs.
    Anders ist dir wohl nicht zu helfen.