Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Webserver einrichten

Ein DXP-Projekt mit Apache 2.4 oder Nginx und PHP-FPM ausliefern, oder für die Entwicklung mit der Symfony CLI - das Document Root, die Umleitung auf public/index.php, die Einstellungen APP_ENV, APP_DEBUG und…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/dxp-developers/web-server-setup.md

On this page

This page is a translation. Read the English original

Webserver einrichten

Diese Seite richtet sich an Entwickler und Administratoren, die ein DXP-Projekt hinter einen Webserver stellen. Die Beispiele stammen aus der Anleitung des Skeletons (Abschnitt 6), gekürzt; passen Sie Hostnamen und Pfade an.

Inhalt

  1. Was jede Einrichtung braucht
  2. Apache 2.4
  3. Nginx
  4. Symfony CLI für die Entwicklung
  5. HTTPS
  6. Nach einer Änderung neu laden

Was jede Einrichtung braucht

  • Das Document Root ist public/, nie das Hauptverzeichnis des Projekts.
  • Jede Anfrage, die keine vorhandene Datei ist, geht an public/index.php.
  • APP_ENV=prod, APP_DEBUG=0 in der Produktion. APP_HTTP_CACHE=1 schaltet den HTTP-Cache von Symfony ein; setzen Sie es auf 0, wenn Varnish davor zwischenspeichert (HTTP-Cache und Varnish).
  • Keine andere .php-Datei unter public/ wird ausgeführt.

Apache 2.4

Aktivieren Sie die Module: a2enmod rewrite deflate headers expires. Betreiben Sie Apache mit dem Event-MPM und PHP-FPM.

<VirtualHost *:80>
    ServerName exponential.local
    DocumentRoot /var/www/exponential/public
    DirectoryIndex index.php

    SetEnv APP_ENV "prod"
    SetEnv APP_DEBUG "0"
    SetEnv APP_HTTP_CACHE "1"

    <Directory /var/www/exponential/public>
        AllowOverride None
        Require all granted
        FallbackResource /index.php
    </Directory>
</VirtualHost>

Nginx

server {
    listen 80;
    server_name exponential.local;
    root /var/www/exponential/public;

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ ^/index\.php(/|$) {
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        fastcgi_param APP_ENV prod;
        fastcgi_param APP_DEBUG 0;
        fastcgi_param APP_HTTP_CACHE 1;
        internal;
    }

    location ~ \.php$ {
        return 404;
    }
}

Testen und neu laden: nginx -t && systemctl reload nginx.

Symfony CLI für die Entwicklung

symfony server:start          # HTTPS on https://127.0.0.1:8000
symfony server:start -d       # in the background
symfony server:log
symfony server:stop

Verwenden Sie sie nicht in der Produktion.

HTTPS

Liefern Sie die Produktion nur über HTTPS aus. Die Anleitung verwendet Certbot als einen Weg zu einem Zertifikat (certbot --apache -d <your host>). Setzen Sie TRUSTED_PROXIES, wenn ein Proxy oder Varnish TLS vor der Anwendung beendet, damit Symfony korrekte URLs bildet.

Nach einer Änderung neu laden

GeändertBefehl
Konfiguration von Apachesystemctl reload apache2
Konfiguration von Nginxsystemctl reload nginx
Einstellungen von PHP-FPM oder PHP-Code mit OPcachesystemctl reload php8.3-fpm (die Unit Ihrer Version)
Anwendungscodeden Symfony-Cache leeren und vorwärmen (Befehle für den Alltag)

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x