Come distribuire il tuo sito WordPress con Docker

Che tu abbia un piccolo sito privato o un enorme blog con milioni di visitatori, in questo articolo Scopri come distribuire il tuo sito WordPress in modo rapido e semplice con Docker.

Cos'è Docker?

Docker è un software open source, che consente l'esecuzione delle applicazioni in contenitori isolati. Ciò consente agli sviluppatori di distribuire ed eseguire le proprie applicazioni in un ambiente standardizzato senza doversi preoccupare di infrastrutture complesse.

Come funziona Docker?

Docker è un progetto open source che fornisce pacchetti software sotto forma di contenitori. Questi contenitori possono essere utilizzati su ogni computer eseguire, indipendentemente dal sistema operativo. Docker consente agli sviluppatori di impacchettare le proprie applicazioni in contenitori e quindi di distribuirle su qualsiasi piattaforma.

Docker funziona secondo il principio del contenitore. Un contenitore è un ambiente isolato in cui può essere eseguita un'applicazione. Il contenitore contiene tutti i componenti, le librerie e i file necessari richiesti dall'applicazione. L'isolamento da altri contenitori e dal sistema host garantisce che l'applicazione nel contenitore venga eseguita senza errori.

Contenitori Linux (LXC)

Docker è basato su contenitori Linux (LXC). LXC consente più macchine virtuali su una singola server fisico operare. Ogni macchina virtuale ha la propria CPU, RAM e disco rigido. Tuttavia, i contenitori LXC non sono completamente isolati dagli altri contenitori e dal sistema host.

Docker utilizza spazi dei nomi e gruppi di controllo (cgroup) per ottenere l'isolamento completo del contenitore. Gli spazi dei nomi isolano gli ambienti contenitore gli uni dagli altri. Ogni contenitore ha il proprio stack di rete, processi e utenti. I gruppi di controllo limitano l'accesso al contenitore a Risorse del sistema host come CPU, memoria e disco rigido.

Vantaggi di Docker

Docker è un progetto open source che consente l'isolamento delle applicazioni e delle loro dipendenze. Ciò significa che un'applicazione può essere eseguita in un contenitore Docker senza dover essere installata sul sistema host.

Docker è ottimo per lo sviluppo perché gli sviluppatori possono testare ed eseguire il debug della propria applicazione in un contenitore senza preoccuparsi dei problemi di compatibilità.

Un altro vantaggio è che i contenitori Docker sono portatili. Ciò significa che un contenitore creato su un sistema Linux può essere eseguito anche su un sistema Windows o macOS.

I contenitori Docker possono essere eseguiti su qualsiasi piattaforma, Docker supporta Linux, Windows e Mac OS.

Svantaggi di Docker

Docker è un ottimo strumentoper isolare e distribuire le applicazioni in contenitori. Tuttavia, Docker presenta anche alcuni svantaggi che dovresti considerare prima di decidere di implementare il tuo sito WordPress con Docker.

Uno dei maggiori svantaggi di Docker è che si tratta di un prodotto relativamente nuovo. Ciò significa che non esiste un'esperienza a lungo termine con il prodotto e pertanto non sono state ancora stabilite le migliori pratiche.

Un altro svantaggio di Docker è che presenta alcune limitazioni in termini di hardware e sistemi operativi su cui può essere installato. Ad esempio, non è possibile eseguire contenitori Windows su un Mac o su una distribuzione Linux.

In conclusione, Docker presenta anche alcuni rischi per la sicurezza. Ciò consente agli aggressori malintenzionati di entrare in un contenitore e attaccare il computer host da lì. Pertanto, dovresti valutare attentamente se desideri implementare il tuo sito WordPress con Docker.

Perché dovresti distribuire il tuo sito WordPress con Docker?

docker è un progetto open source che fornisce contenitori in cui possono essere eseguite le applicazioni. Questi contenitori sono isolati e dispongono dei propri ambienti in cui vengono eseguiti. Puoi avere più contenitori su un host Docker e ciascun contenitore può eseguire un'applicazione diversa.

Docker è l'ideale per la distribuzione di siti WordPress perché Docker ti offre un ambiente pulito in cui eseguire il tuo sito. Inoltre, Docker ti consente di avere più siti WordPress su uno solo ospite fornire.

Come prepari il tuo sito WordPress con Docker?

In questo articolo, discuteremo come distribuire il tuo sito WordPress utilizzando Docker per la prima volta. Se non hai ancora installato Docker, puoi trovare le istruzioni di installazione qui.

Innanzitutto, devi creare una directory per il tuo sito WordPress. Questa è la directory in cui sono archiviati tutti i file del tuo sito. Per esempio:

