Joomla ist ein Open-Source-Content-Management-System, das zum Veröffentlichen von Online-Anwendungen und Websites verwendet wird. Es ist in PHP geschrieben und verwendet MySQL/MariaDB als Datenbank-Backend. Es ist ein einfaches, benutzerfreundliches und auf einem für Mobilgeräte geeigneten Model-View-Controller-Webanwendungs-Framework aufgebaut. Joomla bietet eine Menge Funktionen und Designs, die es zu einer guten Wahl für die Erstellung professioneller Websites machen.
In diesem Tutorial zeigen wir Ihnen, wie Sie Joomla CMS mit Apache installieren und mit Let's Encrypt SSL unter Ubuntu 20.04 sichern.
Voraussetzungen
- Ein Server mit Ubuntu 20.04 und 2 GB RAM.
- Ein gültiger Domainname, der auf Ihren Server verweist.
- Auf Ihrem Server ist ein Root-Passwort konfiguriert.
LAMP-Server installieren
Zuerst müssen Sie den Apache-Webserver, MariaDB, PHP und andere PHP-Erweiterungen in Ihrem System installieren. Sie können sie mit dem folgenden Befehl installieren:
apt-get install apache2 mariadb-server php7.4 libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-json php7.4-opcache php7.4-mbstring php7.4-intl php7.4-xml php7.4-gd php7.4-zip php7.4-curl php7.4-xmlrpc unzip -y
Sobald alle Pakete installiert sind, bearbeiten Sie die Datei php.ini und ändern Sie einige Einstellungen.
nano /etc/php/7.4/apache2/php.ini
Ändern Sie die folgenden Werte:
memory_limit = 512M upload_max_filesize = 256M post_max_size = 256M output_buffering = Off max_execution_time = 300 date.timezone = Asia/Kolkata
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Datenbank erstellen
Sichern Sie zunächst die MariaDB-Installation und legen Sie das MariaDB-Root-Passwort mit dem folgenden Befehl fest:
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
Melden Sie sich als Nächstes mit dem folgenden Befehl bei der MariaDB-Shell an:
mysql -u root -p
Geben Sie Ihr MariaDB-Root-Passwort ein, wenn Sie dazu aufgefordert werden, und erstellen Sie dann mit dem folgenden Befehl eine Datenbank und einen Benutzer für Joomla:
MariaDB [(none)]> CREATE DATABASE joomladb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MariaDB [(none)]> GRANT ALL ON joomladb.* TO 'joomla'@'localhost' IDENTIFIED BY 'password';
Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Joomla herunterladen und installieren
Laden Sie zunächst die neueste Version von Joomla von der offiziellen Website mit dem folgenden Befehl herunter:
wget https://downloads.joomla.org/cms/joomla3/3-9-18/Joomla_3-9-18-Stable-Full_Package.zip
Sobald der Download abgeschlossen ist, entpacken Sie die heruntergeladene Datei mit dem folgenden Befehl in das Apache-Web-Root-Verzeichnis:
unzip Joomla_3-9-18-Stable-Full_Package.zip -d /var/www/html/joomla
Als nächstes ändern Sie den Besitz des Joomla-Verzeichnisses mit dem folgenden Befehl auf www-data:
chown -R www-data:www-data /var/www/html/joomla
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Apache für Joomla konfigurieren
Erstellen Sie als Nächstes eine neue Konfigurationsdatei für den virtuellen Apache-Host, um Joomla zu bedienen.
nano /etc/apache2/sites-available/joomla.conf
Fügen Sie den folgenden Inhalt hinzu:
<VirtualHost *:80> ServerName joomla.linuxbuz.com DirectoryIndex index.html index.php DocumentRoot /var/www/html/joomla ErrorLog ${APACHE_LOG_DIR}/joomla-error.log CustomLog ${APACHE_LOG_DIR}/joomla-access.log combined <Directory /var/www/html/joomla> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
Speichern und schließen Sie die Datei, aktivieren Sie dann den virtuellen Apache-Host und starten Sie den Apache-Dienst mit dem folgenden Befehl neu:
a2ensite joomla
systemctl restart apache2
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Joomla mit Let's Encrypt SSL sichern
Zuerst müssen Sie den Certbot-Client installieren, um Let’s Encrypt SSL zu installieren und zu verwalten. Sie können es mit dem folgenden Befehl installieren:
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 joomla.linuxbuz.com
Sie werden aufgefordert, Ihre E-Mail-Adresse anzugeben und die Nutzungsbedingungen wie unten gezeigt 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 joomla.linuxbuz.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/joomla-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/joomla-le-ssl.conf Enabling available site: /etc/apache2/sites-available/joomla-le-ssl.conf
Wählen Sie als Nächstes aus, ob der HTTP-Datenverkehr wie unten gezeigt an HTTPS umgeleitet werden soll:
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 wie unten gezeigt abzuschließen.
Redirecting vhost in /etc/apache2/sites-enabled/joomla.conf to ssl vhost in /etc/apache2/sites-available/joomla-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://joomla.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=joomla.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/joomla.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/joomla.linuxbuz.com/privkey.pem Your cert will expire on 2020-08-19. 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 - We were unable to subscribe you the EFF mailing list because your e-mail address appears to be invalid. You can try again later by visiting https://act.eff.org.besuchen
Zu diesem Zeitpunkt ist Ihre Joomla-Website mit Let's Encrypt SSL gesichert. Sie können jetzt mit dem nächsten Schritt fortfahren.
Zugriff auf Joomla CMS
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://joomla.linuxbuz.com ein. Sie werden zum webbasierten Installationsassistenten von Joomla weitergeleitet:
Geben Sie Ihren Site-Namen, Ihre Administrator-E-Mail-Adresse und Ihr Passwort ein und klicken Sie auf Weiter Taste. Sie sollten den Datenbankkonfigurationsassistenten sehen:
Geben Sie Ihren Joomla-Datenbanknamen, Datenbank-Benutzernamen und Ihr Passwort ein und klicken Sie auf Weiter Taste. Sie sollten die Finalisierungsseite von Joomla sehen:
Wählen Sie Ihre gewünschte Option und klicken Sie auf Installieren Taste. Sie sollten die folgende Seite sehen:
Überprüfen Sie alle Konfigurationen und klicken Sie auf die Schaltfläche Installieren. Sobald Joomla installiert wurde, sollten Sie den folgenden Bildschirm sehen:
Entfernen Sie nun das Installationsverzeichnis und klicken Sie auf den Administrator Taste. Sie sollten die Anmeldeseite von Joomla sehen:
Geben Sie Ihren Joomla-Benutzernamen und Ihr Passwort ein und klicken Sie auf Protokoll in Taste. Sie sollten das Joomla-Dashboard auf der folgenden Seite sehen:
Sie können auch auf Ihre Joomla-Website zugreifen, indem Sie die URL https://joomla.linuxbuz.com besuchen. Sie sollten Ihre Joomla-Website auf der folgenden Seite sehen:
Schlussfolgerung
Herzliche Glückwünsche! Sie haben Joomla erfolgreich mit Let’s Encrypt auf Ubuntu 20.04 installiert und gesichert. Sie können jetzt ganz einfach Ihren E-Commerce-Shop, Ihre persönliche Website, Ihre soziale Website oder Ihren Blog erstellen. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.