Nel prossimo articolo daremo un'occhiata a come possiamo installa WordPress con Nginx su Ubuntu 20.04. Questo CMS è uno dei sistemi di gestione dei contenuti open source più utilizzati. Alimenta circa 60 milioni di siti web. È scritto in PHP e utilizza MariaDB / MySQL come database per memorizzare le informazioni.
Nelle righe seguenti vedremo come installare WordPress localmente con Nginx su Ubuntu 20.04. Per questo prima di continuare sarà necessario avere installato lo stack del software LEMP su Ubuntu 20.04 per iniziare.
Installa WordPress con Nginx su Ubuntu 20.04
Installa le estensioni PHP
Le seguenti estensioni sono necessarie per far funzionare WordPress su Ubuntu 20.04. Per installarli dovremo solo aprire un terminale (Ctrl + Alt + T) ed eseguire:
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
Crea Nginx Server Block per WordPress
Creeremo un blocco server Nginx per l'installazione di WordPress. Questo blocco server richiede un nome di dominio, un numero di porta, una radice del documento, una posizione del registro, ecc.. Per questo esempio, i dati che userò sono i seguenti. Lascia che ogni utente li adatti in base alle proprie esigenze:
- Nome di dominio: www.wordpress.local
- Directory principale del documento: /siti/www.wordpress.local/public_html/
- logs: /siti/www.wordpress.local/logs/
Iniziamo creando un file di configurazione del blocco del server nella directory /etc/nginx/conf.d con il comando:
sudo vim /etc/nginx/conf.d/www.wordpress.local.conf
All'interno del file inseriremo il seguente contenuto:
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; } }
Salviamo il file e usciamo. Adesso lo faremo creare la directory root del documento e la directory dei record utilizzando i comandi:
sudo mkdir -p /sites/www.wordpress.local/public_html/ sudo mkdir -p /sites/www.wordpress.local/logs/
Continuiamo controllando i file di configurazione di Nginx:
sudo nginx -t
Un messaggio come quello nella schermata precedente confermerà che la configurazione del server Nginx è corretta. Finiamo per riavviare il servizio:
sudo systemctl restart nginx.service
Crea il database per WordPress
Accediamo a MariaDB / MySQL:
sudo mysql -u root -p
Poi creiamo il database per WordPress:
CREATE DATABASE wordpress;
Il seguente sarà creare un utente:
CREATE USER 'wpusuario'@'localhost' IDENTIFIED BY '123password';
Continuiamo dando il permesso all'utente creato di accedere al database:
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpusuario'@'localhost';
E possiamo sbavatura:
quit
Scarica WordPress
Scarichiamo l'ultima versione di WordPress de WordPress.org con wget:
wget http://wordpress.org/latest.tar.gz
Ora ci sarà estrai il pacchetto WordPress con il comando tar:
tar -zxvf latest.tar.gz
Il seguente sarà sposta i file di WordPress nella root dei documenti:
sudo mv wordpress/* /sites/www.wordpress.local/public_html/
Continuiamo a modificare la proprietà in modo che Nginx possa scrivere file in quella root del documento:
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/
Ora ci sarà creare una voce host per il dominio (in questo esempio www.wordpress.local) nel file / Etc / hosts, nel caso in cui il nostro ambiente non disponga di un server DNS per la risoluzione dei nomi:
sudo vim /etc/hosts
All'interno del file, aggiungeremo una voce come mostrato di seguito. L'IP utilizzato è quello del mio computer locale.
Installa WordPress
Seguendo i dati in questo esempio, andremo a apri il browser web e visita l'URL:
http://www.wordpress.local
Questo ci porterà a Procedura guidata di installazione di WordPress.
Dovremo scrivere i dettagli del database per consentire a WordPress di connettersi ad esso. Saranno i dati del database creato in precedenza
Se la connessione è corretta, vedremo un messaggio di successo su una nuova schermata. Per continuare devi solo cliccare su Esegui l'installazione.
Nella schermata successiva dovremo scrivi il titolo del sito, l'utente amministratore di WordPress, la password e l'indirizzo e-mail. Andremo alla schermata successiva facendo clic su Installa WordPress.
Se tutto va bene, l'installazione di WordPress è ora completa. Ora possiamo fare clic su Accedi per andare all'amministratore di WordPress (backend).
E da lì possiamo iniziare a sviluppare il nostro sito:
Imposta la dimensione massima di caricamento del file
Per impostazione predefinita, PHP non consente il caricamento di file superiori a 2 MB. Per consentire caricamenti di file più grandi tramite l'interfaccia web di WordPress, dovremo configurare upload_max_filesize e post_max_size in php.ini.
sudo vim /etc/php/7.4/fpm/php.ini
Qui andiamo a ricerca upload_max_filesize y cambia la dimensione di caricamento a 256M, se è quello che ti serve:
upload_max_filesize = 256M
Lo faremo anche noi ricerca post_max_size e cambieremo la dimensione del caricamento secondo le nostre esigenze:
post_max_size = 256M
Per finire aggiungeremo il modulo principale cliente_max_dimensione_corporea nel file di configurazione del server Nginx.
sudo vim /etc/nginx/nginx.conf
La direttiva può essere aggiunta al blocco HTTP (per tutti i siti), particolare blocco del server o contesto della posizione.
client_max_body_size 256M;
Salviamo il file e usciamo. Finiamo per riavviare i servizi:
sudo systemctl restart php7.4-fpm.service sudo systemctl restart nginx.service
E con questo avremo WordPress installato localmente su Ubuntu 20.04.
Non funziona 🙁
Ciao. A che punto l'installazione non è riuscita?
Come posso configurare Nginx per accedere da una macchina esterna dalla stessa rete locale?
Quando si applica la configurazione indicata e si tenta di accedere per nome, al valore predefinito di Nginx.