CodeIgniter 4 Installation im WCP

  • Sehr geehrte Damen und Herren,


    dieser Beitrag ist eher weniger eine Frage an die Community, sondern mehr eine Anleitung zur Einrichtung des CodeIgniter 4 (oder ähnliche) PHP Frameworks.

    Bei der Einrichtung auf einem shared Webhosting bin ich auf Hürden gestoßen und denke, dass folgendes einigen helfen wird. Im Internet kursieren viele Anleitungen die Empfehlen, den Inhalt des /public Ordners in den root Ordner zu verschieben, was Sie allerdings in Produktionsumgebungen keinesfalls machen sollten, da dadurch statische Daten ggf. direkt aufgerufen (Bsp.: domain.de/README.md) und Bestandteile des Framework erreicht werden können.


    1. CodeIgniter Quellcode in den Webspace hochladen

    Ziemlich selbsterklärend - Laden Sie Ihr Projekt in dem gewünschten Webspace, optional unter der gewünschten Subdomain, hoch.


    2. Hosting-Einstellungen

    Setzen Sie den Dokumentenstamm auf domain.de/public.

    Es empfiehlt sich die dauerhafte HTTP zu HTTPS Weiterleitung zu aktivieren, da dies in Schritt 6 relevant wird.

    Für CodeIgniter 4 benötigen Sie PHP-Version 7.3 oder neuer als FastCGI-Anwendung.


    3. PHP-Einstellungen

    Setzen Sie open_basedir  auf {WEBSPACEROOT}{/}{:}{TMP}{/}....


    4. Einstellungen für Apache & nginx

    Deaktivieren Sie Fähigkeit, symbolischen Verknüpfungen zu folgen, einschränken.


    5. Anpassung der app/Config/App.php

    Setzen Sie $baseURL auf 'https://sub.domain.de/' und $indexPage auf ''.


    6. Anpassung der .htaccess im public Ordner

    Für die Berücksichtigung von HTTPS ändern Sie folgende Zeile 27:

    RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L] zu RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]


    Um alle Controller-Anfragen an die index.php weiterzuleiten, ändern Sie folgende Zeile 34:

    RewriteRule ^([\s\S]*)$ index.php/$1 [L,NC,QSA] zu RewriteRule ^([\s\S]*)$ index.php?/$1 [L,NC,QSA]




    Falls es bessere Arten der Einrichtung gibt, bitte ich um Ihre Beiträge.


    Mit freundlichen Grüßen

    Christopher

  • Hallo Kozek,


    das Thema liegt zwar schon etwas zurück, ich wollte mich aber trotzdem auf diesem Weg bei Dir bedanken. Deine Anleitung hat mir bei der Einrichtung meiner CodeIgniter-Instanz sehr geholfen.


    Gruß Gumbo :)