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

Installation der Magento E-Commerce-Plattform mit Apache2 und Lets Encrypt auf Ubuntu 20.04

Magento ist eine kostenlose Open-Source-E-Commerce-Webanwendung, mit der Sie in wenigen Minuten einen voll funktionsfähigen E-Commerce-Shop erstellen können. Es ist in PHP geschrieben und kombiniert leistungsstarke Funktionen mit Flexibilität und einer benutzerfreundlichen Oberfläche. Aufgrund seiner Einfachheit und seines leistungsstarken Admin-Panels ist es eine der beliebtesten Lösungen für selbst gehostete Online-Shops. Es verfügt über eine Vielzahl von Funktionen, darunter Websiteverwaltung, SEO, Katalogverwaltung, Produkt- und Katalogsuche, Bestellverwaltung, Checkout, Werbe- und Konvertierungstools und vieles mehr.

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

Voraussetzungen

  • Ein Server mit Ubuntu 20.04 und 4 GB RAM.
  • Ein gültiger Domainname, der auf Ihren Server verweist.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

LAMP-Server installieren

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

Installieren Sie zuerst den Apache-Webserver und den MariaDB-Server mit dem folgenden 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. Daher müssen Sie die unterstützten PHP-Versionen mit den erforderlichen Erweiterungen auf Ihrem Server installieren.

Standardmäßig wird Ubuntu 20.04 mit PHP Version 7.4 ausgeliefert. Daher müssen Sie das Ondrej-PPA zu Ihrem System hinzufügen, um andere PHP-Versionen zu installieren.

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 als Nächstes 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

Wenn 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 MariaDB-Root-Passwort zu sichern und festzulegen. 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 bei 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 erteilen Sie der Magento-Datenbank mit dem folgenden Befehl alle Berechtigungen:

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

Löschen Sie als Nächstes die Berechtigungen und verlassen Sie die MariaDB-Shell mit dem folgenden Befehl:

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

Sobald 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 es von der offiziellen Download-Seite von Magento herunterladen.

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

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

Geben Sie als Nächstes dem Magento-Verzeichnis die ordnungsgemäße Eigentümerschaft und Berechtigung:

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

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

Apache für Magento konfigurieren

Erstellen Sie als Nächstes eine neue Konfigurationsdatei für den virtuellen Apache-Host, um die Magento-Website bereitzustellen.

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

Fügen Sie die folgenden Zeilen hinzu:

<VirtualHost *:80>
     ServerAdmin [email protected]
     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 abschließend den Apache-Dienst neu, um die Änderungen zu implementieren:

systemctl restart apache2

Zu diesem Zeitpunkt ist der Apache-Webserver so konfiguriert, dass er Magento bedient.

Magento mit Let's Encrypt SSL sichern

Es ist immer eine gute Idee, Ihre Website mit dem kostenlosen SSL von Let’s Encrypt zu sichern. Installieren Sie zuerst 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

Führen Sie nach der Installation von Certbot 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 aufgefordert, Ihre gültige E-Mail-Adresse anzugeben und die unten aufgeführten Nutzungsbedingungen 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): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 Sie den HTTP-Datenverkehr an HTTPS umleiten möchten 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

Greifen Sie auf die Magento-Website zu

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 Installationsassistenten von Magento weitergeleitet:

Klicken Sie auf Zustimmen und Einrichtung Magento Taste. Sie sollten den Magento-Bereitschaftsbildschirm sehen:

Klicken Sie auf Start Bereitschaft Prüfen Taste. Sobald die Bereitschaftsprüfung abgeschlossen ist, sollten Sie den folgenden Bildschirm sehen:

Klicken Sie auf Weiter Taste. Sie sollten den Datenbank-Setup-Bildschirm sehen:

Geben Sie Ihren Magento-Datenbanknamen, Datenbank-Benutzernamen und Ihr Passwort ein und klicken Sie auf Weiter Taste. Sie sollten den Magento-Webkonfigurationsassistenten sehen:

Geben Sie Ihren Magento Store und Ihre Admin-Adresse an, aktivieren Sie HTTPS und klicken Sie auf Weiter Taste. Sie sollten den Anpassungsbildschirm des Shops sehen:

Legen Sie Ihre bevorzugte Zeitzone, Währung und Sprache fest und klicken Sie auf Weiter Taste. Sie sollten den Bildschirm zum Erstellen des Admin-Benutzers sehen:

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

Klicken Sie auf Installieren Jetzt Schaltfläche, um die Installation zu starten. Sobald die Installation erfolgreich abgeschlossen wurde, sollten Sie den folgenden Bildschirm sehen:

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

Geben Sie Ihren Magento-Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf Sign in Taste. Sie sollten das Magento-Dashboard auf dem folgenden Bildschirm sehen:

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

Schlussfolgerung

Herzliche Glückwünsche! Sie haben Magento mit Let’s Encrypt SSL erfolgreich auf Ubuntu 20.04 installiert. Sie können jetzt ganz einfach Ihren eigenen Online-Shop bereitstellen. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.


Ubuntu
  1. So sichern Sie Nginx mit Lets Encrypt auf Ubuntu 20.04 / 18.04

  2. WordPress Installation auf Ubuntu Linux mit Apache und MySQL

  3. Sichern Sie Nginx mit Lets Encrypt auf Ubuntu 18.04

  4. Sichern Sie Nginx mit Lets Encrypt auf Ubuntu 16.04

  5. So installieren Sie Nextcloud mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04 LTS

So installieren Sie Vanilla Forums mit Apache und Lets Encrypt SSL unter Ubuntu 20.04 LTS

So installieren Sie Shopware 6 mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04

So installieren Sie ProjectSend mit Apache und Lets Encrypt SSL unter Ubuntu 20.04

So installieren Sie Moodle mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04

So installieren Sie MediaWiki mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04

So installieren Sie Gitea mit Nginx und kostenlosem Lets Encrypt SSL unter Ubuntu 20.04