Ziel
Du möchtest ein Laravel-Projekt lokal oder auf einem Root-Server mit Debian 12 (Bookworm) einrichten – also ohne Control Panel, ohne Docker, ohne Apache (optional), sondern mit allem, was Laravel braucht.
Voraussetzungen
- Debian 12 minimal installiert
- root oder
sudo-fähiger Benutzer - Internetverbindung
- Domain oder IP zum späteren Aufruf (optional)
Benötigte Komponenten
Ein Laravel-Projekt benötigt:
| Komponente | Zweck | | -------------- | --------------------------------- | | PHP ≥ 8.2 | Ausführung der Laravel-Anwendung | | Composer | PHP-Dependency-Management | | Webserver | z. B. Nginx oder Apache | | Datenbank | z. B. MySQL/MariaDB/PostgreSQL | | Node.js | Für Assets (z. B. Vite, Tailwind) | | npm / yarn | Für JS-Dependencies |
1. System aktualisieren
``bash sudo apt update && sudo apt upgrade -y ``
2. PHP 8.2 (oder höher) installieren
``bash sudo apt install -y php php-cli php-common php-mbstring php-xml php-curl php-bcmath php-mysql php-zip php-gd unzip curl git ``
Optional:php-pgsqlfür PostgreSQL,php-sqlite3für SQLite
Prüfen:
``bash php -v ``
3. Composer installieren
``bash cd ~ curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer composer --version ``
4. Webserver installieren (z. B. Nginx)
``bash sudo apt install nginx -y ``
Alternativ: sudo apt install apache2 libapache2-mod-php
5. Datenbank installieren
MySQL/MariaDB:
``bash sudo apt install mariadb-server -y sudo mysql_secure_installation ``
Datenbank und Benutzer anlegen (optional):
```bash sudo mysql -u root -p
CREATE DATABASE laravel_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'secure_pass'; GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost'; FLUSH PRIVILEGES; EXIT; ```
6. Node.js + npm installieren (für Frontend & Vite)
``bash curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs ``
Optional: yarn
``bash npm install -g yarn ``
7. Laravel-Projekt initialisieren
``bash cd /var/www sudo composer create-project laravel/laravel myapp cd myapp ``
Rechte setzen:
``bash sudo chown -R www-data:www-data . sudo chmod -R 775 storage bootstrap/cache ``
8. .env-Datei konfigurieren
``bash cp .env.example .env php artisan key:generate ``
Bearbeite .env mit Editor deiner Wahl:
``bash nano .env ``
Datenbankdaten eintragen:
`` DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_db DB_USERNAME=laravel_user DB_PASSWORD=secure_pass ``
9. Nginx konfigurieren
Beispiel-Konfiguration für /etc/nginx/sites-available/laravel:
```nginx server { listen 80; server_name yourdomain.com;
root /var/www/myapp/public; index index.php index.html;
location / { try_files $uri $uri/ /index.php?$query_string; }
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.2-fpm.sock; }
location ~ /\.ht { deny all; } } ```
Aktivieren und testen:
``bash sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx ``
10. PHP-FPM sicherstellen
``bash sudo systemctl enable php8.2-fpm sudo systemctl start php8.2-fpm ``
11. App testen
Rufe auf:
- http://yourdomain.com
- oder:
php artisan serve(lokale Dev-Umgebung auf Port 8000)
Bonus: Laravel Frontend-Assets
``bash npm install npm run dev # für Entwicklung npm run build # für Produktion ``
Fazit
Mit dieser Anleitung hast du Laravel auf einem Debian-12-Server vollständig manuell installiert, inklusive PHP, Composer, Webserver, Datenbank und Node.js. Ideal für produktive Server, die ohne Docker oder Control Panels betrieben werden sollen.
Laravel läuft hervorragend auf Debian – mit etwas Vorbereitung ein hochperformantes Setup.