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:

Sprache wählen

Wähle deine Sprache aus und klicke auf “ Weiter“. Du solltest die WordPress-Site-Konfigurationsseite sehen:

Standort Details

Gib deine Site-Informationen an und klicke auf WordPress installieren. Sobald die Installation abgeschlossen ist, solltest du die folgende Seite sehen:

WordPress Installation erfolgreich

Klicke auf den Login-Button. Du wirst auf die WordPress Login Seite weitergeleitet:

In WordPress einloggen

Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf den Login-Button. Auf der folgenden Seite solltest du das WordPress Dashboard sehen:

WordPress Dashboard

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.

Das könnte dich auch interessieren …