<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://mw.stradinger.ddnss.de/index.php?action=history&amp;feed=atom&amp;title=Laravel</id>
	<title>Laravel - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://mw.stradinger.ddnss.de/index.php?action=history&amp;feed=atom&amp;title=Laravel"/>
	<link rel="alternate" type="text/html" href="https://mw.stradinger.ddnss.de/index.php?title=Laravel&amp;action=history"/>
	<updated>2026-05-09T09:05:52Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wissenssammlung von Stradinger - IT</subtitle>
	<generator>MediaWiki 1.35.8</generator>
	<entry>
		<id>https://mw.stradinger.ddnss.de/index.php?title=Laravel&amp;diff=89&amp;oldid=prev</id>
		<title>Andreas: Die Seite wurde neu angelegt: „=== Installieren und Konfigurieren in Verbindung mit Nginx, MySql unter Debian ===  ==== Voraussetzung: ====  * Der  &#039;&#039;&#039;LEMP-Stack&#039;&#039;&#039; mit &#039;&#039;&#039;MySQL&#039;&#039;&#039; ist insta…“</title>
		<link rel="alternate" type="text/html" href="https://mw.stradinger.ddnss.de/index.php?title=Laravel&amp;diff=89&amp;oldid=prev"/>
		<updated>2024-08-01T09:37:28Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „=== Installieren und Konfigurieren in Verbindung mit Nginx, MySql unter Debian ===  ==== Voraussetzung: ====  * Der  &amp;#039;&amp;#039;&amp;#039;LEMP-Stack&amp;#039;&amp;#039;&amp;#039; mit &amp;#039;&amp;#039;&amp;#039;MySQL&amp;#039;&amp;#039;&amp;#039; ist insta…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Installieren und Konfigurieren in Verbindung mit Nginx, MySql unter Debian ===&lt;br /&gt;
