Wie man Magento mit Nginx auf Ubuntu 16.04 installiert

Magento ist eine Open-Source-E-Commerce-Software und ein Content-Management-System für E-Commerce-Websites, das auf dem PHP Zend Framework basiert. Es verwendet MySQL oder MariaDB als Datenbank-Backend. Die Magento-Entwicklung wurde 2008 von Varien gestartet.

In diesem Tutorial zeige ich Ihnen, wie Sie Magento 2 mit Nginx, PHP 7.0 im FPM-Modus und MariaDB als Datenbank installieren. Ich werde ubuntu 16.04 (Xenial Xerus) als Server-Betriebssystem verwenden.

Voraussetzungen:

  • Ubuntu 16.04 – 64 bit.
  • Root-Privilegien.

Schritt 1 – Nginx installieren

Melden Sie sich mit Ihrem Root-Konto (z.B. per SSH) auf Ihrem Ubuntu-Server an und aktualisieren Sie das Repository.

sudo su
apt-get update

Dann installieren Sie Nginx:

apt-get install nginx -y

Überprüfen Sie, ob nginx ordnungsgemäß installiert wurde, indem Sie den Port überprüfen:

netstat -plntu | grep 80

Schritt 2 – Installation und Konfiguration von PHP-FPM

In diesem Schritt werden wir PHP 7 im PHP-FPM-Modus installieren. Zusätzlich werden wir die folgenden PHP-Erweiterungen installieren, die von magento benötigt werden.

  • php-gd
  • php-mhash
  • php-verschlüsselung
  • php-xsl
  • php-Birne
  • php-Seife

Installieren Sie die Pakete mit dem untenstehenden Befehl apt:

apt-get install php7.0-fpm php7.0-mcrypt php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0-json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-zip php-soap libcurl3 curl -y

Bearbeiten Sie nun die php.ini-Dateien für fpm und cli.

vim /etc/php/7.0/fpm/php.ini
vim /etc/php/7.0/cli/php.ini

und erhöhen Sie das Speicherlimit und die php-Ausführungszeit und aktivieren Sie die zlib-Komprimierung, indem Sie die folgenden Zeilen am Ende der Dateien hinzufügen:

memory_limit = 512M
max_execution_time = 1800
zlib.output_compression = On

Speichern Sie die Datei und verlassen Sie den Editor.

Starten Sie den PHP-FPM-Dienst neu, um die Konfigurationsänderungen zu übernehmen:

systemctl restart php7.0-fpm

Schritt 3 – MariaDB installieren und konfigurieren

Ich werde hier MariaDB anstelle von MySQL verwenden. Installieren Sie MariaDB mit dem Befehl apt:

apt-get install mariadb-server mariadb-client -y

Setzen Sie mit diesem Befehl das MariaDB root-Benutzerpasswort:

mysqladmin -u root password mypassword
mysql_secure_installation

Set root password? [Y/n] Y
New password:
Re-enter new password: <– Enter the new password

Remove anonymous users? [Y/n] Y
… Success!

Disallow root login remotely? [Y/n] Y
… Success!

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y
… Success!

Dann verbinden Sie sich mit Ihrem Root-Passwort mit der MySQL-Shell (die MariaDB-Shell wird mit dem Befehl mysql gestartet), erstellen Sie eine Datenbank mit dem Namen’magentodb‘ und einen Benutzer’magentouser‚ mit dem Passwort’magentouser@‚. Bitte wählen Sie ein sicheres Passwort für den Magentouser auf Ihrem Server und nicht für den Magentouser@, den ich in diesem Beispiel verwendet habe!

Melden Sie sich an der MySQL-Shell an:

mysql -u root -p

Führen Sie in der MySQL-Shell diese Befehle aus:

create database magentodb;
create user magentouser@localhost identified by 'magentouser@';
grant all privileges on magentodb.* to magentouser@localhost identified by 'magentouser@';
flush privileges;
\q

Erstellen der Magento-Datenbank

Datenbank erstellt und konfiguriert.

Schritt 4 – Installation und Konfiguration von Magento 2

Wir werden Magento im Verzeichnis’/var/wwww/magento2′ installieren. Für die Magento-Installation benötigen wir den PHP-Composer.

– PHP-Komponisten installieren

Gehen Sie in das Stammverzeichnis, laden Sie die composer-Installationsdatei mit curl herunter und führen Sie sie aus, um composer zu installieren.

cd ~/
curl -sS https://getcomposer.org/installer | php

Verschieben Sie die Datei’composer.phar‘ in das bin-Verzeichnis Ihres Servers und benennen Sie sie in composer um, damit sie einfach ausgeführt werden kann:

mv composer.phar /usr/bin/composer

Vergewissern Sie sich nun, dass der Befehl composer funktioniert:

composer -v

– Herunterladen und Entpacken von Magento 2

Gehen Sie in das Webverzeichnis ‚/var/www/‘ und laden Sie Magento aus dem Github-Repository herunter, entpacken Sie dann die heruntergeladene tar.gz-Datei:

cd /var/www/
wget https://github.com/magento/magento2/archive/2.0.7.tar.gz
tar -xzvf 2.0.7.tar.gz
mv magento2-2.0.7/ magento2/

Erledigt.

– Konfigurieren des Magento-Keys

