Laravel auf Netcup möglich?

  • Hallo ihr :)


    Ich möchte gerne eine Webseite auf netcup hosten. Jetzt hat mir der Designer*in (Wordpress-CMS wird verwendet) gesagt, dass er/sie dazu Laravel bräuchte. Augenscheinlich würde netcup diese Technik nicht unterstützen. Könnt ihr mir sagen, ob das trotzdem möglich wäre? Ich habe über Work-Arounds im Forum gelesen.


    Danke euch.

  • Ich finde es irgendwie merkwürdig, dass Wordpress in Zusammenhang mit Laravel genutzt wird, kenne bis jetzt immer nur das eine oder das andere. Laravel ist letztendlich auch nur PHP und kann somit auch auf eine, Shared Hosting installiert werden. Dabei gibt es aber einige Einschränkungen:

    • Das Ausführen von node Befehlen, wie laravel mix sind nicht möglich
    • Redis kann nicht als Cache oder Queue Driver genutzt werden
    • Generell sind Queues oder Horizon schwierig zu nutzen, da du keinen Service definieren kannst, der den Worker permanent ausführt. Somit müssten Jobs synchron asugeführt werden.
  • Ich finde es irgendwie merkwürdig, dass Wordpress in Zusammenhang mit Laravel genutzt wird, kenne bis jetzt immer nur das eine oder das andere. Laravel ist letztendlich auch nur PHP und kann somit auch auf eine, Shared Hosting installiert werden. Dabei gibt es aber einige Einschränkungen:

    • Das Ausführen von node Befehlen, wie laravel mix sind nicht möglich
    • Redis kann nicht als Cache oder Queue Driver genutzt werden
    • Generell sind Queues oder Horizon schwierig zu nutzen, da du keinen Service definieren kannst, der den Worker permanent ausführt. Somit müssten Jobs synchron asugeführt werden.

    Sehr gute Infos! Da spricht der Fachmann.

  • https://laravelarticle.com/deploy-laravel-on-shared-hosting


    Auf die schnelle gefunden, nicht getestet. Sollte aber gehen.


    Ansonsten weiß ich nicht ob Plesk ein Installer dazu bietet

    Es ist zwar schon eine Weile her, dass dieser Thread aufgemacht wurde. Da ich bei meiner Recherche nach der Bereitstellung meiner Laravel App beim netcup shared hosting hierauf gestoßen bin, äußere ich mich dennoch dazu.


    Der oben verlinkte Artikel ist einfach nachzuvollziehen und führte in meinem Fall zum Ziel. Allerdings wird dabei die Datei index.php vom Public- in den Root-Ordner verschoben. Laut Laravel Docs sollte man dies auf gar keinen Fall tun! Somit ist die Lösung nicht als sicher anzusehen und eher ein Workaround, der nicht im Sinne der Erfinder ist.


    Wenn mir jemand sagen kann, ob bzw. wie ich beim netcup shared hosting angeben kann, welche Datei beim Seitenaufruf initial geladen werden soll (also die standardmäßige index.html bzw. index.php im httpdocs-Ordner, welche nun in httpdocs/public/index.php liegt), hilft es mir weiter.


    Cheers


    Tom

    Electrical engineer by profession, web dev by passion, musician at night.

  • Wenn mir jemand sagen kann, ob bzw. wie ich beim netcup shared hosting angeben kann, welche Datei beim Seitenaufruf initial geladen werden soll (also die standardmäßige index.html bzw. index.php im httpdocs-Ordner, welche nun in httpdocs/public/index.php liegt), hilft es mir weiter.

    Du kannst einerseits im CCP bzw. in Plesk den Dokumentenstamm ändern und auch die PHP-Einstellung open_basedir anpassen.


    Das Indexdokument kannst Du direkt in Plesk konfigurieren. Zu finden unter Einstellungen für Apache & nginx :)


    Screenshot_20231226-155657_Mulch.png


    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

    Einmal editiert, zuletzt von KB19 ()

    Gefällt mir 3
  • Vielen Dank für die schnelle Antwort!


    Allerdings habe ich es noch nicht hinbekommen. Im Dokumentenstamm kann ich keinen Pfad angeben, sondern nur Dateinamen:


    Bildschirmfoto 2023-12-26 um 16.09.38.png


    In den PHP-Einstellungen unter open_basedir kann ich nur zwei Optionen auswählen, die mir beide nicht zielführend erscheinen.


    Bildschirmfoto 2023-12-26 um 16.10.56.png



    Irgendeine Idee, wie ich "httpdocs/public/index.php" als Indexpfad definieren kann?


    Danke und Grüße


    Tom

    Electrical engineer by profession, web dev by passion, musician at night.

  • Das sind zwei getrennte Einstellungen. Der Dokumentenstamm (AKA document root) ist das Verzeichnis, die Index.datei ist eine Liste der Dateinamen, also hier index.php, der bei Aufruf per Default ausgeliefert / ausgeführt wird. Eine Einstellung für beides in einem Eingabefeld gibt es nicht. Die Indexdatei ist normalerweise so eingestellt wie im Screenshot angezeigt und kann normalerweise auch so bleiben, wenn im Dokumentenstamm (document root) nicht auch noch eine index.html, index.cgi, index.pl oder sonstige Indexdatei enthalten ist, die in der Liste vor der index.php steht. In der Regel ist das nicht der Fall. Falls Plesk eine index.html angelegt hat (was es tut, wenn bei der Einstellung des Dokumentenstamms das angegebene Verzeichnis noch nicht existiert), sollte man die allerdings rauslöschen, wenn man später die index.php ausgeführt haben will.


    Der Dokumentenstamm muss für die Domain selbst in der Übersicht des Webhostings angegeben werden, für Subdomains dagegen im WCP in den Hostingeinstellungen der Subdomain.


    Edit: In deinem Fall wäre also als Dokumentenstamm einzugeben:

    /httpdocs/public

    und als Indexdatei

    index.php (oder du belässt den Defaultwert, da du die anderen Dateien in der Regel nicht im Dokumentenstamm haben wirst)