WordPress met Nginx op AlmaLinux 8 installeren
WordPress is een gratis, open-source, en ’s werelds populairste CMS, geheel in PHP gebouwd. Het wordt door duizenden mensen over de hele wereld gebruikt voor het runnen van blogs, bedrijfswebsites, en e-commerce winkels. Het heeft een aantal geweldige functies waaronder, een eenvoudig en gemakkelijk te gebruiken admin paneel, duizenden plugins, een enorme gemeenschap, diepgaande thematisering, aanpassing, en meer.
In deze gids laten we je zien hoe je WordPress met Apache en Let’s Encrypt SSL op AlmaLinux 8 kunt installeren.
Vereisten
- Een server met AlmaLinux 8.
- Een geldige domeinnaam gericht met je server IP.
- Een root wachtwoord is op de server ingesteld.
Installeer een LAMP server
WordPress vereist dat de LAMP server op je server geïnstalleerd is. Je kunt het installeren met het volgende commando:
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
Nadat je de LAMP server geïnstalleerd hebt, start je de Apache en MariaDB dienst, en zet je ze aan om te starten bij het herstarten van het systeem:
systemctl start mariadb
systemctl start httpd
systemctl enable mariadb
systemctl enable httpd
Als je klaar bent, kun je verder gaan met de volgende stap.
Configureer de MariaDB Database
Eerst moet je het MariaDB root wachtwoord instellen en de MariaDB installatie beveiligen. Je kunt dat doen met het volgende commando:
mysql_secure_installation
Beantwoord alle vragen zoals hieronder aangegeven:
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
Als je klaar bent, log je in op MariaDB met het volgende commando:
mysql -u root -p
Zodra je ingelogd bent, maak je een database en een gebruiker voor WordPress:
MariaDB [(none)]> CREATE DATABASE wordpress;
MariaDB [(none)]> CREATE USER `wordpress`@`localhost` IDENTIFIED BY 'password';
Verleen vervolgens alle privileges aan de WordPress database met het onderstaande commando:
MariaDB [(none)]> GRANT ALL ON wordpress.* TO `wordpress`@`localhost`;
Spoel vervolgens de privileges door en verlaat de MariaDB shell met het volgende commando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Als je klaar bent, kun je verder gaan met de volgende stap.
Download WordPress
Verander vervolgens de directory in de Apache web root en download de nieuwste versie van WordPress met het volgende commando:
cd /var/www/html
wget https://wordpress.org/latest.tar.gz
Als de download voltooid is, pak je het gedownloade bestand uit met het volgende commando:
tar -xvzf latest.tar.gz
Verander vervolgens de directory in de wordpress en hernoem het voorbeeld configuratiebestand:
cd wordpress
mv wp-config-sample.php wp-config.php
Bewerk vervolgens het configuratiebestand met het volgende commando:
nano wp-config.php
Definieer je database configuratie zoals hieronder:
/** 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' );
Bewaar en sluit het bestand als je klaar bent en stel dan de juiste toestemming in voor de WordPress directory:
chown -R apache:apache /var/www/html/wordpress
Als je klaar bent, kun je verder gaan met de volgende stap.
Configureer Apache voor WordPress
Vervolgens moet je een Apache virtual host configuratiebestand voor WordPress maken. Je kunt het aanmaken met het volgende commando:
nano /etc/httpd/conf.d/wordpress.conf
Voeg de volgende regels toe:
<VirtualHost *:80> ServerAdmin [email protected] 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>
Sla het bestand op en sluit het af, herstart dan de Apache dienst om de veranderingen toe te passen:
systemctl restart httpd
Je kunt de status van de Apache controleren met het volgende commando:
systemctl status httpd
Je zou de volgende uitvoer moeten krijgen:
? 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...
Als je klaar bent, kun je verder gaan met de volgende stap.
Beveilig WordPress met Let’s Encrypt SSL
Vervolgens moet je het Certbot programma installeren om de Let’s Encrypt SSL voor WordPress te installeren. Je kunt het installeren met het volgende commando:
dnf install epel-release -y
dnf install certbot python3-certbot-apache
Verkrijg en installeer vervolgens een SSL certificaat voor je lets domein met het volgende commando:
certbot --apache -d wordpress.example.com
Je wordt gevraagd je email adres op te geven en de dienstverleningsvoorwaarden te accepteren:
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. 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: [email protected]). 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
Configureer Firewall
Vervolgens moet je poorten 80 en 443 door de firewalld toelaten. Je kunt ze toestaan met het volgende commando:
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
Herlaad vervolgens de firewalld om de veranderingen toe te passen:
firewall-cmd --reload
Als je klaar bent, kun je verder gaan met de volgende stap.
Toegang tot het WordPress Dashboard
Open vervolgens je webbrowser en ga naar het WordPress admin paneel met de URL https://wordpress.example.com. Je wordt doorverwezen naar de volgende pagina:
Kies je taal en klik op Verder. Je zou de WordPress site configuratie pagina moeten zien:
Geef je site informatie en klik op de knop WordPress installeren. Als de installatie voltooid is, zou je de volgende pagina moeten zien:
Klik op de knop Inloggen. Je wordt doorverwezen naar de WordPress login pagina:
Geef je admin gebruikersnaam en wachtwoord op en klik op de Login knop. Je zou het WordPress dashboard op de volgende pagina moeten zien:
Conclusie
Gefeliciteerd! Je hebt WordPress met succes geïnstalleerd met Apache en Let’s Encrypt SSL op AlmaLinux 8. Je kunt nu eenvoudig je eigen website maken met WordPress. Voel je vrij me te vragen als je vragen hebt.