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’[email protected]‚. Bitte wählen Sie ein sicheres Passwort für den Magentouser auf Ihrem Server und nicht für den [email protected], 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 [email protected] identified by '[email protected]'; grant all privileges on magentodb.* to [email protected] identified by '[email protected]'; flush privileges; \q
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.
– 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.
– 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="[email protected]" \ --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 \ [email protected] \ [email protected] \ --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.
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.
Versuchen Sie, sich in das Magento Admin Dashboard einzuloggen:
www.newmagento.com/adminlogin
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.