mkdir /mio-sito-wordpress

finestra mobile-compose.yml

Successivamente, è necessario creare un file docker-compose.yml in questa directory. Il file docker-compose.yml è un file di configurazione che definisce tutte le impostazioni per il tuo sito WordPress. Per esempio:

versione: '2' servizi: db: immagine: mysql: 5.7 riavvio: sempre ambiente: MYSQL_ROOT_PASSWORD: esempio MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: esempio wp: immagine: wordpress riavvio: sempre ambiente: WORDPRESS_DB_HOST : db : 3306 WORDPRESS_DB_NAME : wordpress WORDPRESS_DB_USER : wordpress WORDPRESS_DB_PASSWORD : porte di esempio : – “8080: 80”

La versione docker-compose viene definita per la prima volta in questo file. Per questo esempio viene utilizzata la versione 2.

Database MySQL

Successivamente vengono definiti due servizi, un servizio per il Database MySQL e un servizio per WordPress. Ogni servizio deve specificare un'immagine da utilizzare. Puoi anche definire altre impostazioni come variabili di ambiente, porte e chiamate di file.

Ad esempio, in questo esempio, la variabile di ambiente WORDPRESS_DB_HOST per il servizio WordPress è impostata sul servizio db. Questo dice a WordPress dove si trova il file Database MySQL trova.

Ci sono molte altre impostazioni che puoi definire nel tuo file docker-compose.yml. Ulteriori informazioni possono essere trovate nel Docker Componi documentazione.

.htaccess

Successivamente devi creare un file .htaccess nella tua directory. Questo file viene utilizzato per creare il file URL per il tuo sito WordPress. Per esempio:

RewriteEngine su RewriteRule ^$ indice . php [QSA] RiscriviCond % {REQUEST_FILENAME} ! -f RiscriviCond % {REQUEST_FILENAME} ! -d RiscriviRule ^( . * )$ indice . php? $1 [QSA]

Questo file impone che tutte le richieste al tuo sito WordPress vengano instradate tramite index.php. Questa è la configurazione predefinita per i siti WordPress.

wp-config.php

Successivamente devi creare un file wp-config.php nella tua directory. Questo file contiene le impostazioni di configurazione per il tuo sito WordPress. Puoi utilizzare il file wp-config.php predefinito di WordPress o crearne uno tuo.

Ad esempio:define('DB_NAME', 'wordpress'); /** Nome utente del database MySQL */ define('DB_USER', 'wordpress'); /** Password del database MySQL */ define('DB_PASSWORD', 'esempio'); /**MySQL hostname */ define('DB_HOST', 'db:3306'); /** Set di caratteri del database da utilizzare nella creazione delle tabelle del database. */ define('DB_CHARSET', 'utf8'); /** Il tipo di raccolta del database. Non modificarlo in caso di dubbio. */ define('DB_COLLATE', ”);

In questo file, devi configurare le informazioni del database per il tuo sito WordPress. Ad esempio, DB_HOST deve essere impostato sul servizio db in modo che WordPress sappia dove si trova il database MySQL.

Ci sono molte altre impostazioni che puoi definire nel tuo file wp-config.php. Ulteriori informazioni possono essere trovate nel Documentazione di WordPress.

index.php

Successivamente devi creare un file index.php nella tua directory. Questo file è il file principale del tuo sito WordPress. Per esempio:

In questo file, la variabile WP_USE_THEMES viene prima impostata su true in modo che WordPress utilizzi il tema attivo. Viene quindi caricato il file wp-blog-header.php che inizializza il resto dell'applicazione WordPress.

Robots.txt

Successivamente, devi creare un file Robots.txt nella tua directory. Questo file viene utilizzato per controllare i bot dei motori di ricerca che eseguono la scansione del tuo sito. Per esempio:

Agente utente: * Disallow: /wp-admin / Consenti: /wp-admin / admin-ajax.php

Questo esempio specifica che tutti i bot non devono esplorare la directory /wp-admin/. Questo è un buon modo per impedire ai bot di eseguire azioni indesiderate sulla tua installazione di WordPress.

favicon.ico

Successivamente devi creare un file favicon.ico nella tua directory. Si tratta di un piccolo elemento grafico che appare nella barra degli indirizzi del browser quando visiti il ​​tuo sito. Puoi utilizzare qualsiasi grafica che ti piace o utilizzare un generatore come questo.

File di configurazione di Apache

Successivamente devi creare un file di configurazione di Apache nella tua directory. Questo file viene utilizzato per configurare la configurazione del server Web Apache per il tuo sito. Per esempio:

