Wie installiere ich WordPress mit Nginx auf AlmaLinux 8
WordPress ist ein kostenloses, quelloffenes und weltweit beliebtestes CMS, das komplett in PHP entwickelt wurde. Es wird von tausenden Menschen rund um den Globus genutzt, um Blogs, Business-Websites und E-Commerce-Shops zu betreiben. Es hat einige großartige Features, wie z.B. ein einfaches und leicht zu bedienendes Admin-Panel, tausende von Plugins, eine riesige Community, tiefgreifendes Theming, Anpassungsmöglichkeiten und vieles mehr.
In dieser Anleitung zeigen wir dir, wie du WordPress mit Apache und Let’s Encrypt SSL auf AlmaLinux 8 installierst.
Voraussetzungen
- Ein Server, auf dem AlmaLinux 8 läuft.
- Ein gültiger Domainname, der auf die IP deines Servers zeigt.
- Ein Root-Passwort ist auf dem Server konfiguriert.
LAMP Server installieren
WordPress benötigt den LAMP Server, der auf deinem Server installiert werden muss. Du kannst ihn mit dem folgenden Befehl installieren:
dnf install httpd mariadb-server php php-mysqlnd php-dom php-simplexml php-xml php-xmlreader php-curl php-exif php-ftp php-gd php-iconv php-json php-mbstring php-posix php-sockets php-tokenizer unzip -y
Nachdem du den LAMP-Server installiert hast, starte den Apache- und MariaDB-Dienst und aktiviere sie so, dass sie beim Neustart des Systems gestartet werden:
systemctl start mariadb systemctl start httpd systemctl enable mariadb systemctl enable httpd
Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
MariaDB Datenbank konfigurieren
Als erstes musst du das MariaDB Root-Passwort setzen und die MariaDB Installation absichern. Das kannst du mit dem folgenden Befehl tun:
mysql_secure_installation
Beantworte 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 du fertig bist, melde dich mit dem folgenden Befehl bei MariaDB an:
mysql -u root -p
Sobald du eingeloggt bist, erstelle eine Datenbank und einen Benutzer für WordPress:
MariaDB [(none)]> CREATE DATABASE wordpress; MariaDB [(none)]> CREATE USER `wordpress`@`localhost` IDENTIFIED BY 'password';
Als nächstes erteile der WordPress-Datenbank alle Rechte mit dem folgenden Befehl:
MariaDB [(none)]> GRANT ALL ON wordpress.* TO `wordpress`@`localhost`;
Als nächstes entferne die Berechtigungen und verlasse die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Sobald du fertig bist, kannst du mit dem nächsten Schritt fortfahren.
WordPress herunterladen
Wechsle als nächstes in das Apache Web Root Verzeichnis und lade die neueste Version von WordPress mit dem folgenden Befehl herunter:
cd /var/www/html wget https://wordpress.org/latest.tar.gz
Sobald der Download abgeschlossen ist, extrahiere die heruntergeladene Datei mit dem folgenden Befehl:
tar -xvzf latest.tar.gz
Wechsle als nächstes in das Verzeichnis wordpress und benenne die Beispielkonfigurationsdatei um:
cd wordpress mv wp-config-sample.php wp-config.php
Als nächstes bearbeitest du die Konfigurationsdatei mit dem folgenden Befehl:
nano wp-config.php
Definiere deine Datenbankkonfiguration wie unten gezeigt:
/** The name of the database for WordPress */ define( 'DB_NAME', 'wordpress' ); /** MySQL database username */ define( 'DB_USER', 'wordpress' ); /** MySQL database password */ define( 'DB_PASSWORD', 'password' ); /** MySQL hostname */ define( 'DB_HOST', 'localhost' );
Speichere und schließe die Datei, wenn du fertig bist und setze die richtigen Rechte für das WordPress Verzeichnis:
chown -R apache:apache /var/www/html/wordpress
Wenn du fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Apache für WordPress konfigurieren
Als nächstes musst du eine Apache Virtual Host Konfigurationsdatei für WordPress erstellen. Du kannst sie mit dem folgenden Befehl erstellen:
nano /etc/httpd/conf.d/wordpress.conf
Füge die folgenden Zeilen ein:
<VirtualHost *:80> ServerAdmin webmaster@example.com DocumentRoot "/var/www/html/wordpress" ServerName wordpress.example.com ErrorLog "/var/log/httpd/example.com-error_log" CustomLog "/var/log/httpd/example.com-access_log" combined <Directory "/var/www/html/wordpress"> DirectoryIndex index.html index.php Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
Speichere und schließe die Datei und starte den Apache-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart httpd
Du kannst den Status des Apache mit dem folgenden Befehl überprüfen:
systemctl status httpd
Du solltest die folgende Ausgabe erhalten:
? httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2021-07-09 03:30:47 EDT; 3s ago Docs: man:httpd.service(8) Main PID: 4153 (httpd) Status: "Started, listening on: port 80" Tasks: 213 (limit: 12524) Memory: 24.5M CGroup: /system.slice/httpd.service ??4153 /usr/sbin/httpd -DFOREGROUND ??4155 /usr/sbin/httpd -DFOREGROUND ??4156 /usr/sbin/httpd -DFOREGROUND ??4157 /usr/sbin/httpd -DFOREGROUND ??4158 /usr/sbin/httpd -DFOREGROUND Jul 09 03:30:47 AlmaLinux systemd[1]: Stopped The Apache HTTP Server. Jul 09 03:30:47 AlmaLinux systemd[1]: Starting The Apache HTTP Server...
Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
WordPress mit Let’s Encrypt SSL sichern
Als nächstes musst du den Certbot Client installieren, um das Let’s Encrypt SSL für WordPress zu installieren. Du kannst ihn mit dem folgenden Befehl installieren:
dnf install epel-release -y
dnf install certbot python3-certbot-apache
Als nächstes besorgst du dir ein SSL-Zertifikat für deine Let’s-Domain und installierst es mit dem folgenden Befehl:
certbot --apache -d wordpress.example.com
Du wirst aufgefordert, deine E-Mail Adresse anzugeben und die 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): 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. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, 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 Account registered. Requesting a certificate for wordpress.example.com Performing the following challenges: http-01 challenge for wordpress.example.com Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/httpd/conf.d/wordpress.conf Redirecting all traffic on port 80 to ssl in /etc/httpd/conf.d/wordpress.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://wordpress.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Subscribe to the EFF mailing list (email: hitjethva@gmail.com). IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/wordpress.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/wordpress.example.com/privkey.pem Your certificate will expire on 2022-02-09. 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" - 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
Firewall konfigurieren
Als Nächstes musst du die Ports 80 und 443 durch die Firewalld erlauben. Du kannst sie mit dem folgenden Befehl erlauben:
firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https
Als nächstes musst du die Firewalld neu laden, um die Änderungen zu übernehmen:
firewall-cmd --reload
Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Zugriff auf das WordPress Dashboard
Als nächstes öffnest du deinen Webbrowser und rufst das WordPress Adminpanel über die URL https://wordpress.example.com auf. Du wirst auf die folgende Seite weitergeleitet:
Wähle deine Sprache aus und klicke auf “ Weiter“. Du solltest die WordPress-Site-Konfigurationsseite sehen:
Gib deine Site-Informationen an und klicke auf WordPress installieren. Sobald die Installation abgeschlossen ist, solltest du die folgende Seite sehen:
Klicke auf den Login-Button. Du wirst auf die WordPress Login Seite weitergeleitet:
Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf den Login-Button. Auf der folgenden Seite solltest du das WordPress Dashboard sehen:
Fazit
Herzlichen Glückwunsch! Du hast erfolgreich WordPress mit Apache und Let’s Encrypt SSL auf AlmaLinux 8 installiert. Du kannst nun ganz einfach deine eigene Website mit WordPress erstellen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.