GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie PrestaShop unter Ubuntu 18.04

PrestaShop ist eine kostenlose und Open-Source-E-Commerce-Plattform. Es basiert auf PHP und MySQL und kann mit kostenlosen und Premium-Plugins und Themes erweitert werden.

Mit Funktionen wie einer intuitiven Verwaltungsoberfläche, mehreren Zahlungs-Gateways, Mehrsprachigkeit, Analysen und Berichten ist PrestaShop die Plattform der Wahl für viele Online-Händler.

In diesem Tutorial zeigen wir Ihnen, wie Sie PrestaShop auf einem Ubuntu 18.04-Server installieren. Wir verwenden Nginx als Webserver, das neueste PHP 7.2 und MySQL/MariaDB als Datenbankserver.

Voraussetzungen #

Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben, bevor Sie mit diesem Lernprogramm fortfahren:

  • Haben Sie einen Domänennamen, der auf die IP Ihres öffentlichen Servers verweist. Wir werden example.com verwenden .
  • Nginx wird auf Ihrem Ubuntu-Server installiert, indem Sie diese Anweisungen befolgen.
  • Ein SSL-Zertifikat, das für Ihre Domain installiert ist, um Benutzerinformationen zu verschlüsseln. Sie können ein kostenloses SSL-Zertifikat von Let’s Encrypt installieren, indem Sie diesen Anweisungen folgen.

Aktualisieren Sie die Systempakete auf die neuesten Versionen und installieren Sie das Unzip-Dienstprogramm:

sudo apt update && sudo apt upgradesudo apt install unzip

Erstellen einer MySQL-Datenbank #

PrestaShop speichert seine Informationen in einer MySQL-Datenbank.

Wenn MySQL oder MariaDB auf Ihrem Server installiert ist, können Sie diesen Schritt überspringen. Andernfalls installieren Sie das MySQL 5.7-Serverpaket aus den Standard-Repositories von Ubuntu, indem Sie Folgendes eingeben:

sudo apt install mysql-server mysql-client
Für frische MySQL-Installationen wird empfohlen, die mysql_secure_installation auszuführen Befehl, um die Sicherheit Ihres MySQL-Servers zu verbessern.

Um eine Datenbank zu erstellen, melden Sie sich bei der MySQL-Shell an:

sudo mysql

Führen Sie in der MySQL-Shell die folgende SQL-Anweisung aus, um eine neue Datenbank mit dem Namen prestashop zu erstellen :

CREATE DATABASE prestashop;

Erstellen Sie als Nächstes ein MySQL-Benutzerkonto mit dem Namen prestashop und erteilen Sie dem Benutzer die erforderlichen Berechtigungen, indem Sie den folgenden Befehl ausführen:

GRANT ALL ON prestashop.* TO 'prestashop'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Vergessen Sie nicht, change-with-strong-password zu ändern mit einem starken Passwort.

Wenn Sie fertig sind, verlassen Sie die MySQL-Konsole, indem Sie Folgendes eingeben:

EXIT;

Installieren und Konfigurieren von PHP #

PHP 7.2 ist die Standard-PHP-Version in Ubuntu 18.04 und wird vollständig unterstützt und für PrestaShop empfohlen.

Führen Sie den folgenden Befehl aus, um PHP und alle erforderlichen PHP-Module zu installieren:

sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap

Sobald der Installationsvorgang abgeschlossen ist, wird der PHP-FPM-Dienst automatisch gestartet. Sie können dies überprüfen, indem Sie Folgendes eingeben:

sudo systemctl status php7.2-fpm

Die Ausgabe sollte in etwa so aussehen:

* php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-03-24 11:53:33 PDT; 14s ago
     Docs: man:php-fpm7.2(8)
 Main PID: 15853 (php-fpm7.2)
   Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"

Führen Sie den folgenden sed aus Befehle zum Festlegen der empfohlenen PHP-Optionen:

sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

PrestaShop wird heruntergeladen #

Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste stabile Version von PrestaShop Version 1.7.6.2 .

Laden Sie die neueste Version von PrestaShop von der PrestaShop-Downloadseite mit dem folgenden wget-Befehl herunter:

cd /tmpwget https://download.prestashop.com/download/releases/prestashop_1.7.6.2.zip

Wenn der Download abgeschlossen ist, erstellen Sie ein Verzeichnis, das unsere PrestaShop-Dateien enthält:

sudo mkdir -p /var/www/html/example.com

Extrahieren Sie als Nächstes das PrestaShop-Archiv:

unzip prestashop_*.zip

Dieses Archiv enthält eine weitere ZIP-Datei „prestashop.zip“, die alle PrestaShop-Dateien enthält. Extrahieren Sie die Dateien in das Dokumentenstammverzeichnis der Domain:

sudo unzip prestashop.zip -d /var/www/html/example.com

Stellen Sie mit dem folgenden chown die richtigen Berechtigungen ein, damit der Webserver vollen Zugriff auf die Dateien und Verzeichnisse der Site hat Befehl:

sudo chown -R www-data: /var/www/html

Nginx konfigurieren #

Inzwischen sollte Nginx bereits mit einem SSL-Zertifikat auf Ihrem Ubuntu-Server installiert sein. Wenn nicht, überprüfen Sie die Voraussetzungen für dieses Tutorial.

Öffnen Sie Ihren Texteditor und erstellen Sie die folgende Datei:

sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
server {

    listen 80;
    listen 443 ssl http2;

    server_name example.com www.example.com;
    root /var/www/html/example.com;
    index index.php;

    # SSL parameters
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    # Cloudflare / Max CDN fix
    location ~* \.(eot|otf|ttf|woff(?:2)?)$ {
        add_header Access-Control-Allow-Origin *;
    }

    # Do not save logs for these
    location = /favicon.ico {
        auth_basic off;
        allow all;
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        auth_basic off;
        allow all;
        log_not_found off;
        access_log off;
    }

    # Images
    rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$1$2$3.jpg last;
    rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg last;
    rewrite ^/c/([0-9]+)(-[.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+.jpg$ /img/c/$1$2$3.jpg last;
    rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+.jpg$ /img/c/$1$2.jpg last;

    # AlphaImageLoader for IE and fancybox
    rewrite ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 last;

    # Web service API
    rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;

    # Installation sandbox
    rewrite ^(/install(?:-dev)?/sandbox)/(.*) /$1/test.php last;

    #Change this block to your admin folder
    location /admin_CHANGE_ME {
        if (!-e $request_filename) {
            rewrite ^/.*$ /admin_CHANGE_ME/index.php last;
        }
    }

    # File security
    # .htaccess .DS_Store .htpasswd etc
    location ~ /\. {
        deny all;
    }
    # Source code directories
    location ~ ^/(app|bin|cache|classes|config|controllers|docs|localization|override|src|tests|tools|translations|travis-scripts|vendor|var)/ {
        deny all;
    }
    # Prevent exposing other sensitive files
    location ~ \.(yml|log|tpl|twig|sass)$ {
        deny all;
    }

    # Prevent injection of php files
    location /upload {
        location ~ \.php$ {
            deny all;
        }
    }
    location /img {
        location ~ \.php$ {
            deny all;
        }
    }

    # PHP FPM part
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
}

Vergessen Sie nicht, example.com durch Ihre PrestaShop-Domain und „admin_CHANGE_ME“ durch Ihr Admin-Verzeichnis zu ersetzen. Sie finden den Verzeichnisnamen, indem Sie den Inhalt des Prestashop-Stammverzeichnisses auflisten:

sudo ls -l /var/www/html/example.com | grep admin

Stellen Sie außerdem sicher, dass Sie den richtigen Pfad zu den SSL-Zertifikatsdateien verwenden. Die in dieser Konfiguration verwendeten Snippets werden in diesem Handbuch erstellt.

Überprüfen Sie vor dem Neustart des Nginx-Dienstes die Konfiguration auf Syntaxfehler:

sudo nginx -t

Die Ausgabe sollte so aussehen:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starten Sie abschließend den Nginx-Dienst neu, indem Sie Folgendes eingeben:

sudo systemctl restart nginx

Installation von PrestaShop #

Nachdem PrestaShop heruntergeladen und die Serverkonfiguration abgeschlossen ist, können Sie die Installation über die Weboberfläche abschließen.

Öffnen Sie Ihren Browser, geben Sie Ihre Domain ein und ein Bildschirm ähnlich dem folgenden wird angezeigt:

Wählen Sie die Sprache aus, die Sie verwenden möchten, und klicken Sie auf die Schaltfläche „Weiter“.

Auf dem nächsten Bildschirm wird Ihnen die PrestaShop-Lizenzvereinbarung angezeigt. Lesen Sie die Lizenz und wählen Sie „Ich stimme den obigen Bedingungen zu“. um fortzufahren:

Als nächstes sehen Sie die folgende Informationsseite:

Stellen Sie sicher, dass alle Voraussetzungen vor der Installation erfüllt sind und Ihr System mit PrestaShop kompatibel ist.

Auf dem nächsten Bildschirm müssen Sie Ihre Geschäftsdaten eingeben. Die E-Mail-Adresse ist der Benutzername für den Zugriff auf das Administrations-Backend von PrestaShop.

Als nächstes fordert Sie der Einrichtungsassistent auf, Ihre Datenbankverbindungsdaten einzugeben. Geben Sie die MySQL-Benutzer- und Datenbankdetails ein, die Sie zuvor erstellt haben:

Klicken Sie auf die Schaltfläche „Weiter“ und die Installation beginnt:

Die Installation kann einige Minuten dauern, nach Abschluss wird die folgende Seite angezeigt, die Sie darüber informiert, dass PrestaShop installiert wurde.

Aus Sicherheitsgründen müssen Sie das Installationsverzeichnis löschen. Gehen Sie dazu zurück zum Terminal und geben Sie folgenden rm ein Befehl:

sudo rm -rf /var/www/html/example.com/install

Um auf Ihr administratives Dashboard von PrestaShop zuzugreifen, klicken Sie auf die Schaltfläche „Shop verwalten“. Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein und Sie werden zum Administrations-Dashboard weitergeleitet.

Von hier aus können Sie mit der Anpassung Ihrer PrestaShop-Installation beginnen und neue Produkte hinzufügen.


Ubuntu
  1. So installieren Sie MySQL 8.0 in Ubuntu 18.04

  2. So installieren Sie MySQL unter Ubuntu 20.04

  3. So installieren Sie MySQL unter Ubuntu 18.04

  4. So installieren Sie Magento 2 unter Ubuntu 18.04

  5. So installieren Sie PHP 7.4 / 7.3 / 7.2 unter Ubuntu 18.04 / Ubuntu 16.04

So installieren Sie Magento unter Ubuntu 14.04

So installieren Sie Gibbon unter Ubuntu 14.04

So installieren Sie Moodle unter Ubuntu 14.04

So installieren Sie Drupal unter Ubuntu 14.04

So installieren Sie den LAMP-Stack unter Ubuntu 17.04

So installieren Sie MySQL unter Ubuntu 22.04