Published on

Anleitung zur lokalen Installation und Konfiguration von PrestaShop mit Nginx auf Ubuntu 22.04

Authors
  • avatar
    Name
    Tobias Steltner
    Twitter

Diese Anleitung beschreibt die Schritte zur Installation und Konfiguration von PrestaShop auf einem lokalen Ubuntu 22.04 Server mit Nginx. Die Anleitung richtet sich an eine lokale Testumgebung mit der IP-Adresse 192.168.178.81.

Voraussetzungen

  • Ubuntu 22.04 installiert und lauffähig.
  • Grundlegende Kenntnisse im Umgang mit der Kommandozeile.
  • Ein lokales Netzwerk mit Zugriff auf die IP-Adresse 192.168.178.81.

Schritt 1: Installation von Nginx und PHP

  1. Aktualisiere die Paketliste:

    sudo apt update
    
  2. Installiere Nginx:

    sudo apt install nginx
    
  3. Installiere PHP und die erforderlichen Erweiterungen:

    sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl
    

Schritt 2: PHP-Konfiguration anpassen

  1. Bearbeite die PHP-Konfigurationsdatei:

    sudo nano /etc/php/8.1/fpm/php.ini
    
  2. Ändere die folgenden Einstellungen:

    max_execution_time = 300
    memory_limit = 256M
    upload_max_filesize = 64M
    post_max_size = 64M
    max_input_vars = 10000
    
  3. Speichere die Datei und starte PHP-FPM neu:

    sudo systemctl restart php8.1-fpm
    

Schritt 3: Erstellen einer Nginx Server Block Konfiguration

  1. Erstelle eine neue Nginx-Konfigurationsdatei für PrestaShop:

    sudo nano /etc/nginx/sites-available/prestashop
    
  2. Füge die folgende Konfiguration hinzu:

    server {
        listen 80;
        server_name 192.168.178.81;
    
        root /var/www/prestashop;
        index index.php index.html index.htm;
    
        location / {
            try_files $uri $uri/ /index.php?$args;
        }
    
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg|eot)$ {
            expires max;
            log_not_found off;
        }
    
        location = /favicon.ico { log_not_found off; access_log off; }
        location = /robots.txt { log_not_found off; access_log off; allow all; }
    
        location ~ /\.ht {
            deny all;
        }
    
        # Spezifischer Block für den /bla-Ordner (ehemals /admin)
        location /bla/ {
            try_files $uri $uri/ /bla/index.php?$args;
        }
    
        gzip on;
        gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml;
        gzip_vary on;
        gzip_proxied any;
        gzip_comp_level 6;
        gzip_buffers 16 8k;
        gzip_http_version 1.1;
        gzip_min_length 256;
    
        client_max_body_size 64M;
    }
    
  3. Aktiviere den Server Block:

    sudo ln -s /etc/nginx/sites-available/prestashop /etc/nginx/sites-enabled/
    
  4. Teste die Nginx-Konfiguration:

    sudo nginx -t
    
  5. Lade Nginx neu, um die Änderungen anzuwenden:

    sudo systemctl reload nginx
    

Schritt 4: PrestaShop-Dateien hochladen

  1. Lade die neueste Version von PrestaShop herunter:

    wget https://download.prestashop.com/download/releases/prestashop_1.7.x.x.zip -O prestashop.zip
    

    Ersetze prestashop_1.7.x.x.zip durch die tatsächliche Versionsnummer.

  2. Erstelle ein Verzeichnis für PrestaShop:

    sudo mkdir -p /var/www/prestashop
    
  3. Verschiebe die Zip-Datei in das PrestaShop-Verzeichnis:

    sudo mv prestashop.zip /var/www/prestashop/
    
  4. Wechsle in das PrestaShop-Verzeichnis:

    cd /var/www/prestashop
    
  5. Entpacke die PrestaShop-Dateien:

    sudo apt install unzip
    sudo unzip prestashop.zip
    

    Nach dem Entpacken erstellt PrestaShop eine neue Zip-Datei. Entpacke diese ebenfalls:

    sudo unzip prestashop.zip
    
  6. Setze die richtigen Berechtigungen:

    sudo chown -R www-data:www-data /var/www/prestashop
    sudo find /var/www/prestashop/ -type d -exec chmod 755 {} \;
    sudo find /var/www/prestashop/ -type f -exec chmod 644 {} \;
    

Schritt 5: Installation abschließen

  1. Öffne den Webbrowser und rufe folgende Adresse auf:

    http://192.168.178.81
    
  2. Folge den Anweisungen im Installer, um PrestaShop zu installieren.

  3. Nach Abschluss der Installation:

    • Lösche das /install-Verzeichnis:

      sudo rm -rf /var/www/prestashop/install
      
    • Benenne das /admin-Verzeichnis um (z.B. in /bla):

      sudo mv /var/www/prestashop/admin /var/www/prestashop/bla
      
    • Überprüfe die Konfiguration und setze die Berechtigungen für das neue Admin-Verzeichnis:

      sudo chown -R www-data:www-data /var/www/prestashop/bla
      sudo chmod -R 755 /var/www/prestashop/bla
      

Schritt 6: Admin-Bereich aufrufen

  1. Rufe den Admin-Bereich über die folgende URL auf:

    http://192.168.178.81/bla
    

Wenn du diesen Schritten gefolgt bist, solltest du jetzt PrestaShop lokal auf deinem Ubuntu 22.04 Server mit Nginx installiert und lauffähig haben.

Problemlösungen

Falls du den Admin-Bereich nicht erreichst:

  • Überprüfe die Nginx-Fehlerprotokolle mit:

    sudo tail -f /var/log/nginx/error.log
    
  • Stelle sicher, dass die URL korrekt ist und der Ordnername stimmt.

  • Prüfe die Berechtigungen und setze sie gegebenenfalls neu.


Viel Erfolg bei der Installation und Nutzung von PrestaShop!