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

So richten Sie Magento 2 mit Varnish und Apache unter Ubuntu 16.04 ein

Magento ist ein kostenloses Open-Source-Content-Management-System, das auf PHP, Zend-Framework und MySQL-Datenbank basiert. Es ist eine sehr beliebte E-Commerce-Webanwendung, die auf vielen Open-Source-Anwendungen wie Apache, MySQL und vielen mehr läuft. Magento wird mit vielen integrierten Modulen geliefert, die verwendet werden, um weitere Funktionen hinzuzufügen.

Varnish Cache ist ein leistungsstarker Open-Source-Beschleuniger für Webanwendungen, der auch als Caching-HTTP-Reverse-Proxy bekannt ist. Es wird verwendet, um Ihre Website zu beschleunigen, indem eine Kopie einer Webseite beim ersten Besuch eines Benutzers zwischengespeichert wird. Magento und Varnish ist eine bekannte Kombination, um die Leistung der Website erheblich zu steigern. Varnish ist standardmäßig in Magento 2 integriert. Sie müssen nur einige Konfigurationsänderungen vornehmen, damit es funktioniert.

In diesem Tutorial lernen wir, wie man Magento 2 mit Varnish als Ganzseiten-Cache auf einem Ubuntu 16.04-Server installiert.

Anforderungen

  • Ein Server mit Ubuntu 16.04.
  • Apache, PHP und MariaDB.
  • Ein Nicht-Root-Benutzer mit sudo-Berechtigungen, der auf Ihrem Server eingerichtet ist.

1 Erste Schritte

Bevor Sie beginnen, wird empfohlen, Ihr System mit dem neuesten Paket zu aktualisieren, indem Sie den folgenden Befehl ausführen:

sudo apt-get update -y
sudo apt-get upgrade -y

Sobald Ihr System auf dem neuesten Stand ist, starten Sie Ihr System neu und melden Sie sich mit sudo user.

an

2 LAMP-Server installieren

Magento funktioniert nicht ohne die Installation des LAMP-Stacks (Apache, PHP, MariaDB). Installieren Sie zuerst den Apache-Webserver und den Lack, indem Sie den folgenden Befehl ausführen:

sudo apt-get install apache2 varnish -y

Starten Sie nach der Installation von Apache den Apache-Dienst und ermöglichen Sie ihm, beim Booten zu starten, indem Sie den folgenden Befehl ausführen:

sudo systemctl start apache2
sudo systemctl enable apache2

Magento ist in der PHP-Sprache geschrieben, daher müssen Sie auch PHP mit allen Bibliotheken auf Ihrem System installieren. Sie können alle installieren, indem Sie den folgenden Befehl ausführen:

sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mbstring php7.0-mysql php7.0-mcrypt php7.0-xsl php-imagick php7.0-gd php7.0-cli php-pear php7.0-intl php7.0-curl php7.0-zip php7.0-gd php7.0-soap php7.0-xml -y

Nach der Installation von PHP zusammen mit allen erforderlichen Bibliotheken müssen Sie einige PHP-Standardeinstellungen ändern. Sie können dies tun, indem Sie die Datei php.ini bearbeiten:

sudo nano /etc/php/7.0/cli/php.ini

Ändern Sie die folgenden Zeilen:

memory_limit = 512
upload_max_filesize = 128M
zlib.output_compression = on
max_execution_time = 15000

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

3 Installieren und konfigurieren Sie MariaDB

Magento verwendet MariaDB als Datenbank. Sie müssen es also auf Ihrem Server installieren. Sie können es installieren, indem Sie einfach den folgenden Befehl ausführen:

sudo apt-get install mariadb-server -y

Starten Sie nach der Installation von MariaDB den MariaDB-Dienst und ermöglichen Sie ihm, beim Booten zu starten, indem Sie den folgenden Befehl ausführen:

sudo systemctl start mysql
sudo systemctl enable mysql

Standardmäßig ist MariaDB nicht gesichert, daher müssen Sie es sichern. Sie können es sichern, indem Sie den folgenden Befehl ausführen:

sudo mysql_secure_installation

Beantworten Sie alle Fragen wie unten gezeigt:

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n

 ... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

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

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

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

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

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

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Melden Sie sich als Nächstes mit dem folgenden Befehl bei der MariaDB-Shell an:

mysql -u root -p

Geben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden, und erstellen Sie dann mit dem folgenden Befehl eine Datenbank für Magento:

MariaDB [(none)]>CREATE DATABASE magento_db;

Nachdem Sie eine Datenbank für Magento erstellt haben, erstellen Sie einen Benutzernamen und ein Passwort mit dem folgenden Befehl:

MariaDB [(none)]>CREATE USER 'magento'@'localhost' IDENTIFIED BY 'password';

Als nächstes erteilen Sie der Magento-Datenbank mit dem folgenden Befehl Berechtigungen:

MariaDB [(none)]>GRANT ALL PRIVILEGES ON magento_db.* TO 'magento'@'localhost';