&lt;br /&gt;
==== Voraussetzung: ====&lt;br /&gt;
&lt;br /&gt;
* Der  &amp;#039;&amp;#039;&amp;#039;LEMP-Stack&amp;#039;&amp;#039;&amp;#039; mit &amp;#039;&amp;#039;&amp;#039;MySQL&amp;#039;&amp;#039;&amp;#039; ist installiert&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Composer&amp;#039;&amp;#039;&amp;#039; ist installiert&lt;br /&gt;
&lt;br /&gt;
==== 1. Schritt (als root): ====&lt;br /&gt;
&lt;br /&gt;
* System aktualisieren: &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;apt update&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* PHP-Pakete installieren: &amp;#039;&amp;#039;&amp;#039;apt install php-mbstring php-xml php-bcmath&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== 2. Schritt (als root): ====&lt;br /&gt;
&lt;br /&gt;
* Erstellen einer Datenbank-Shell: &amp;#039;&amp;#039;&amp;#039;mysql&amp;#039;&amp;#039;&amp;#039; aufrufen&lt;br /&gt;
* Datenbank anlegen:  mysql&amp;gt; &amp;#039;&amp;#039;&amp;#039;CREATE DATABASE reiseliste;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* DB-Benutzer anlegen:  mysql&amp;gt; &amp;#039;&amp;#039;&amp;#039;CREATE USER &amp;#039;reiseliste_benutzer&amp;#039;@&amp;#039;%&amp;#039; IDENTIFIED BY &amp;#039;Passwort&amp;#039;;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Berechtigung erteilen:  mysql&amp;gt; &amp;#039;&amp;#039;&amp;#039;GRANT ALL ON reiseliste.* TO &amp;#039;reiseliste_benutzer&amp;#039;@&amp;#039;%&amp;#039;;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Datenbank verlassen:  mysql&amp;gt; &amp;#039;&amp;#039;&amp;#039;exit&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Datenbank-Shell aufrufen: &amp;#039;&amp;#039;&amp;#039;mysql -u reiseliste_benutzer -p&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Datenbanken anzeigen lassen:  mysql&amp;gt; &amp;#039;&amp;#039;&amp;#039;SHOW DATABASES;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Neue Tabelle erstellen:  mysql&amp;gt; &amp;#039;&amp;#039;&amp;#039;CREATE TABLE reiseliste.orte (  id INT AUTO_INCREMENT, name VARCHAR(255), besucht BOOLEAN, PRIMARY KEY(id) );&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Tabelle mit Inhalt füllen:  mysql&amp;gt; &amp;#039;&amp;#039;&amp;#039;INSERT INTO reiseliste.orte (name, besucht) VALUES (&amp;quot;Tokyo&amp;quot;, false), (&amp;quot;Budapest&amp;quot;, true), (&amp;quot;Nairobi&amp;quot;, false), (&amp;quot;Berlin&amp;quot;, true), (&amp;quot;Lisbon&amp;quot;, true), (&amp;quot;Denver&amp;quot;, false), (&amp;quot;Moscow&amp;quot;, false), (&amp;quot;Olso&amp;quot;, false), (&amp;quot;Rio&amp;quot;, true), (&amp;quot;Cincinnati&amp;quot;, false), (&amp;quot;Helsinki&amp;quot;, false);&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Tabelle testen:  mysql&amp;gt; &amp;#039;&amp;#039;&amp;#039;SELECT * FROM reiseliste.orte;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Datenbank verlassen:  mysql&amp;gt; &amp;#039;&amp;#039;&amp;#039;exit&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Schritt (als Web-Benutzer): Laravel-Anwendung erstellen ====&lt;br /&gt;
&lt;br /&gt;
* In den Ordner /var/www navigieren: &amp;#039;&amp;#039;&amp;#039;cd /var/www/&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Neue Laravel-Anwendung erzeugen: &amp;#039;&amp;#039;&amp;#039;composer create-project --prefer-dist laravel/laravel&amp;#039;&amp;#039;&amp;#039; reiseliste&lt;br /&gt;
* In den Ordner reiseliste: &amp;#039;&amp;#039;&amp;#039;cd reiseliste&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Überprüfen ob alles installiert wurde: &amp;#039;&amp;#039;&amp;#039;php artisan&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== 4. Schritt (als Web-Benutzer): ====&lt;br /&gt;
&lt;br /&gt;
* Projekt über die &amp;#039;&amp;#039;.env-Datei&amp;#039;&amp;#039; konfigurieren: &lt;br /&gt;
* Folgende Werte setzen: &amp;#039;&amp;#039;(der APP_KEY wird automatisch gesetzt und als APP_URL IP-Adresse des Webservers oder Domain angeben).&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;APP_NAME=Reiseliste&lt;br /&gt;
 APP_ENV=&amp;lt;mark&amp;gt;development&amp;lt;/mark&amp;gt;&lt;br /&gt;
 APP_KEY=&amp;lt;mark&amp;gt;APPLICATION_UNIQUE_KEY_DONT_COPY&amp;lt;/mark&amp;gt;&lt;br /&gt;
 APP_DEBUG=&amp;lt;mark&amp;gt;true&amp;lt;/mark&amp;gt;&lt;br /&gt;
 APP_URL=http://&amp;lt;mark&amp;gt;domain_or_IP&amp;lt;/mark&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 LOG_CHANNEL=stack&lt;br /&gt;
 &lt;br /&gt;
 DB_CONNECTION=mysql&lt;br /&gt;
 DB_HOST=127.0.0.1&lt;br /&gt;
 DB_PORT=3306&lt;br /&gt;
 DB_DATABASE=reiseliste&lt;br /&gt;
 DB_USERNAME=&amp;lt;mark&amp;gt;reiseliste_benutzer&amp;lt;/mark&amp;gt;&lt;br /&gt;
 DB_PASSWORD=Passwort&lt;br /&gt;
 &lt;br /&gt;
 ...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 5. Schritt (als root): ====&lt;br /&gt;
