Android

Wie installiere ich prestashop auf Ubuntu 18.04

Google Cloud FTP Setup with FileZilla

Google Cloud FTP Setup with FileZilla

Inhaltsverzeichnis:

Anonim

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 der intuitiven Verwaltungsoberfläche, mehreren Zahlungs-Gateways, mehreren Sprachen, Analysen und Berichten ist PrestaShop eine 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 werden Nginx als Webserver, das neueste PHP 7.2 und MySQL / MariaDB als Datenbankserver verwenden.

Voraussetzungen

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

  • Verfügen Sie über einen Domainnamen, der auf Ihre öffentliche Server-IP verweist. Wir werden example.com Nginx wird auf Ihrem Ubuntu-Server installiert, indem Sie diese Anweisungen befolgen. Ein für Ihre Domain installiertes SSL-Zertifikat zum Verschlüsseln der Benutzerinformationen. Sie können ein kostenloses Let's Encrypt SSL-Zertifikat installieren, indem Sie diese Anweisungen befolgen.

Aktualisieren Sie die Systempakete auf die neuesten Versionen und installieren Sie das Dienstprogramm zum Entpacken:

sudo apt update && sudo apt upgrade sudo 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. Installieren Sie andernfalls das MySQL 5.7-Serverpaket aus den Ubuntu-Standardrepositorys, indem Sie Folgendes eingeben:

sudo apt install mysql-server mysql-client Für neue MySQL-Installationen wird empfohlen, den Befehl mysql_secure_installation , 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 prestashop :

GRANT ALL ON prestashop.* TO 'prestashop'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Vergessen Sie nicht, change-with-strong-password durch ein sicheres Passwort zu ersetzen.

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

EXIT;

PHP installieren und konfigurieren

PHP 7.2 ist die Standard-PHP-Version in Ubuntu 18.04 und wird für PrestaShop vollständig unterstützt und 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

Nach Abschluss des Installationsvorgangs 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 ungefähr 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 die folgenden sed Befehle aus, um die empfohlenen PHP-Optionen festzulegen:

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

PrestaShop wird heruntergeladen

Zum Zeitpunkt des Schreibens dieses Artikels ist die neueste stabile Version von PrestaShop Version 1.7.6.2 .

Laden Sie die neueste Version von PrestaShop mithilfe des folgenden Befehls wget von der PrestaShop-Downloadseite herunter:

cd /tmp wget

Wenn der Download abgeschlossen ist, erstellen Sie ein Verzeichnis, in dem sich unsere PrestaShop-Dateien befinden:

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

Als nächstes extrahieren Sie 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 Domäne:

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

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

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 Lernprogramm.

Ö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 ^/()(-*)?(-+)?/.+.jpg$ /img/p/$1/$1$2$3.jpg last; rewrite ^/()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last; rewrite ^/()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last; rewrite ^/()()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last; rewrite ^/()()()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last; rewrite ^/()()()()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last; rewrite ^/()()()()()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last; rewrite ^/()()()()()()()()(-*)?(-+)?/.+.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/(+)(-*)(-+)?/.+.jpg$ /img/c/$1$2$3.jpg last; rewrite ^/c/(+)(-+)?/.+.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-Zertifikatdateien 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 folgendermaßen aussehen:

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

Starten Sie schließlich den Nginx-Dienst neu, indem Sie Folgendes eingeben:

sudo systemctl restart nginx

PrestaShop installieren

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:

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

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

Um auf Ihr PrestaShop-Verwaltungs-Dashboard zuzugreifen, klicken Sie auf die Schaltfläche "Store verwalten". Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein, und Sie werden zum Administrations-Dashboard weitergeleitet.

Von hier aus können Sie Ihre PrestaShop-Installation anpassen und neue Produkte hinzufügen.

Fazit

Sie haben PrestaShop erfolgreich auf Ihrem Ubuntu 18.04-Server installiert. Die PrestaShop-Dokumentation ist ein guter Ausgangspunkt, um mehr über die Verwaltung Ihrer PrestaShop-Installation zu erfahren.

Ubuntu Prestashop MySQL PHP Nginx E-Commerce