Führen Sie als Nächstes den Befehl FLUSH PRIVILEGES aus, um die Berechtigungen neu zu laden:

MariaDB [(none)]>FLUSH PRIVILEGES;

Verlassen Sie schließlich die MariaDB-Konsole mit dem folgenden Befehl:

MariaDB [(none)]>\q

4 Magento herunterladen

Zuerst müssen Sie die neueste Version von Magento von der offiziellen Website herunterladen.

Extrahieren Sie nach dem Herunterladen von Magento die heruntergeladene ZIP-Datei mit dem folgenden Befehl in das Apache-Web-Root-Verzeichnis:

sudo mkdir /var/www/html/magento/
sudo unzip magento2-develop.zip -d /var/www/html/magento

Ändern Sie als Nächstes den Eigentümer des Magento-Verzeichnisses und erteilen Sie ihm die entsprechende Berechtigung:

sudo chown -R www-data:www-data /var/www/html/magento
sudo chmod -R 777 /var/www/html/magento

Als nächstes müssen Sie Composer auf Ihrem System installieren. Composer ist ein Abhängigkeitsmanager, der verwendet wird, um alle erforderlichen PHP-Abhängigkeiten zu installieren. Sie können die Composer-Binärdatei mit dem folgenden Befehl herunterladen und installieren:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/bin/composer

Als nächstes führen Sie den Composer-Befehl aus, um alle von Magento benötigten Abhängigkeiten zu installieren:

cd /var/www/html/magento
sudo composer install

Sobald alle Abhängigkeiten installiert sind, können Sie mit der Konfiguration von Apache für Magento fortfahren.

5 Apache für Magento konfigurieren

Als Nächstes müssen Sie eine virtuelle Apache-Hostdatei für Magento erstellen. Erstellen Sie mit dem folgenden Befehl eine neue Apache-Konfigurationsdatei namens magento.conf:

sudo nano /etc/apache2/sites-available/magento.conf

Fügen Sie die folgenden Zeilen hinzu:

<VirtualHost *:8080>
ServerAdmin [email protected]
DocumentRoot /var/www/html/magento
ServerName 192.168.15.189
ServerAlias www.example.com
<Directory "/var/www/html/magento/">
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/magento-error_log
CustomLog /var/log/apache2/magento-access_log common
</VirtualHost>

Speichern Sie die Datei und aktivieren Sie dann Ihren virtuellen Host mit dem Apache-Rewrite-Modul mit dem folgenden Befehl:

sudo a2ensite magento
sudo a2enmod rewrite

Als nächstes müssen Sie auch den Apache-Listening-Port von 80 auf 8080 ändern. Weil wir Port 80 für Lack reservieren. Öffnen Sie dazu die Datei ports.conf:

sudo nano /etc/apache2/ports.conf

Ändern Sie die Datei wie unten gezeigt:

Listen 8080

Starten Sie abschließend den Apache-Dienst neu, um diese Änderungen mit dem folgenden Befehl zu übernehmen:

sudo systemctl restart apache2

6 Greifen Sie auf den Magento-Webinstallationsassistenten zu

Magento ist jetzt installiert, jetzt ist es an der Zeit, Magento über den Webbrowser zu installieren.

Öffnen Sie dazu Ihren Webbrowser und geben Sie die URL http://192.168.15.189:8080 ein, Sie sollten die folgende Seite sehen:

Stimmen Sie jetzt den Allgemeinen Geschäftsbedingungen zu und klicken Sie dann auf die Schaltfläche "Zustimmen und Magento einrichten". Sie sollten die folgende Seite sehen:

Überprüfen Sie alle Readiness und klicken Sie auf die Schaltfläche „Next“, Sie sollten die folgende Seite sehen:

Geben Sie Ihre Datenbankdetails wie Datenbankname, Datenbankbenutzername und Passwort ein und klicken Sie dann auf die Schaltfläche "Weiter". Sie sollten die folgende Seite sehen:

Geben Sie Ihre Website-Details ein und klicken Sie auf die Schaltfläche "Weiter". Sie sollten die folgende Seite sehen:

Passen Sie Magento nach Ihren Bedürfnissen an und klicken Sie auf die Schaltfläche "Weiter". Sie sollten die folgende Seite sehen:

Geben Sie Ihre Admin-Benutzerdaten ein und klicken Sie auf die Schaltfläche "Weiter". Sie sollten die folgende Seite sehen:

Klicken Sie nun auf die Schaltfläche „Jetzt installieren“, um die Magento-Installation zu starten. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Seite sehen:

Hinweis:Merken Sie sich Ihre Magento-Admin-URL:http://192.168.15.189/admin_wczta4. Dies wird verwendet, um auf den Magento-Admin zuzugreifen.

Klicken Sie nun auf die Schaltfläche „Launch Magento Admin“, Sie sollten die Magento-Anmeldeseite wie folgt sehen:

