Installation der Magento E-Commerce-Plattform mit Apache2 und Let’s Encrypt auf Ubuntu 20.04

Magento ist eine kostenlose und Open-Source E-Commerce-Webanwendung, mit der Sie in wenigen Minuten einen voll funktionsfähigen E-Commerce-Shop erstellen können. Sie ist in PHP geschrieben und kombiniert leistungsstarke Funktionen mit Flexibilität und einer benutzerfreundlichen Oberfläche. Es ist eine der beliebtesten Lösungen für selbst gehostete Online-Shops aufgrund seiner Einfachheit und seines leistungsstarken Verwaltungspanels. Sie verfügt über eine reichhaltige Palette an Funktionen, einschließlich Website-Verwaltung, SEO, Katalogverwaltung, Produkt- und Katalog-Browsing, Bestellverwaltung, Kasse, Werbe- und Konvertierungswerkzeuge und vieles mehr.

In diesem Tutorial zeigen wir Ihnen, wie Sie die E-Commerce-Plattform Magento mit Apache und Let’s Encrypt SSL auf Ubuntu 20.04 installieren.

Vorraussetzungen

  • Ein Server unter Ubuntu 20.04 mit 4 GB RAM.
  • Ein gültiger Domain-Name, der auf Ihren Server zeigt.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

LAMP-Server installieren

Magento läuft auf dem Webserver, ist in PHP geschrieben und verwendet MariaDB als Datenbank. Sie müssen also einen LAMP-Stack auf Ihrem Server installieren.

Installieren Sie zunächst den Apache-Webserver und MariaDB-Server mit folgendem Befehl:

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

Die neueste Version von Magento ist nur mit PHP 7.1.3+ und 7.2.x kompatibel. Sie müssen also die unterstützten PHP-Versionen mit den erforderlichen Erweiterungen auf Ihrem Server installieren.

Standardmässig wird Ubuntu 20.04 mit PHP Version 7.4 ausgeliefert. Sie müssen also das Ondrej-PPA in Ihrem System hinzufügen, um andere PHP-Versionen installieren zu können.

Sie können das Ondrej PHP PPA mit dem folgenden Befehl hinzufügen:

apt-get install software-properties-common -y
add-apt-repository ppa:ondrej/php

Aktualisieren Sie dann das Repository und installieren Sie PHP mit anderen erforderlichen Erweiterungen mit dem folgenden Befehl:

apt-get install php7.2 libapache2-mod-php7.2 php7.2-bcmath php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-ldap php7.2-zip php7.2-curl wget curl unzip -y

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

MariaDB-Datenbank konfigurieren

Standardmäßig ist die MariaDB nicht gesichert. Daher ist es eine gute Idee, das Root-Passwort von MariaDB zu sichern und zu setzen. Sie können dies mit dem folgenden Befehl tun:

mysql_secure_installation

Beantworten Sie alle Fragen wie unten gezeigt:

Enter current password for root (enter for none): 
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Sobald die MariaDB gesichert ist, melden Sie sich in der MariaDB-Shell an:

mysql -u root -p

Geben Sie Ihr MariaDB Root-Passwort ein und erstellen Sie dann eine Datenbank und einen Benutzer für Magento:

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

Als nächstes gewähren Sie alle Privilegien für die Magento-Datenbank mit dem folgenden Befehl:

MariaDB [(none)]> GRANT ALL ON magentodb.* TO 'magento'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Als nächstes löschen Sie die Privilegien und verlassen die MariaDB-Shell mit dem folgenden Befehl:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Magento herunterladen

Zum Zeitpunkt der Erstellung dieses Tutorials ist die neueste Version von Magento 2.3.5. Sie können sie von der offiziellen Download-Seite von Magento herunterladen.

Nach dem Download entpacken Sie die heruntergeladene Datei mit folgendem Befehl in das Apache-Web-Stammverzeichnis:

mkdir /var/www/html/magento
tar -xvjf magento-ce* -C /var/www/html/magento/

Als Nächstes müssen Sie dem magentofarbenen Verzeichnis die ordnungsgemäße Eigentümerschaft und Genehmigung erteilen:

chown -R www-data:www-data /var/www/html/magento/
chmod -R 755 /var/www/html/magento/

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Konfigurieren Sie Apache für Magento

Als Nächstes erstellen Sie eine neue Apache-Konfigurationsdatei für virtuelle Hosts, um die Magento-Website bereitzustellen.

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

Fügen Sie die folgenden Zeilen hinzu:

<VirtualHost *:80>
     ServerAdmin admin@example.com
     DocumentRoot /var/www/html/magento/
     ServerName magento.linuxbuz.com
     <Directory /var/www/html/magento/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
     </Directory>
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Speichern und schließen Sie die Datei und aktivieren Sie dann den virtuellen Magento-Host und das Apache-Rewrite-Modul mit dem folgenden Befehl:

a2ensite magento.conf
a2enmod rewrite

Starten Sie schließlich den Apache-Dienst neu, um die Änderungen zu implementieren:

systemctl restart apache2

Zu diesem Zeitpunkt ist der Apache-Webserver für Magento konfiguriert.

Sicheres Magento mit Let’s Encrypt SSL

Es ist immer eine gute Idee, Ihre Website mit Let’s Encrypt free SSL zu sichern. Installieren Sie zunächst den Certbot-Client auf Ihrem Server, um Let’s Encrypt SSL für Ihre Website herunterzuladen und zu konfigurieren.

apt-get install certbot python3-certbot-apache -y

Sobald der Certbot installiert ist, führen Sie den folgenden Befehl aus, um Let’s Encrypt SSL für Ihre Website herunterzuladen und zu installieren:

certbot --apache -d magento.linuxbuz.com

Sie werden gebeten, Ihre gültige E-Mail einzugeben und die unten angezeigte Dienstzeit zu akzeptieren:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): hitjethva@gmail.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for magento.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/magento-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/magento-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/magento-le-ssl.conf

Als Nächstes werden Sie gefragt, ob HTTP-Verkehr auf HTTPS umgeleitet werden soll oder nicht:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Geben Sie 2 ein und drücken Sie Enter, um die Installation abzuschließen.

Redirecting vhost in /etc/apache2/sites-enabled/magento.conf to ssl vhost in /etc/apache2/sites-available/magento-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://magento.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=magento.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/magento.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/magento.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-08-11. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Zugang zur Magento-Website

Zu diesem Zeitpunkt ist Ihre Magento-Website mit Let’s Encrypt SSL gesichert.

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://magento.linuxbuz.com ein. Sie werden zum webbasierten Magento Installationsassistenten weitergeleitet:

Magento-Einrichtung

Klicken Sie auf die Schaltfläche Magento akzeptieren und einrichten. Sie sollten den Magento Readiness-Bildschirm sehen:

Bereitschaftsprüfung

Klicken Sie auf die Schaltfläche Start Readiness Check. Sobald die Bereitschaftsprüfung abgeschlossen ist, sollten Sie den folgenden Bildschirm sehen:

Alle Voraussetzungen sind erfüllt

Klicken Sie auf die Schaltfläche Next. Sie sollten den Bildschirm für die Datenbankeinrichtung sehen: Klicken Sie auf die Schaltfläche Weiter:

Konfigurieren Sie die Datenbank

Geben Sie den Namen Ihrer Magento-Datenbank, den Datenbank-Benutzernamen und das Passwort ein und klicken Sie auf die Schaltfläche Weiter. Sie sollten den Magento Web-Konfigurationsassistenten sehen:

Web-Konfiguration

Geben Sie Ihre Magento Store- und Admin-Adresse an, aktivieren Sie HTTPS und klicken Sie auf die Schaltfläche Weiter. Sie sollten den Store-Anpassungsbildschirm sehen:

Benutzerdefinierte Speichereinstellungen

Stellen Sie Ihre bevorzugte Zeitzone, Währung und Sprache ein und klicken Sie auf die Schaltfläche Next. Sie sollten den Bildschirm zur Erstellung des Admin-Benutzers sehen:

Einen Admin-Benutzer erstellen

Geben Sie Ihren Admin-Benutzernamen, Ihre E-Mail-Adresse und Ihr Passwort ein und klicken Sie auf die Schaltfläche Weiter. Sie sollten den folgenden Bildschirm sehen:

Jetzt installieren

Klicken Sie auf die Schaltfläche Jetzt installieren, um die Installation zu starten. Wenn die Installation erfolgreich abgeschlossen ist, sollten Sie den folgenden Bildschirm sehen:

Installation erfolgreich

Klicken Sie auf die Magento Admin-Adresse. Sie sollten die Magento-Administrationsseite sehen:

Magento-Anmeldung

Geben Sie Ihren Magento-Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche Anmelden. Auf dem folgenden Bildschirm sollten Sie das Magento-Dashboard sehen:

Magento-Dashboard

Sie können auch über die URL https://magento.linuxbuz.com auf den Magento-Store zugreifen. Sie sollten den folgenden Bildschirm sehen: Sie können auch über die URL auf den Magento-Shop zugreifen:

Magento-Startseite

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben Magento mit Let’s Encrypt SSL auf Ubuntu 20.04 erfolgreich installiert. Sie können nun ganz einfach Ihren eigenen Online-Shop einrichten. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Das könnte dich auch interessieren …