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:
Klicken Sie auf die Schaltfläche Magento akzeptieren und einrichten. Sie sollten den Magento Readiness-Bildschirm sehen:
Klicken Sie auf die Schaltfläche Start Readiness Check. Sobald die Bereitschaftsprüfung abgeschlossen ist, sollten Sie den folgenden Bildschirm sehen:
Klicken Sie auf die Schaltfläche Next. Sie sollten den Bildschirm für die Datenbankeinrichtung sehen: Klicken Sie auf die Schaltfläche Weiter:
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:
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:
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:
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:
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:
Klicken Sie auf die Magento Admin-Adresse. Sie sollten die Magento-Administrationsseite sehen:
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:
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:
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.