&lt;br /&gt;
* Rechte im Verzeichnis &amp;#039;&amp;#039;reiseliste&amp;#039;&amp;#039; setzen:    &amp;#039;&amp;#039;&amp;#039;chown -R www-data.www-data /var/www/travellist/storage&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* und:     &amp;#039;&amp;#039;&amp;#039;chown -R www-data.www-data /var/www/travellist/bootstrap/cache&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Nginx-Konfigurationsdatei anlegen:  &amp;#039;&amp;#039;&amp;#039;nano /etc/nginx/sites-available/reiseliste&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Konfigurationsdatei:&lt;br /&gt;
 &amp;lt;code&amp;gt;server {&lt;br /&gt;
     listen 80;&lt;br /&gt;
     server_name &amp;lt;mark&amp;gt;server_domain_or_IP&amp;lt;/mark&amp;gt;;&lt;br /&gt;
     root /var/www/reiseliste/public;&lt;br /&gt;
 &lt;br /&gt;
     add_header X-Frame-Options &amp;quot;SAMEORIGIN&amp;quot;;&lt;br /&gt;
     add_header X-XSS-Protection &amp;quot;1; mode=block&amp;quot;;&lt;br /&gt;
     add_header X-Content-Type-Options &amp;quot;nosniff&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
     index index.html index.htm index.php;&lt;br /&gt;
 &lt;br /&gt;
     charset utf-8;&lt;br /&gt;
 &lt;br /&gt;
     location / {&lt;br /&gt;
         try_files $uri $uri/ /index.php?$query_string;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     location = /favicon.ico { access_log off; log_not_found off; }&lt;br /&gt;
     location = /robots.txt  { access_log off; log_not_found off; }&lt;br /&gt;
 &lt;br /&gt;
     error_page 404 /index.php;&lt;br /&gt;
 &lt;br /&gt;
     location ~ \.php$ {&lt;br /&gt;
         fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;&lt;br /&gt;
         fastcgi_index index.php;&lt;br /&gt;
         fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;&lt;br /&gt;
         include fastcgi_params;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     location ~ /\.(?!well-known).* {&lt;br /&gt;
         deny all;&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verweis auf die Konfiguration setzen:  &amp;#039;&amp;#039;&amp;#039;ln -s /etc/nginx/sites-available/reiseliste /etc/nginx/sites-enabled/&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Testen ob die Konfiguration funktioniert:  &amp;#039;&amp;#039;&amp;#039;nginx -t&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Nginx neu starten:  &amp;#039;&amp;#039;&amp;#039;systemctl reload nginx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Die Webseite über den Webbrowser aufrufen:   &amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;http://server_domain_or_IP&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== 6. Schritt (als Web-Benutzer): Laravel-Anwendung anpassen ====&lt;br /&gt;
&lt;br /&gt;
* Es muss nun die Hauptroute der Anwendung bearbeitet werden um die Daten aus der Datenbank abzufragen und der Anwendung zur Verfügung zu stellen:  &amp;#039;&amp;#039;&amp;#039;nano routes/web.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Die Datei verändert man so ab:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
use Illuminate\Support\Facades\DB;&lt;br /&gt;
&lt;br /&gt;
Route::get(&amp;#039;/&amp;#039;, function () {&lt;br /&gt;
&lt;br /&gt;
    $visited = DB::select(&amp;#039;select * from orte where besucht = ?&amp;#039;, [1]);    &lt;br /&gt;
&lt;br /&gt;
    $togo = DB::select(&amp;#039;select * from orte where besucht = ?&amp;#039;, [0]);&lt;br /&gt;
&lt;br /&gt;
  return view(&amp;#039;travellist&amp;#039;, [&amp;#039;visited&amp;#039; =&amp;gt; $visited, &amp;#039;togo&amp;#039; =&amp;gt; $togo ] );&lt;br /&gt;
&lt;br /&gt;
});&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Nun muss man die definieren, wie die Daten dargestellt werden.  &amp;#039;&amp;#039;&amp;#039;nano resources/views/travellist.blade.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Die Datei könnte so aussehen:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;html&amp;gt; &amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;&amp;lt;head&amp;gt; &amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;title&amp;gt;Reiseliste&amp;lt;/title&amp;gt; &amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;&amp;lt;/head&amp;gt; &amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;&amp;lt;body&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;nowiki&amp;gt;&amp;lt;h1&amp;gt;Meine Reise-Bucket-Liste&amp;lt;/h1&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;nowiki&amp;gt;&amp;lt;h2&amp;gt;Orte die ich noch gern besuchen würde&amp;lt;/h2&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 	      &amp;lt;nowiki&amp;gt; @foreach ($togo as $newplace) &amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
              &amp;lt;nowiki&amp;gt;&amp;lt;li&amp;gt;{{ $newplace-&amp;gt;name }} &amp;lt;/li&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 	      &amp;lt;nowiki&amp;gt;@endforeach &amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 	   &amp;lt;nowiki&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;nowiki&amp;gt;&amp;lt;h2&amp;gt;Orte an denen ich schon war&amp;lt;/h2&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 	     &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
          &amp;lt;nowiki&amp;gt;@foreach ($visited as $place)&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
                &amp;lt;nowiki&amp;gt;&amp;lt;li&amp;gt; {{ $place-&amp;gt;name }} &amp;lt;/li&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
          &amp;lt;nowiki&amp;gt;@endforeach&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/html&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>
	</entry>
</feed>