In het volgende artikel gaan we kijken hoe we dat kunnen installeer WordPress met Nginx op Ubuntu 20.04. Deze CMS is een van de meest gebruikte open source contentmanagementsystemen. Het ondersteunt ongeveer 60 miljoen websites. Het is geschreven in PHP en gebruikt MariaDB / MySQL als database om informatie op te slaan.
In de volgende regels gaan we zien hoe we WordPress lokaal kunnen installeren met Nginx op Ubuntu 20.04. Om deze reden, voordat u verder gaat het zal nodig zijn de LEMP-softwarestack hebben geïnstalleerd op Ubuntu 20.04 starten.
Installeer WordPress met Nginx op Ubuntu 20.04
Installeer PHP-extensies
De volgende extensies zijn vereist om WordPress te laten werken op Ubuntu 20.04 Om ze te installeren, hoeven we alleen een terminal te openen (Ctrl + Alt + T) en uit te voeren:
sudo apt update && sudo apt install php-dom php-simplexml php-ssh2 php-xml php-xmlreader php-curl php-exif php-ftp php-gd php-iconv php-imagick php-json php-mbstring php-posix php-sockets php-tokenizer
Maak Nginx Server Block voor WordPress
We zullen een Nginx-serverblok maken voor de WordPress-installatie. Dit serverblok vereist een domeinnaam, poortnummer, document root, registerlocatie, etc. Voor dit voorbeeld zijn de gegevens die ik ga gebruiken de volgende. Laat elke gebruiker ze aanpassen aan hun behoeften:
- Domeinnaam: www.wordpress.local
- Hoofddirectory van document: /sites/www.wordpress.local/public_html/
- logs: /sites/www.wordpress.local/logs/
Laten we beginnen het maken van een serverblokconfiguratiebestand in de directory /etc/nginx/conf.d met het commando:
sudo vim /etc/nginx/conf.d/www.wordpress.local.conf
In het bestand plaatsen we de volgende inhoud:
server { server_name www.wordpress.local; root /sites/www.wordpress.local/public_html/; index index.html index.php; access_log /sites/www.wordpress.local/logs/access.log; error_log /sites/www.wordpress.local/logs/error.log; # No permitir que las páginas se representen en un iframe en dominios externos add_header X-Frame-Options "SAMEORIGIN"; # Prevención MIME add_header X-Content-Type-Options "nosniff"; # Habilitar el filtro de secuencias de comandos entre sitios en los navegadores compatibles add_header X-Xss-Protection "1; mode=block"; # Evitar el acceso a archivos ocultos location ~* /\.(?!well-known\/) { deny all; } # Evitar el acceso a ciertas extensiones de archivo location ~\.(ini|log|conf)$ { deny all; } # Habilitar enlaces permanentes de WordPress location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
We slaan het bestand op en sluiten af. Laten we nu maak de hoofdmap van het document en de map met records met behulp van de commando's:
sudo mkdir -p /sites/www.wordpress.local/public_html/ sudo mkdir -p /sites/www.wordpress.local/logs/
We vervolgen het controleren van de Nginx-configuratiebestanden:
sudo nginx -t
Een bericht zoals dat in de vorige schermafbeelding bevestigt dat de Nginx-serverconfiguratie correct is. We starten de service opnieuw op:
sudo systemctl restart nginx.service
Maak de database voor WordPress
Laten we inloggen op MariaDB / MySQL:
sudo mysql -u root -p
dan we creëren de database voor WordPress:
CREATE DATABASE wordpress;
Het volgende zal zijn maak een gebruiker aan:
CREATE USER 'wpusuario'@'localhost' IDENTIFIED BY '123password';
We vervolgen toestemming geven aan de aangemaakte gebruiker om toegang te krijgen tot de database:
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpusuario'@'localhost';
En we kunnen vlek:
quit
Download WordPress
We downloaden de nieuwste versie van WordPress de WordPress.org met wget:
wget http://wordpress.org/latest.tar.gz
Laten we nu eens pak het WordPress-pakket uit met het commando teer:
tar -zxvf latest.tar.gz
Het volgende zal zijn verplaats WordPress-bestanden naar document root:
sudo mv wordpress/* /sites/www.wordpress.local/public_html/
We blijven de eigenschap wijzigen zodat Nginx bestanden naar die documentroot kan schrijven:
sudo chown -R www-data:www-data /sites/www.wordpress.local/public_html/ sudo chown -R www-data:www-data /sites/www.wordpress.local/logs/
Laten we nu eens maak een hostvermelding voor het domein (in dit voorbeeld www.wordpress.local) in het bestand / Etc / hosts, voor het geval onze omgeving geen DNS-server heeft voor naamomzetting:
sudo vim /etc/hosts
Binnen het bestand gaan we een item toevoegen zoals hieronder weergegeven. Het gebruikte IP-adres is dat van mijn lokale computer.
Installeer WordPress
Als we de gegevens in dit voorbeeld volgen, gaan we dat doen open webbrowser en bezoek url:
http://www.wordpress.local
Dit brengt ons naar WordPress installatiewizard.
We zullen moeten schrijf de databasegegevens zodat WordPress er verbinding mee kan maken Het zijn de gegevens uit de eerder aangemaakte database
Als de verbinding is gelukt, zien we een succesbericht op een nieuw scherm. Om verder te gaan, hoeft u alleen maar op te klikken Voer de installatie uit.
Op het volgende scherm zullen we moeten schrijf de sitetitel, WordPress admin-gebruiker, wachtwoord en e-mailadres We gaan naar het volgende scherm door op WordPress installeren te klikken.
Als alles goed gaat, is de WordPress-installatie nu voltooid. We kunnen nu klikken op Toegang om naar de WordPress-beheerder te gaan (backend).
En van daaruit kunnen we beginnen met het ontwikkelen van onze site:
Configureer de maximale bestandsuploadgrootte
PHP staat standaard geen bestandsuploads toe die groter zijn dan 2 MB. Om grotere bestandsuploads via de WordPress-webinterface mogelijk te maken, moeten we upload_max_filesize en post_max_size configureren in php.ini.
sudo vim /etc/php/7.4/fpm/php.ini
Hier gaan we naar zoeken upload_max_filesize y verander de uploadgrootte naar 256M, als het is wat je nodig hebt:
upload_max_filesize = 256M
Wij zullen ook zoeken post_max_size en we zullen de uploadgrootte wijzigen volgens onze behoeften:
post_max_size = 256M
Om af te maken we zullen de hoofdmodule toevoegen client_max_body_size in het configuratiebestand van de Nginx-server.
sudo vim /etc/nginx/nginx.conf
De instructie kan worden toegevoegd aan het HTTP-blok (voor alle sites), specifiek serverblok of locatiecontext.
client_max_body_size 256M;
We slaan het bestand op en sluiten af. We starten de services opnieuw op:
sudo systemctl restart php7.4-fpm.service sudo systemctl restart nginx.service
En hiermee zullen we hebben WordPress lokaal geïnstalleerd op Ubuntu 20.04.
Het werkt niet 🙁
Hallo. Op welk punt is de installatie mislukt?
Hoe kan ik Nginx configureren voor toegang vanaf een externe machine vanaf hetzelfde lokale netwerk?
Bij het toepassen van de aangegeven configuratie en proberen om op naam in te voeren, toegang tot de standaardwaarde van Nginx.