Laravel Application Deployment

PEASANT KING

Commander
Registriert
Okt. 2008
Beiträge
2.412
Guten Morgen,

ich hoffe hier können mir einige helfen. Ich habe eine Laravel Anwendung programmiert. Die Anwendung habe ich damals beim Anlegen auf einen USB Stick installiert, weil ich so egal wo ich war weiter entwickeln konnte, wenn ich Zeit hatte.

Nun wollte ich die Anwendung auf meinem Webserver bei Hetzner veröffentlichen, also bin ich her gegangen und habe die Anwendung vom Stick archiviert und per FTP auf meinen Server hoch geladen. Auf dem Server läuft unter anderem eine Cloud etc. also PHP Apache MariaDB alles installiert und funktioniert auch.

Auf dem Server habe das Ganze entpackt, leider hilft mir die Hilfe bzw. die Anleitung auf Laravel selber und googlen nicht wirklich weiter.
Ich habe das Problem, das die Anwendung manche Pfade nicht findet, was klar ist, denn die Anwendung sucht die Pfade vom Stick aus Windows unter Debian 9 was ja nicht geht. Ich habe mal symbolische Links angelegt unter Windows für das storage Verzeichnis, das muss ich ja nun auch wieder machen denke ich unter Linux. Aber was muss ich noch alles machen. Composer, npm, nodejs ich bin überfragt.

Ich bräuchte allgemein mal ein paar Tipps, wie ich überhaupt eine Laravel Anwendung zu deployen habe. Ich weiß git spielt oft eine Rolle etc, ich will das Ganze aber nicht unnötig aufblähen auch wenn ich git sonst nutze.

Es ist meine erste Laravel Anwendung und ich stehe im Moment auf dem Schlauch.

Vielen Dank für eure Hilfe wieder mal.
 
Wie kommt man darauf einfach unter Windows zu entwickeln und auch noch irgendwelche absoluten Pfade zu Benutzen?
Nimm eine Vagrant Box zum entwickeln. Geht unter Windows kaum anders.
Hier ist eine fertige: https://box.scotch.io/ oder eben die von Laravel direkt https://laravel.com/docs/5.6/homestead
FTP gibt es noch? :D
Einfachstes Deployment wäre einfach über git. Einfach git pull und dann ein composer install ausführen. Wenn du kein git nutzt, dann fang damit an!

- Dein vhost muss so eingerichtet sein, dass er auf das public Verzeichnis zeigt.
- mod_rewrite muss an sein.
- Dein .env Datei muss eingerichtet sein.
- das storage Verzeichnis samt Unterordner muss chmod 755 haben.
- Laravel benötigt in der aktuellen Version PHP 7.1. Kp ob es in Debian 9 schon so drin ist.

Überprüf mal die Sachen.
 
Weil ich keine Lust hatte mir nen Linux auf zu setzen und ich gerne mit Windows Tools arbeite die unter Linux nicht vorhanden sind.

Vagrant und Homestead habe ich nicht zum Laufen bekommen damit fiel das dann damals weg, ich hatte keinen Nerv mich 4 Stunden nur rum zu ärgern bis Homestead oder Vagrant vernünftig läuft ist aber auch hier nicht das Thema.

Ich kenne git und nutze git selber wenn ich C# Prism Anwendungen, oder Java entwickle.
Ich hatte für dieses Projekt aber keine Lust ein git Repro auf zu setzen.

Die Anwendung wurde nun auf einen Linux Server mit Debian 9 deployed. mod_rewrite ist an .env ist eingerichtet
Storageverzeichnis hat 755, PHP 7.2 ist auf dem Server am laufen.

Das Problem ist schlicht das Larvel etwas auf H:\ sucht welches es unter Linux nicht gibt, ich möchte einrach wissen woher Laravel diesen Pfad sucht, in der filesystems.php steht so ein Pfad nicht drin.

Weiter kann ich php artisan command nicht nutzen, weil dort auch ein fester Pfad H:\... benötigt wird.
Wo setze ich da an?

PS:

In Zukunft werde ich unter Linux weiter programmieren, damit bin ich dann nah genug an der Produktion später.
Lehrgeld halt...
 
Durchsuche doch dein Code nach H: irgendetwas. Vll den vendor Ordner mal löschen und ein composer install ausführen.

Wie entwickelst du den jetzt? Direkt PHP unter Windows installiert (was tatsächlich in Frage kommt obwohl es umständlich ist) oder den XAMPP Quatsch?
Nutze einfach die richtigen Tools. Webentwickelung unter Windows ist einfach falsch! Jeder der das Gegenteil behauptet hat entweder keine Ahnung oder er lügt!
 
Ich habe nicht gesagt das Webentwicklung unter Windows richtig sei. Ich sehe sogar ein das Webentwicklung unter Linux die professionelle Art ist.

Ich habe die Anwendung mittels Visual Studio Code was es auch unter Linux gibt entwickelt.
Dazu habe ich einfach Apache installiert PHP aufgesetzt, php artisan serve genutzt um die Anwendung lokal zu testen und zu sehen und ich habe eine MariaDB am laufen. Mehr brauchte ich nicht für die Anwendung.

Ich werde mich noch mal mit Homestead Vagrant auseinander setzen.

composer install hab ich schon getätigt, bleibt mir nix anderes als zu suchen, aber feste Pfade habe ich nicht vergeben, wäre ja auch völliger Schwachsinn.

Danke übrigens für die Geduld auch wenn ich dir vielleicht idiotisch vor komme mit meinem WIndows Gedöns, dabei ist es nicht so als wenn ich keine Ahnung von Linux hätte.
 
Hast du mal den Debug-Modus in der .env aktiviert?

Ansonsten musst du eventuell Laravel auf deinem Server nochmal neu per Composer installieren und dann nur die relevanten Daten deiner Anwendung (/app, /config, /ressources etc.) reinkopieren.

Und beim nächsten mal direkt alles mit Homestead, Git etc.

Zur Einrichtung von Homestead unter Windows kann ich dir übrigens folgenden Artikel empfehlen: https://medium.com/@eaimanshoshi/i-...o-setup-homestead-for-laravel-5-2-17491a423aa
 
Danke @Mista ich bin jetzt soweit, das ich die Meldung bekomme, das er meine View login nicht findet.

Unter /bootstrap/config.php waren viele Pfade die nicht stimmten. Ich fürchte aber das ich lieber mittels composer die Anwendung auf dem Server neu aufsetze und das relevante dann kopiere.

Vielen Dank für die Tipps und Hilfe hier. Meine Anwendung läuft nun wie gewünscht.

Nun kann ich das Ganze ja in git auschecken und dann daran weiter arbeiten wenn ich möchte und das dann natürlich unter Linux.

Ich habe Laravel neu aufgesetzt meine Daten der Anwendung eingespielt und umkonfiguriert.
 
Zuletzt bearbeitet:
Wegen Linux lass dir nix einreden, bei Webentwicklung ist es sowas von egal ob Windows Mac Oder Linux. Sowas hab ich ja nich nie gehört.
 
new Account() schrieb:
bei Webentwicklung ist es sowas von egal ob Windows Mac Oder Linux.
Letztlich ist es egal. Dennoch kommt Linux einem bei einigen Sachen eher entgegen. Schon weil halt viele Sachen die man so brauch (Frameworks, Bibliotheken, Interpreter usw.) trivial zu installieren sind.
Genauso wie wenn man seine Webanwendung auf Basis von .NET macht einem Windows eher entgegen kommt.
 
Zurück
Oben