En el següent article anem a fer una ullada a com podem instal·lar WordPress amb Nginx sobre Ubuntu 20.04. Aquest CMS és un dels sistemes de gestió de continguts de programari lliure més utilitzat. Impulsa al voltant de 60 milions de llocs web. Està escrit en PHP i utilitza MariaDB / MySQL com a base de dades per emmagatzemar informació.
En les següent línies veurem com instal·lar en local WordPress amb Nginx sobre Ubuntu 20.04. Per aquesta raó, abans de continuar caldrà tenir instal·lada la pila de programari Lemp a Ubuntu 20.04 per poder començar.
Instal·lar WordPress amb Nginx en Ubuntu 20.04
Instal·lar extensions PHP
Les següents extensions són necessàries perquè WordPress s'executi en Ubuntu 20.04. Per instal·lar-les no tindrem més que obrir una terminal (Ctrl + Alt + T) i executar:
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
Crear bloc de servidor Nginx per a WordPress
Crearem un bloc de servidor Nginx per a la instal·lació de WordPress. Aquest bloc de servidor requereix un nom de domini, número de port, arrel de documents, ubicació de l'registre, etc. Per a aquest exemple, les dades que utilitzaré són els següents. Que cada usuari els s'adapti segons les seves necessitats:
- Nom de domini: www.wordpress.local
- Directori arrel de documents: /sites/www.wordpress.local/public_html/
- Registres: /sites/www.wordpress.local/logs/
Comencem creant un arxiu de configuració de bloc de servidor en el directori /etc/nginx/conf.d amb la comanda:
sudo vim /etc/nginx/conf.d/www.wordpress.local.conf
Dins de l'arxiu col·locarem el següent contingut:
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; } }
Guardem l'arxiu i vam sortir. Ara anem a crear el directori arrel de documents i el de registres usant els comandaments:
sudo mkdir -p /sites/www.wordpress.local/public_html/ sudo mkdir -p /sites/www.wordpress.local/logs/
continuem verificant els fitxers de configuració de Nginx:
sudo nginx -t
Un missatge com el de l'anterior captura confirmarà que la configuració de servidor de Nginx és correcta. Acabem reiniciant el servei:
sudo systemctl restart nginx.service
Crear la base de dades per a WordPress
Iniciem sessió en MariaDB / MySQL:
sudo mysql -u root -p
A continuació vam crear la base de dades per WordPress:
CREATE DATABASE wordpress;
El següent serà crear un usuari:
CREATE USER 'wpusuario'@'localhost' IDENTIFIED BY '123password';
continuem concedint a l'usuari creat per accedir a la base de dades:
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpusuario'@'localhost';
I ja podem frotis:
quit
descarregar WordPress
Descarreguem l'última versió de WordPress de WordPress.org amb wget:
wget http://wordpress.org/latest.tar.gz
Ara anem a extreure el paquet de WordPress amb la comanda tar:
tar -zxvf latest.tar.gz
El següent serà moure els arxius de WordPress a l'arrel de documents:
sudo mv wordpress/* /sites/www.wordpress.local/public_html/
Continuem canviant la propietat perquè Nginx pugui escriure arxius en aquesta arrel de documents:
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/
Ara anem a crear una entrada d'amfitrió per al domini (en aquest exemple www.wordpress.local) A l'arxiu / Etc / hosts, En cas que el nostre entorn no tingui un servidor DNS per a la resolució de noms:
sudo vim /etc/hosts
Dins de l'arxiu, anem a afegir una entrada com es mostra a continuació. La IP utilitzada és la del meu equip local.
instal·lar WordPress
Seguint les dades d'aquest exemple, anem a obrir el navegador web i visitar la URL:
http://www.wordpress.local
Això ens portarà a l' assistent d'instal·lació de WordPress.
haurem de escriure els detalls de la base de dades per permetre que WordPress es connecti a ella. Seran les dades de la base de dades creada anteriorment
Si la connexió és correcta, veurem un missatge d'èxit en una nova pantalla. Per continuar sol cal fer clic a Executar la instal·lació.
En la següent pantalla haurem de escriure el títol de el lloc, l'usuari administrador de WordPress, la contrasenya i l'adreça de correu electrònic. Passarem a la següent pantalla fent clic a Instal·lar WordPress.
Si tot va bé, la instal·lació de WordPress ara està completa. Ja podrem fer clic a Accedir per anar a l'Administrador de WordPress (Backend).
I des d'aquí poder començar a desenvolupar el nostre lloc:
Configura la mida màxima de càrrega d'arxius
Per defecte, PHP no permet càrregues d'arxius superiors a 2 MB. Per permetre càrregues d'arxius més grans a través de la interfície web de WordPress, haurem de configurar upload_max_filesize i post_max_size a php.ini.
sudo vim /etc/php/7.4/fpm/php.ini
Aquí anem a buscar upload_max_filesize y canviar la mida de càrrega a 256M, Si és el que necessites:
upload_max_filesize = 256M
També anem a buscar post_max_size i canviarem la mida de càrrega segons les nostres necessitats:
post_max_size = 256M
per acabar afegirem el mòdul principal client_max_body_size a l'arxiu de configuració de servidor Nginx.
sudo vim /etc/nginx/nginx.conf
La directiva es pot afegir a l'bloc HTTP (Per a tots els llocs), bloc de servidor particular o en context d'ubicació.
client_max_body_size 256M;
Guardem l'arxiu i vam sortir. Acabem reiniciant els serveis:
sudo systemctl restart php7.4-fpm.service sudo systemctl restart nginx.service
I amb això ja tindrem WordPress instal·lat localment en Ubuntu 20.04.
No serveix 🙁
Hola. En quin punt va fallar la instal·lació?
Com puc configurar Nginx per accedir des d'una màquina externa des de la mateixa xarxa local?
A l'aplicar la configuració indicada i intentar entrar per nom accés a l'default de Nginx.