ServerName mio-sito-wordpress.example.com DocumentRoot / mio-sito-wordpress ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log combinato

In questo file, il nome del server viene prima impostato sul nome di dominio o sull'indirizzo IP del tuo sito. La radice del documento viene quindi impostata sulla directory del tuo sito. Vengono forniti anche i registri degli errori e degli accessi in modo che tu possa vedere cosa sta succedendo al tuo sito.

Ci sono molte altre impostazioni che puoi definire nel file di configurazione di Apache. Ulteriori informazioni possono essere trovate nel Documentazione di Apache.

php.ini

Successivamente devi creare un file php.ini nella tua directory. Questo file viene utilizzato per configurare la configurazione PHP per il tuo sito. Per esempio:

display_errors = Attivo display_startup_errors = Attivo error_reporting = E_ALL memory_limit = 512M upload_max_filesize = 64M post_max_size = 64M max_execution_time = 300

Alcune impostazioni PHP di base sono configurate in questo file. Ci sono molte altre impostazioni che puoi definire nel tuo file php.ini. Ulteriori informazioni possono essere trovate nel Documentazione PHP.

File vhost Apache

Successivamente devi creare un file vhost Apache nella tua directory. Questo file viene utilizzato per configurare la configurazione dell'host virtuale per il tuo sito. Per esempio:

ServerName mio-sito-wordpress.esempio.com ServerAlias ​​​​www.mio-sito-wordpress.esempio.com DocumentRoot / mio-sito-wordpress ErrorLog $ {APACHE_LOG_DIR} / errore . log CustomLog $ {APACHE_LOG_DIR} / access . log combinato < Directory / mio-wordpress – sito > Permettere l'override di tutto Richiedi tutto concesso

In questo file, il nome del server viene prima impostato sul nome di dominio o sull'indirizzo IP del tuo sito. La radice del documento viene quindi impostata sulla directory del tuo sito. Vengono forniti anche i registri degli errori e degli accessi in modo che tu possa vedere cosa sta succedendo al tuo sito.

Ci sono molte altre impostazioni che puoi definire nel tuo file vhost Apache. Ulteriori informazioni possono essere trovate nel Documentazione di Apache.

File di configurazione SSL di Apache

Successivamente, devi creare un file di configurazione SSL Apache nella tua directory. Questo file viene utilizzato per configurare la configurazione SSL/TLS per il tuo sito. Per esempio:

NomeServer mio-sito-wordpress.esempio.com DocumentRoot / mio-wordpress – sito ErrorLog $ {APACHE_LOG_DIR} / errore . log CustomLog $ {APACHE_LOG_DIR} / access . log combinato SSLEngine su SSLCertificateFile /percorso/al/tuo/certificato. crt SSLCertificateKeyFile /percorso/del/tuo/certificato. chiave.chiave

Esistono molte altre impostazioni che puoi definire nel file di configurazione SSL di Apache. Ulteriori informazioni possono essere trovate nel Documentazione di Apache.

Infine, devi creare un certificato SSL per il tuo sito. Questo può essere fatto utilizzando uno strumento come Let's Encrypt. Per ulteriori informazioni, consultare la documentazione di Apache.

Dopo aver creato tutti i file sopra, puoi avviare il tuo sito WordPress utilizzando il comando docker-compose up -d deploy. Questo comando avvia tutti i servizi nel file docker-compose.yml e distribuisce il tuo sito WordPress.

Conclusione

Questo è tutto! In questo articolo, abbiamo imparato come distribuire il nostro sito WordPress utilizzando Docker. Abbiamo visto quanto sia facile creare e distribuire un'immagine Docker. Abbiamo anche appreso i vantaggi della distribuzione con Docker.

Hinweis..è importante!

Tutti i siti esterni collegati a questo sito Web sono fonti indipendenti. 
Questi collegamenti non sono sponsorizzati e non è stato ricevuto alcun contributo finanziario per la loro inclusione. 
Tutte le informazioni su questo sito Web sono fornite senza garanzia.
Questo sito è un progetto privato di Jan Domke e riflette esclusivamente opinioni ed esperienze personali.

Jan Domke

Ingegnere rapido | Responsabile dei social media | Responsabile dell'hosting | Amministratore web

Gestisco privatamente la rivista online dalla fine del 2021 SEO4Business e così ho trasformato il mio lavoro in un hobby.
Lavoro come assistente dal 2019 Senior Hosting Manager, in una delle più grandi agenzie Internet e di marketing in Germania e espando costantemente i miei orizzonti.

Jan Domke