Guida dettagliata alla configurazione di WordPress su un'istanza Linux Amazon EC2 (AWS).
Pubblicato: 2017-05-25Amazon Elastic Compute Cloud ( Amazon EC2 ) è un servizio cloud che fornisce capacità di calcolo ridimensionabile nel cloud. È progettato per consentire agli sviluppatori di ridimensionare e monitorare in modo migliore la propria applicazione Web.
Amazon EC2 fornisce alcune delle funzionalità avanzate come IP elastici, bilanciamento del carico, varie piattaforme come (linux, Windows, ecc.), ridimensionamento, monitoraggio ecc. È anche facile per gli sviluppatori gestire la propria applicazione Web in modo migliore.
L'hosting WordPress on AWS
è una scelta intelligente perché, rispetto ad altri provider VPS, Amazon ha prezzi bassi, più funzionalità e altri fantastici servizi correlati. Inoltre, ti addebitano le ore di esecuzione dell'istanza.
Quindi, in questo tutorial ti mostrerò come configurare l'ambiente LAMP su piattaforma Linux e installare il blog WordPress manualmente sull'istanza Amazon EC2 .
Questa guida passo passo ti aiuterà a gestire completamente il tuo host che è diverso da cPanel.
1. Crea un account AWS
Prima di tutto devi creare il tuo account AWS. Puoi iscriverti seguendo questo link. Dovrai fornire una carta di credito o una carta di debito internazionale e un numero di telefono sul quale verrai chiamato come parte del processo di verifica della registrazione online come previsto dai loro termini e politiche.
La tua carta di credito o di debito verrà addebitata di valore minore e verrà rimborsata una volta verificata. Amazon offre un livello di utilizzo gratuito su cui installeremo WordPress, il che è ottimo per esplorare i servizi e persino ospitare app reali senza dover pagare un solo centesimo.
2. Crea un'istanza
Dopo la registrazione hai molte opzioni disponibili e quindi probabilmente hai questa domanda in mente che Which type of instance should I choose
?
Se hai un nuovo blog, puoi scegliere l' EC2 micro instance
di gestire circa 200+ traffico in tempo reale.
Ha anche una struttura dei prezzi interessante, ma se stai migrando il tuo blog esistente e hai un traffico superiore a mille al giorno, devi scegliere un'istanza Small che può gestire quel traffico molto facilmente.
Per creare una nuova istanza, accedi alla Console di gestione AWS e fai clic sulla scheda EC2:
- Scegli un'AMI nella procedura guidata dell'istanza classica:
- Ho scelto l'AMI Amazon Linux di base a 64 bit di Ubuntu Server.
- Dettagli dell'istanza:
- Seleziona il tipo di istanza che desideri utilizzare. Ho scelto Small (m5a.small).
- Crea una nuova coppia di chiavi.
- Inserisci un nome per la tua coppia di chiavi (es. crunchify) e scarica la tua coppia di chiavi (es.
crunchify.pem
).
- Inserisci un nome per la tua coppia di chiavi (es. crunchify) e scarica la tua coppia di chiavi (es.
- Seleziona il gruppo di sicurezza di avvio rapido.
- Avvia la tua istanza.
3. SSH nella tua istanza
Una volta completata la configurazione dell'istanza e mostra che l'istanza è in esecuzione, puoi ssh
in essa.
- Prima di tutto, devi identificare l'indirizzo IP (DNS pubblico) della tua istanza:
- Seleziona l'istanza nella Console di gestione AWS.
- Cerca il DNS pubblico nella descrizione dell'istanza (parte inferiore dello schermo).
Usa quell'indirizzo (e un percorso del tuo file .pem) per entrare nella tua istanza:
1 |
ssh ec2 - user @ ec2 - 50 - 17 - 15 - 27.compute - 1.amazonaws.com - i ~ / crunchify . pem |
Se sei su un sistema Windows, dovresti usare Putty per connetterti come SSH. Puoi connetterti con stucco seguendo questo articolo.
Se ricevi un messaggio di errore sul fatto che i permessi del tuo file .pem sono troppo aperti, chmod il tuo file .pem come segue:
1 |
[ ec2 - user ~ ] $ chmod 600 ~ / crunchify . pem |
In questo tutorial è necessario eseguire molti comandi della shell e la maggior parte dei comandi richiede l'accesso come root. Quindi, per evitare ciò, anteporremo a tutti questi comandi sudo cambiando utente una volta per tutte con questo comando.
1 |
[ ec2 - user ~ ] $ sudo su |
4. Installare il server Web Apache per eseguire PHP
Per installare Apache Web Server, digitare nel terminale:
1 2 3 4 |
[ ec2 - user ~ ] $ sudo yum - y install python - simplejson # Install PHP latest version [ ec2 - user ~ ] $ sudo yum update # System wide upgrade [ ec2 - user ~ ] $ sudo yum install - y default - jre # Install Java (just to be safe) [ ec2 - user ~ ] $ sudo yum install httpd # Install HTTPD server |
Avvia il server Web Apache:
1 |
[ ec2 - user ~ ] $ service httpd start |
Dopo la configurazione, per testare il tuo Web Server, apri un browser e accedi al tuo sito web:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com |
(Utilizza il tuo nome DNS pubblico effettivo). Dovresti vedere una pagina predefinita del segnaposto Amazon standard.
5. Installa PHP per eseguire WordPress
Per installare PHP, digita nel terminale:
1 |
[ ec2 - user ~ ] $ yum install php php - mysql |
Dopo aver installato correttamente php Riavviare il server Web Apache:
1 |
[ ec2 - user ~ ] $ service httpd restart |
Crea una pagina per testare la tua installazione di PHP:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ vi test . php |
- Digitare
i
per avviare la modalità di inserimento - Digita
<?php phpinfo() ?>
- Digitare
:wq
per scrivere il file e uscire da vi
Apri un browser e accedi a test.php per testare la tua installazione di PHP:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/test.php |
(Utilizza il tuo nome DNS pubblico)
6. Installa MySQL per aggiungere database
Per installare MySQL, digita:
1 |
[ ec2 - user ~ ] $ yum install mysql - server |
Avvia MySQL:
1 |
[ ec2 - user ~ ] $ service mysqld start |
Crea il tuo database “blog”:
1 |
[ ec2 - user ~ ] $ mysqladmin - u root create blog |
Proteggi il tuo database:
1 |
[ ec2 - user ~ ] $ mysql_secure_installation |
Rispondi alle domande della procedura guidata come segue:
- Immettere la password corrente per root: premere Invio per nessuno
- Modifica password radice: Y
- Nuova password: inserisci la tua nuova password
- Rimuovi utente anonimo: Y
- Non consentire l'accesso root in remoto: Y
- Rimuovere il database di test e accedervi: Y
- Ricarica ora le tabelle dei privilegi: Y
7. Installa WordPress
Per installare WordPress, digita:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ wget http : //wordpress.org/latest.tar.gz |
Per decomprimere il tipo di file tar.gz:

1 |
[ ec2 - user ~ ] $ tar - xzvf latest . tar . gzcd |
Questo decomprimerà WordPress nella sua directory di WordPress
.
Mi piace avere WordPress in una directory separata, ma preferirei rinominarlo in "blog" se desideri installarlo in un sottodominio come "http://your-site.com/blog":
1 |
[ ec2 - user ~ ] $ mv wordpress blog |
altrimenti sposta tutti i file nella cartella principale digitando:
1 |
[ ec2 - user ~ ] $ mv * . * . . |
Crea il file wp-config.php di WordPress:
1 2 3 |
[ ec2 - user ~ ] $ cd blog [ ec2 - user ~ ] $ mv wp - config - sample . php wp - config . php [ ec2 - user ~ ] $ vi wp - config . php |
- Digitare
i
per avviare la modalità di inserimento.
Modificare i parametri di connessione al database come segue:
1 2 3 4 |
define ( ‘ DB_NAME ’ , ‘ blog ’ ) ; define ( ‘ DB_USER ’ , ‘ root ’ ) ; define ( ‘ DB_PASSWORD ’ , ‘ YOUR_PASSWORD ’ ) ; define ( ‘ DB_HOST ’ , ‘ localhost ’ ) ; |
- Premere
esc
una volta quindi - Digitare
:wq
per scrivere il file e uscire da vi
Apri un browser e accedi al tuo blog:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog (Use your public DNS name). |
Questo dovrebbe aprire il processo di configurazione dell'installazione di WordPress.
SUGGERIMENTO: per consentire a WordPress di utilizzare i permalink
I permalink di WordPress devono utilizzare i file Apache .htaccess per funzionare correttamente, ma questo non è abilitato per impostazione predefinita su Amazon Linux. Utilizzare questa procedura per consentire tutte le sostituzioni nella root del documento Apache.
Apri il file httpd.conf con il tuo editor di testo preferito (come nano o vim). Se non hai un editor di testo preferito, nano è molto più facile da usare per i principianti.
1 |
[ ec2 - user wordpress ] $ sudo vim / etc / httpd / conf / httpd . conf |
Trova la sezione che inizia con <Directory “ /var/www/html
“>.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
< 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 per leggere AllowOverride All
.
Nota:
Ci sono più righe AllowOverride
in questo file; assicurati di modificare la riga nella sezione <Directory "/var/www/html"
>.
1 |
AllowOverride All |
- Salva il file ed esci dall'editor di testo.
8. Mappa indirizzo IP e nome di dominio
Per utilizzare il tuo blog in produzione, dovrai:
- Associa un indirizzo IP alla tua istanza
- Mappa il tuo nome di dominio su quell'indirizzo IP
- Per associare un indirizzo IP alla tua istanza:
Passi:
- Nella Console di gestione AWS, fai clic su IP elastici (barra di navigazione a sinistra)
- Fare clic su Assegna nuovo indirizzo e confermare facendo clic sul pulsante "Sì, alloca".
- Fare clic con il pulsante destro del mouse sull'indirizzo IP appena assegnato e selezionare "Associa" nel menu a comparsa. Seleziona l'istanza che hai appena creato e fai clic su "Sì, Associa"
- Per mappare il tuo nome di dominio sul tuo indirizzo IP, dovrai utilizzare gli strumenti forniti dal tuo registrar di domini.
- Se utilizzi GoDaddy, specifica NS73.DOMAINCONTROL.COM e NS74.DOMAINCONTROL.COM come server dei nomi per il tuo dominio e utilizza DNS Manager per modificare il record A e puntare al tuo indirizzo IP.
- Una volta che tutto è configurato e mappato correttamente, accedi alle Impostazioni generali nella console di gestione di WordPress e assicurati che l'indirizzo WordPress e l'indirizzo del sito siano specificati correttamente utilizzando il tuo nome di dominio
Altro metodo: per modificare l'URL del tuo sito WordPress con wp-cli
Prendi nota del vecchio URL del sito e del nuovo URL del sito per la tua istanza. L'URL del vecchio sito è probabilmente il nome DNS pubblico per la tua istanza EC2 quando hai installato WordPress. Il nuovo URL del sito è il nome DNS pubblico corrente per l'istanza EC2.
Se non sei sicuro dell'URL del tuo vecchio sito, puoi utilizzare curl per trovarlo con il comando seguente.
1 |
[ ec2 - user ~ ] $ curl localhost | grep wp - content |
Dovresti vedere i riferimenti al tuo vecchio nome DNS pubblico nell'output, che sarà simile a questo (URL del vecchio sito in rosso):
1 |
<script type = 'text/javascript' src = http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script> |
Scarica il wp-cli con il seguente comando.
1 |
[ ec2 - user ~ ] $ curl - O https : //raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar |
Cerca e sostituisci l'URL del vecchio sito nell'installazione di WordPress con il comando seguente. Sostituisci il vecchio e il nuovo URL del sito con la tua istanza EC2 e il percorso dell'installazione di WordPress (di solito /var/www/html
o /var/www/html/blog
).
1 |
[ 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, inserisci l'URL del nuovo sito del tuo blog WordPress per verificare che il sito funzioni di nuovo correttamente.
Questo è tutto.
Hai creato correttamente l'ambiente LAMP e installato WordPress su Amazon EC2 . Se ricevi qualsiasi tipo di errore o sei bloccato in alcune attività, faccelo sapere commentando qui.
Faremo del nostro meglio per fornire una soluzione al tuo problema.