Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Tutorial: Ospita un WordPress blog su AL2 023
Le seguenti procedure ti aiuteranno a installare, configurare e proteggere un WordPress blog sulla tua istanza AL2 023. Questo tutorial è una buona introduzione all'utilizzo di Amazon EC2 in quanto hai il pieno controllo su un server web che ospita il tuo WordPress blog, cosa non tipica di un servizio di hosting tradizionale.
È tua responsabilità aggiornare i pacchetti software e gestire le patch di sicurezza del server. Per un' WordPress installazione più automatizzata che non richieda l'interazione diretta con la configurazione del server web, il AWS CloudFormation servizio fornisce un WordPress modello che può anche aiutarti a iniziare rapidamente. Per ulteriori informazioni, consulta Nozioni di base nella Guida per l'utente di AWS CloudFormation . Se hai bisogno di una soluzione ad alta disponibilità con un database disaccoppiato, consulta Implementazione di un WordPress sito Web ad alta disponibilità nella Guida per gli sviluppatori.AWS Elastic Beanstalk
Importante
Queste procedure sono destinate all'uso con 023. AL2 Per informazioni su altre distribuzioni, consulta la documentazione specifica. Numerose fasi in questo tutorial non funzionano sulle istanze Ubuntu. Per informazioni WordPress sull'installazione su un'istanza di Ubuntu, WordPress
Argomenti
Prerequisiti
Ti consigliamo vivamente di associare un indirizzo IP elastico (EIP) all'istanza che stai utilizzando per ospitare un blog. WordPress In questo modo si evita che l'DNSindirizzo pubblico dell'istanza modifichi e interrompa l'installazione. Se possiedi un nome di dominio e desideri utilizzarlo per il tuo blog, puoi aggiornare il DNS record del nome di dominio in modo che indichi il tuo EIP indirizzo (per assistenza, contatta il registrar del nome di dominio). Puoi associare gratuitamente un EIP indirizzo a un'istanza in esecuzione. Per ulteriori informazioni, consulta gli indirizzi IP elastici nella Amazon EC2 User Guide. Il tutorial Tutorial: installare un LAMP server su AL2 023 include inoltre la procedura per configurare un gruppo di sicurezza che permetta il traffico HTTP
e HTTPS
, nonché varie fasi da eseguire per verificare che le autorizzazioni di file siano state configurate correttamente per il server Web. Per informazioni sull'aggiunta di regole al tuo gruppo di sicurezza, consulta Aggiungere regole a un gruppo di sicurezza.
Se non disponi già di un nome di dominio per il tuo blog, puoi registrare un nome di dominio con Route 53 e associare l'EIPindirizzo dell'istanza al tuo nome di dominio. Per ulteriori informazioni, consulta la pagina Come registrare e gestire domini tramite Amazon Route 53 nella Guida per gli sviluppatori di Amazon Route 53.
Installa WordPress
Connect all'istanza e scarica il pacchetto WordPress di installazione. Per ulteriori informazioni sulla connessione all'istanza, consulta Connessione a AL2 023 istanze.
-
Scarica e installa questi pacchetti usando il comando seguente.
dnf install wget php-mysqlnd httpd php-fpm php-mysqli mariadb105-server php-json php php-devel -y
-
Puoi notare un avviso visualizzato con un messaggio simile nell'output (le versioni possono variare nel tempo):
WARNING: A newer release of "Amazon Linux" is available. Available Versions: dnf upgrade --releasever=2023.0.20230202 Release notes: https://aws.amazon.com Version 2023.0.20230204: Run the following command to update to 2023.0.20230204: dnf upgrade --releasever=2023.0.20230204 ... etc
Come best practice, consigliamo di mantenere il sistema operativo il più up-to-date possibile, ma potresti voler ripetere ogni versione per assicurarti che non vi siano conflitti nel tuo ambiente. Se l'installazione dei pacchetti precedenti indicati al passaggio 1 ha esito negativo, potrebbe essere necessario eseguire l'aggiornamento a una delle versioni più recenti elencate e riprovare.
-
Scaricate il pacchetto di WordPress installazione più recente con il wget comando. Il comando seguente dovrebbe scaricare sempre la versione più recente.
[ec2-user ~]$
wget https://wordpress.org/latest.tar.gz
-
Decomprimere ed estrarre il pacchetto di installazione. La cartella di installazione viene decompressa in una cartella denominata
wordpress
.[ec2-user ~]$
tar -xzf latest.tar.gz
Per creare un utente del database e un database per l' WordPress installazione
WordPress L'installazione deve archiviare informazioni, come post di blog e commenti degli utenti, in un database. Questa procedura consente di creare un database del blog e un utente autorizzato a leggere e salvare le informazioni in tale database.
-
Avvia il server di database e il server Web.
[ec2-user ~]$
sudo systemctl start mariadb httpd
-
Accedere al server di database come utente
root
. Immetti la password databaseroot
quando viene richiesto. Questa password potrebbe essere diversa dalla password del sistemaroot
oppure potrebbe anche essere vuota se non hai impostato alcuna protezione per il server di database.Se non hai ancora definito la protezione del server di database, è importante che tu lo faccia ora. Per ulteriori informazioni, vedere Fase 3: proteggere il server di database (AL2023).
[ec2-user ~]$
mysql -u root -p
-
Crea un utente e una password per il tuo SQL database My. L' WordPressinstallazione utilizza questi valori per comunicare con il SQL database My. Immettere il seguente comando, ricordandosi di sostituire gli argomenti con un nome utente univoco e una password.
CREATE USER '
wordpress-user
'@'localhost' IDENTIFIED BY 'your_strong_password
';Assicurarsi di creare una password complessa per l'utente. Non utilizzare l'apostrofo ( ' ) nella password perché interromperebbe l'esecuzione del comando che lo precede. Non riutilizzare una password esistente e accertarsi di memorizzare questa password in un luogo sicuro.
-
Creare il database. Assegnare al database un nome descrittivo e significativo, ad esempio
wordpress-db
.Nota
I segni di punteggiatura che racchiudono il nome del database nel comando riportato di seguito sono definiti backtick (apice retroverso). Il tasto del segno backtick (apice retroverso) (
`
) in genere si trova sopra il tastoTab
su una tastiera standard. I backtick non sono sempre richiesti, ma consentono di utilizzare caratteri altrimenti non validi, ad esempio i trattini, nei nomi di database.CREATE DATABASE `
wordpress-db
`; -
Concedi i privilegi completi per il tuo database all' WordPress utente che hai creato in precedenza.
GRANT ALL PRIVILEGES ON `
wordpress-db
`.* TO "wordpress-user
"@"localhost"; -
Scaricare i privilegi del database per implementare tutte le modifiche apportate.
FLUSH PRIVILEGES;
-
Uscire dal client
mysql
.exit
Per creare e modificare il file wp-config.php
La cartella WordPress di installazione contiene un file di configurazione di esempio chiamatowp-config-sample.php
. In questa procedura, puoi copiare questo file e modificarlo in modo conforme a una configurazione specifica.
-
Copiare il file
wp-config-sample.php
in un file denominatowp-config.php
. In questo modo, crei un nuovo file di configurazione mantenendo intatto il file campione originale come backup.[ec2-user ~]$
cp wordpress/wp-config-sample.php wordpress/wp-config.php
-
Modificare il file
wp-config.php
con l'editor di testo preferito (ad esempio nano o vim) e immettere i valori dell'installazione in uso. Se non si dispone di un editor di testo preferito,nano
è adatto agli utenti non esperti.[ec2-user ~]$
nano wordpress/wp-config.php
-
Cercare la riga che definisce
DB_NAME
e modificaredatabase_name_here
utilizzando il nome di database creato in Passo 4 di Per creare un utente del database e un database per l' WordPress installazione.define('DB_NAME', '
wordpress-db
'); -
Cercare la riga che definisce
DB_USER
e modificareusername_here
utilizzando l'utente database creato in Passo 3 di Per creare un utente del database e un database per l' WordPress installazione.define('DB_USER', '
wordpress-user
'); -
Cercare la riga che definisce
DB_PASSWORD
e modificarepassword_here
utilizzando la password complessa creata in Passo 3 di Per creare un utente del database e un database per l' WordPress installazione.define('DB_PASSWORD', '
your_strong_password
'); -
Cercare la sezione denominata
Authentication Unique Keys and Salts
. QuestiKEY
e questiSALT
valori forniscono un livello di crittografia ai cookie del browser che WordPress gli utenti archiviano sui loro computer locali. In sostanza, l'aggiunta di valori lunghi e casuali rende il sito più sicuro. Visitare la pagina https://api.wordpress.org/secret-key/1.1/salt/per generare in modo casuale una serie di valori di chiavi che è possibile copiare e incollare nel file wp-config.php
. Per incollare il testo in un TTY terminale Pu, posiziona il cursore nel punto in cui desideri incollare il testo e fai clic con il pulsante destro del mouse all'interno del TTY terminale Pu.Per ulteriori informazioni sulle chiavi di sicurezza, visitate https://wordpress.org/support/article/editing-wp-config-php/#security -keys
. Nota
I valori riportati di seguito sono a solo scopo di esempio. Non utilizzarli per l'installazione in uso.
define('AUTH_KEY', '
#U$$+[RXN8:b^-L 0(WU_+ c+WFkI~c]o]-bHw+)/Aj[wTwSiZ<Qb[mghEXcRh-
'); define('SECURE_AUTH_KEY', 'Zsz._P=l/|y.Lq)XjlkwS1y5NJ76E6EJ.AV0pCKZZB,*~*r ?6OP$eJT@;+(ndLg
'); define('LOGGED_IN_KEY', 'ju}qwre3V*+8f_zOWf?{LlGsQ]Ye@2Jh^,8x>)Y |;(^[Iw]Pi+LG#A4R?7N`YB3
'); define('NONCE_KEY', 'P(g62HeZxEes|LnI^i=H,[XwK9I&[2s|:?0N}VJM%?;v2v]v+;+^9eXUahg@::Cj
'); define('AUTH_SALT', 'C$DpB4Hj[JK:?{ql`sRVa:{:7yShy(9A@5wg+`JJVb1fk%_-Bx*M4(qc[Qg%JT!h
'); define('SECURE_AUTH_SALT', 'd!uRu#}+q#{f$Z?Z9uFPG.${+S{n~1M&%@~gL>U>NV<zpD-@2-Es7Q1O-bp28EKv
'); define('LOGGED_IN_SALT', ';j{00P*owZf)kVD+FVLn-~ >.|Y%Ug4#I^*LVd9QeZ^&XmK|e(76miC+&W&+^0P/
'); define('NONCE_SALT', '-97r*V/cgxLmp?Zy4zUU4r99QQ_rGs2LTd%P;|_e1tS)8_B/,.6[=UK<J_y9?JWG
'); -
Salva il file ed esci dall'editor di testo.
-
Per installare i WordPress file nella cartella principale del documento Apache
-
Ora che avete decompresso la cartella di installazione, creato un SQL database e un utente My e personalizzato il file di WordPress configurazione, siete pronti a copiare i file di installazione nella cartella principale dei documenti del server Web in modo da poter eseguire lo script di installazione che completa l'installazione. La posizione di questi file dipende dal fatto che il WordPress blog sia disponibile nella directory principale effettiva del server Web (ad esempio,
) o in una sottodirectory o cartella sotto la radice (ad esempio,my.public.dns.amazonaws.com
).my.public.dns.amazonaws.com/blog
-
Se volete WordPress eseguirlo dalla cartella principale del documento, copiate il contenuto della directory di installazione di wordpress (ma non la directory stessa) come segue:
[ec2-user ~]$
cp -r wordpress/* /var/www/html/
-
Se volete WordPress eseguirlo in una directory alternativa sotto la radice del documento, create prima quella directory e poi copiate i file al suo interno. In questo esempio, WordPress verrà eseguito dalla directory
blog
:[ec2-user ~]$
mkdir /var/www/html/blog
[ec2-user ~]$
cp -r wordpress/* /var/www/html/blog/
-
Importante
Per motivi di sicurezza, se non si passa immediatamente alla procedura successiva, arrestare ora il server Web Apache (httpd
). Dopo aver spostato l'installazione nella directory principale del documento Apache, lo script di WordPress installazione non è protetto e un utente malintenzionato potrebbe accedere al tuo blog se il server web Apache fosse in esecuzione. Per arrestare il server Web Apache, immettere il comando sudo service
httpd stop. Se invece si passa alla procedura successiva, non è necessario arrestare il server Web Apache.
Per consentire l'uso dei permalink WordPress
WordPress i permalink devono utilizzare i .htaccess
file Apache per funzionare correttamente, ma questo non è abilitato di default su Amazon Linux. Utilizza la seguente procedura per consentire tutte le modifiche nella directory radice dei documenti di Apache.
-
Aprire il file
httpd.conf
con l'editor di testo preferito (ad esempio nano o vim). Se non si dispone di un editor di testo preferito,nano
è adatto agli utenti non esperti.[ec2-user ~]$
sudo vim /etc/httpd/conf/httpd.conf
-
Cercare la sezione che inizia con
<Directory "/var/www/html">
.<Directory "/var/www/html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride
None
# # Controls who can get stuff from this server. # Require all granted </Directory> -
Modificare la riga
AllowOverride None
nella sezione precedente in modo che sia impostata nel seguente modo:AllowOverride
.All
Nota
Sono presenti più righe
AllowOverride
in questo file. Assicurarsi di modificare la riga nella sezione<Directory "/var/www/html">
.AllowOverride
All
-
Salva il file ed esci dall'editor di testo.
Per installare la libreria di PHP disegni grafici su 023 AL2
La libreria GD per PHP consente di modificare le immagini. Installa questa libreria se hai bisogno di ritagliare l'immagine di intestazione per il tuo blog. La versione phpMyAdmin che installate potrebbe richiedere una versione minima specifica di questa libreria (ad esempio, la versione 8.1).
Utilizzate il seguente comando per installare la libreria di disegni PHP grafici su AL2 023. Ad esempio, se php8.1 è stato installato dal codice sorgente come parte dell'installazione dello LAMP stack, questo comando installa la versione 8.1 della libreria di disegni grafici. PHP
[ec2-user ~]$
sudo dnf install php-gd
Per verificare la versione installata utilizza il seguente comando:
[ec2-user ~]$
sudo dnf list installed | grep php-gd
Di seguito è riportato un output di esempio:
php-gd.x86_64 8.1.30-1.amzn2 @amazonlinux
Per installare la libreria di disegni PHP grafici su Amazon Linux AMI
La libreria GD per PHP consente di modificare le immagini. Installa questa libreria se hai bisogno di ritagliare l'immagine di intestazione per il tuo blog. La versione phpMyAdmin che installate potrebbe richiedere una versione minima specifica di questa libreria (ad esempio, la versione 8.1).
Per verificare quali versioni sono disponibili utilizza il comando seguente:
[ec2-user ~]$
dnf list | grep php
Di seguito sono riportate alcune righe di esempio tratte dall'output della libreria di disegni PHP grafici (versione 8.1):
php8.1.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-cli.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-common.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-devel.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-fpm.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-gd.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux
Usa il seguente comando per installare una versione specifica della libreria di disegni PHP grafici (ad esempio, la versione php8.1) su Amazon Linux: AMI
[ec2-user ~]$
sudo dnf install -y php8.1-gd
Per correggere le autorizzazioni di file sul server Web Apache
Alcune delle funzionalità disponibili WordPress richiedono l'accesso in scrittura alla radice del documento Apache (come il caricamento di contenuti multimediali tramite le schermate di amministrazione). Se non l'hai ancora fatto, applica le seguenti appartenenze ai gruppi e autorizzazioni (come descritto più dettagliatamente nel tutorial sul server LAMPweb).
-
Garantire la proprietà dei file di
/var/www
e dei suoi contenuti all'utenteapache
.[ec2-user ~]$
sudo chown -R apache /var/www
-
Garantire la proprietà del gruppo di
/var/www
e dei suoi contenuti al gruppoapache
.[ec2-user ~]$
sudo chgrp -R apache /var/www
-
Modificare le autorizzazioni a livello di directory di
/var/www
e delle relative sottodirectory per aggiungere le autorizzazioni di scrittura e impostare l'ID gruppo per le sottodirectory future.[ec2-user ~]$
sudo chmod 2775 /var/www
[ec2-user ~]$
find /var/www -type d -exec sudo chmod 2775 {} \;
-
Modifica in modo ricorsivo le autorizzazioni di file di
/var/www
e delle relative sottodirectory.[ec2-user ~]$
find /var/www -type f -exec sudo chmod 0644 {} \;
Nota
Se intendi utilizzarlo anche WordPress come FTP server, qui avrai bisogno di impostazioni di gruppo più permissive. Per eseguire questa operazione, consulta i passaggi e le impostazioni di sicurezza WordPress consigliati in
. -
Riavviare il server Web Apache per implementare il nuovo gruppo e le nuove autorizzazioni.
[ec2-user ~]$
sudo systemctl restart httpd
Per eseguire lo script di WordPress installazione con 023 AL2
Sei pronto per l'installazione WordPress. I comandi utilizzati dipendono dal sistema operativo. I comandi di questa procedura sono destinati all'uso con AL2 023. Usate la procedura che segue questa con AL2 AMI 023.
-
Utilizzare il comando systemctl per assicurarsi che i servizio
httpd
e di database vengano avviati a ogni avvio del sistema.[ec2-user ~]$
sudo systemctl enable httpd && sudo systemctl enable mariadb
-
Verificare che il server di database sia in esecuzione.
[ec2-user ~]$
sudo systemctl status mariadb
Se il servizio di database non è in esecuzione, avviarlo.
[ec2-user ~]$
sudo systemctl start mariadb
-
Verificare che il server Web Apache (
httpd
) sia in esecuzione.[ec2-user ~]$
sudo systemctl status httpd
Se il servizio
httpd
non è in esecuzione, avviarlo.[ec2-user ~]$
sudo systemctl start httpd
-
In un browser web, digita il nome URL del tuo WordPress blog (l'DNSindirizzo pubblico per l'esempio o l'indirizzo seguito dalla
blog
cartella). Dovresti vedere lo script WordPress di installazione. Fornisci le informazioni richieste dall' WordPress installazione. Scegli WordPressInstalla per completare l'installazione. Per ulteriori informazioni, consulta Passaggio 5: Esecuzione dello script di installazionesul WordPress sito Web.
Per eseguire lo script WordPress di installazione con AL2 023 AMI
-
Utilizzare il comando chkconfig per assicurarsi che i servizio
httpd
e di database vengano avviati a ogni avvio del sistema.[ec2-user ~]$
sudo chkconfig httpd on && sudo chkconfig mariadb on
-
Verificare che il server di database sia in esecuzione.
[ec2-user ~]$
sudo service mariadb status
Se il servizio di database non è in esecuzione, avviarlo.
[ec2-user ~]$
sudo service mariadb start
-
Verificare che il server Web Apache (
httpd
) sia in esecuzione.[ec2-user ~]$
sudo service httpd status
Se il servizio
httpd
non è in esecuzione, avviarlo.[ec2-user ~]$
sudo service httpd start
-
In un browser web, digita il nome URL del tuo WordPress blog (l'DNSindirizzo pubblico dell'istanza o l'indirizzo seguito dalla
blog
cartella). Dovresti vedere lo script WordPress di installazione. Fornisci le informazioni richieste dall' WordPress installazione. Scegli WordPressInstalla per completare l'installazione. Per ulteriori informazioni, consulta Passaggio 5: Esecuzione dello script di installazionesul WordPress sito Web.
Passaggi successivi
Dopo aver testato il tuo WordPress blog, valuta la possibilità di aggiornarne la configurazione.
Utilizza un nome di dominio personalizzato
Se hai un nome di dominio associato all'EIPindirizzo dell'EC2istanza, puoi configurare il blog in modo che utilizzi quel nome anziché l'DNSindirizzo EC2 pubblico. Per ulteriori informazioni, consulta Modifica del sito URL
Configurazione del blog
Puoi configurare il blog in modo che utilizzi temi
Aumento della capacità
Se il tuo WordPress blog diventa popolare e hai bisogno di maggiore potenza di calcolo o spazio di archiviazione, considera i seguenti passaggi:
-
Espandi lo spazio di storage sull'istanza. Per ulteriori informazioni, consulta Amazon EBS Elastic Volumes.
-
Sposta il tuo SQL database My su Amazon RDS
per sfruttare la capacità di scalabilità semplice del servizio.
Miglioramento delle prestazioni di rete del traffico Internet
Se ti aspetti che il tuo blog gestisca il traffico da parte di utenti situati in tutto il mondo, considera l'uso di AWS Global Accelerator
Scopri di più su WordPress
I seguenti collegamenti contengono ulteriori informazioni su WordPress.
-
Per informazioni in merito WordPress, consultate la documentazione di aiuto del WordPress Codex disponibile su Codex
. -
Per ulteriori informazioni sulla risoluzione dei problemi di installazione, consulta Problemi di installazione comuni
. -
Per informazioni su come rendere il tuo WordPress blog più sicuro, consulta Hardening. WordPress
-
Per informazioni sulla gestione del WordPress blog up-to-date, consulta Aggiornamento WordPress
.
Aiuto! Il mio DNS nome pubblico è cambiato e ora il mio blog non funziona
L' WordPress installazione viene configurata automaticamente utilizzando l'DNSindirizzo pubblico dell'EC2istanza. Se interrompi e riavvii l'istanza, l'DNSindirizzo pubblico cambia (a meno che non sia associato a un indirizzo IP elastico) e il tuo blog non funzionerà più perché fa riferimento a risorse a un indirizzo che non esiste più (o è assegnato a un'altra EC2 istanza). Una descrizione più dettagliata del problema e diverse possibili soluzioni sono disponibili in https://wordpress.org/support/article/changing-the-site-url/
Se ciò si è verificato durante l' WordPress installazione, è possibile ripristinare il blog seguendo la procedura riportata di seguito, che utilizza l'interfaccia a riga di wp-cli comando per WordPress.
Per modificare il WordPress sito URL con wp-cli
-
Connettiti alla tua EC2 istanza conSSH.
-
Prendi nota del vecchio sito URL e del nuovo sito URL della tua istanza. Il vecchio sito URL è probabilmente il DNS nome pubblico dell'EC2istanza al momento dell'installazione WordPress. Il nuovo sito URL è il DNS nome pubblico corrente dell'EC2istanza. Se non sei sicuro del tuo vecchio sitoURL, puoi usarlo curl per trovarlo con il seguente comando.
[ec2-user ~]$
curl localhost | grep wp-content
Nell'output dovreste vedere dei riferimenti al vostro vecchio DNS nome pubblico, che sarà simile a questo (vecchio sito URL in rosso):
<script type='text/javascript' src='
http://ec2-52-8-139-223.us-west-1.compute.amazonaws.com
/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script> -
Scaricare wp-cli con il seguente comando.
[ec2-user ~]$
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
-
Cerca e sostituisci il vecchio sito URL nell' WordPress installazione con il seguente comando. Sostituisci l'EC2istanza e il percorso URLs di WordPress installazione con il vecchio e il nuovo sito (di solito
/var/www/html
o/var/www/html/blog
).[ec2-user ~]$
php wp-cli.phar search-replace
'old_site_url'
'new_site_url'
--path=/path/to/wordpress/installation
--skip-columns=guid -
In un browser Web, accedi al nuovo sito URL del tuo WordPress blog per verificare che il sito funzioni di nuovo correttamente. In caso contrario, consulta Modifica del sito URL
e Problemi di installazione comuni per ulteriori informazioni.