Registrieren Sie ein Konto auf der Magento-Website repo.magento.com. Dieses Konto ist erforderlich, um Magento und den Magento composer store zu nutzen. Wenn Sie sich registriert haben, gehen Sie auf die Registerkarte‘Mein Konto > Entwickler > Sichere Schlüssel‘ und generieren Sie als nächstes Ihre Schlüssel.

Konfigurieren des Magento-Schlüssels

– Installation von Komponenten von Drittanbietern für Magento

Gehen Sie in das Magento 2 Installationsverzeichnis ‚/var/wwww/magento2‘ und führen Sie den composer-Befehl aus:

cd /var/www/magento2/
composer install -v

Sie werden nach der Magento-Authentifizierung gefragt, verwenden Sie den öffentlichen Schlüssel als Benutzernamen und den privaten Schlüssel für das Passwort.

Magento mit Komponist installieren

– Den Nginx Virtualhost konfigurieren

Magento bietet eine vorgefertigte virtuelle Nginx-Host-Konfiguration, die wir einfach in unsere Konfiguration aufnehmen müssen.

Gehen Sie in das virtuelle Nginx-Hostverzeichnis und erstellen Sie eine neue Datei namens magento:

cd /etc/nginx/sites-available/
vim magento

Füge die Konfiguration unten ein:

upstream fastcgi_backend {
        server  unix:/run/php/php7.0-fpm.sock;
}
server {

listen 80;
server_name www.newmagento.com;
set $MAGE_ROOT /var/www/magento2;
set $MAGE_MODE developer;
include /var/www/magento2/nginx.conf.sample;
}

Ersetzen Sie www.newmagento.com durch den Domainnamen der Website, die Ihr Shop nutzen soll.

Speichern und beenden.

Aktivieren Sie nun den virtuellen Host und starten Sie Nginx neu:

ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
systemctl restart nginx

– Magento installieren

Wir werden magento auf der Kommandozeile installieren. Im Magento-Verzeichnis ‚/var/wwww/magento2/‘ gibt es eine Binärdatei mit dem Namen’magento‘, die zur Installation und Verwaltung von magento verwendet wird. Führen Sie den Befehl aus:

bin/magento setup:install --backend-frontname="adminlogin" \
--key="biY8vdWx4w8KV5Q59380Fejy36l6ssUb" \
--db-host="localhost" \
--db-name="magentodb" \
--db-user="magentouser" \
--db-password="magentouser@" \
--language="en_US" \
--currency="USD" \
--timezone="America/New_York" \
--use-rewrites=1 \
--use-secure=0 \
--base-url="http://www.newmagento.com" \
--base-url-secure="https://www.newmagento.com" \
--admin-user=adminuser \
--admin-password=admin123@ \
--admin-email=admin@newmagento.com \
--admin-firstname=admin \
--admin-lastname=user \
--cleanup-database

Backend-Frontname = die Admin-Seite für unsere Magento-Seite, wir verwenden ‚adminlogin‚.
Key = unsere Magento-Schlüssel, wir können sie generieren, oder sie zufällig auf http://randomkeygen.com/. finden.
Base-url = Stellen Sie sicher, dass es mit der Konfiguration des virtuellen Hosts identisch ist.

Magento-Installation abgeschlossen

Am Ende des Installationsvorgangs sollten Sie diese Zeilen sehen:

[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /adminlogin

Bevor wir die Magento-Installation testen, stellen Sie sicher, dass der Besitzer des Webverzeichnisses‘www-data‚ ist, und starten Sie dann nginx neu.

cd /var/www/magento2/
chmod 700 /var/www/magento2/app/etc
chown -R www-data:www-data .
systemctl restart nginx

Öffnen Sie nun die Magento-Domain in Ihrem Browser:

In meinem Fall lautet der Domainname: www.newmagento.com.

Magento Startseite

Versuchen Sie, sich in das Magento Admin Dashboard einzuloggen:

www.newmagento.com/adminlogin

Magento Admin Login

 

Magento Admin Dashboard

Hinweis:

Wenn Sie einen Fehler über einen fehlenden Magento Indexer Cronjob erhalten, dann können Sie ihn lösen, indem Sie den folgenden Cronjob zu Ihrem Server hinzufügen:

crontab -u www-data -e

Füge die folgenden Zeilen hinzu:

* * * * * /usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/magento2/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/magento2/update/cron.php >> /var/www/magento2/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/magento2/bin/magento setup:cron:run >> /var/www/magento2/var/log/setup.cron.log

Speichern und beenden.

Magento 2 mit Nginx und PHP-FPM 7 auf Ubuntu 16.04 ist nun installiert.

Fazit

Magento ist eine Open Source E-Commerce-Plattform, die auf dem PHP Zend Framework basiert. Es ist eine komplexe E-Commerce-Software, die Ihnen bei Ihrem Online-Geschäft hilft. Magento verwendet eine MVC (Model-View-Controller) Architektur und MySQL oder MariaDB als Datenbank. Magento ist einfach zu installieren, wir können es mit Nginx oder Apache Webserver installieren. Magento hat sich zu einer der beliebtesten E-Commerce-Software im Internet entwickelt und wird von vielen erfolgreichen Shop-Websites weltweit eingesetzt.

Das könnte Dich auch interessieren …