Geben Sie Ihre Magento-Admin-Anmeldeinformationen ein und klicken Sie auf die Schaltfläche „Anmelden“. Sie sollten das Magent-o-Dashboard wie folgt sehen:

Klicken Sie in Ihrem Magento-Admin-Dashboard auf die Schaltfläche STORES (links)> Konfiguration> ERWEITERT> System> Ganzseiten-Cache , deaktivieren Sie dann Systemwert verwenden und wählen Sie Varnish Cache aus der Caching-Anwendungsliste, speichern Sie die Konfiguration, klicken Sie auf den Link Varnish Configuration und klicken Sie auf die Schaltfläche VCL für Varnish 4 exportieren (dadurch wird die Datei polish.vcl in /var/www /html/magento/var Verzeichnis) wie unten gezeigt:

Leeren Sie schließlich den Magento-Cache mit dem folgenden Befehl:

cd /var/www/html/magento
sudo php bin/magento cache:flush

Wenn Sie fertig sind, können Sie mit der Konfiguration des Lacks fortfahren.

6 Lack konfigurieren

Magento ist nun installiert und konfiguriert. Es ist Zeit, den Lack zu konfigurieren.

Löschen Sie zuerst die Datei /etc/varnish/default.vcl und erstellen Sie einen Symlink von der exportierten Lackkonfiguration:

sudo rm -rf /etc/varnish/default.vcl
sudo ln -s /var/www/html/magento/var/varnish.vcl /etc/varnish/default.vcl

Als nächstes müssen Sie eine systemd-Dienstdatei für Lack erstellen. Sie können dies tun, indem Sie lack.service von /lib/systemd/system/ in das Verzeichnis /etc/systemd/system/ kopieren:

sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/

Nachdem Sie diese Datei kopiert haben, müssen Sie einige Änderungen in der Datei „firnis.service“ vornehmen:

sudo nano /etc/systemd/system/varnish.service

Nehmen Sie die folgenden Änderungen vor:

[Unit]
Description=Varnish HTTP accelerator
Documentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd

[Service]
Type=simple
LimitNOFILE=131072
LimitMEMLOCK=82000
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
ExecReload=/usr/share/varnish/reload-vcl
ProtectSystem=full
ProtectHome=true
PrivateTmp=true
PrivateDevices=true

[Install]
WantedBy=multi-user.target

Speichern Sie die Datei, wenn Sie fertig sind, und starten Sie dann den Lackdienst mit dem folgenden Befehl neu:

sudo systemctl daemon-reload
sudo systemctl reload varnish.service

Wenn alles gut funktioniert, sollten Sie sich bei Ihrem Magento-Backend anmelden können, indem Sie die folgende URL in Ihren Webbrowser eingeben:

http://192.168.15.189/admin_wczta4

Sie können auch überprüfen, ob Lack aktiviert ist oder nicht, indem Sie den folgenden Befehl ausführen:

curl -I http://192.168.15.189/admin_wczta4

Sie sollten sehen, dass Lack aktiviert ist:

Date: Fri, 07 Jul 2017 17:10:01 GMT
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie: store=default; expires=Sat, 07-Jul-2018 17:10:03 GMT; Max-Age=31536000; path=/; HttpOnly
Set-Cookie: PHPSESSID=irp2k8cmrhct0dfh18qk7ap0i4; expires=Fri, 07-Jul-2017 18:10:04 GMT; Max-Age=3600; path=/; domain=192.168.15.189; HttpOnly
Expires: Thu, 07 Jul 2016 17:10:04 GMT
Cache-Control: max-age=0, must-revalidate, no-cache, no-store
Pragma: no-cache
Location: http://192.168.15.189/admin_wczta4/?SID=irp2k8cmrhct0dfh18qk7ap0i4
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Varnish: 2
Age: 0
Via: 1.1 varnish-v4
Connection: keep-alive

Herzliche Glückwünsche! Sie haben Magento mit Varnish auf dem Ubuntu 16.04-Server erfolgreich konfiguriert.


Ubuntu
  1. So installieren Sie Apache unter Ubuntu 18.04

  2. So installieren und konfigurieren Sie Nextcloud mit Apache unter Ubuntu 18.04

  3. So installieren Sie Joomla mit Apache unter Ubuntu 18.04

  4. So richten Sie Opencart mit LAMP (PHP, Apache, Mariadb) unter Ubuntu 20.04 ein

  5. Wie installiere und konfiguriere ich Varnish unter Ubuntu 20.04?

So richten Sie die UFW-Firewall unter Ubuntu 20.04 ein und konfigurieren sie

So installieren Sie Lighttpd mit PHP und MariaDB unter Ubuntu 15.04

So installieren Sie Lighttpd mit MariaDB und PHP unter Ubuntu 18.04 LTS

So richten Sie den virtuellen Host Apache unter Ubuntu 20.04 LTS ein

So installieren und konfigurieren Sie Apache Spark unter Ubuntu/Debian

So installieren Sie Magento 2.4.3 auf Ubuntu 20.04 mit LAMP