

 AWS Cloud9 non è più disponibile per i nuovi clienti. I clienti esistenti di AWS Cloud9 possono continuare a utilizzare il servizio come di consueto. [Ulteriori informazioni](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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à.

# WordPress tutorial per AWS Cloud9
<a name="sample-wordpress"></a>

Questo tutorial consente di installare ed eseguire l'installazione WordPress in un ambiente di AWS Cloud9 sviluppo. WordPress è un sistema di gestione dei contenuti (CMS) open source ampiamente utilizzato per la distribuzione di contenuti web. 

**Nota**  
Seguire questo tutorial e creare questo esempio potrebbe comportare addebiti sul tuo AWS account. Questi includono possibili addebiti per servizi come Amazon Elastic Compute Cloud (Amazon EC2). Per ulteriori informazioni, consulta [Prezzi di Amazon EC2](https://aws.amazon.com/ec2/pricing/).

## Prerequisiti
<a name="sample-wordpress-prereqs"></a>

Prima di usare questo esempio, assicurati che la configurazione soddisfi i seguenti requisiti:
+ **È necessario disporre di un ambiente di sviluppo AWS Cloud9 EC2 esistente.** Nell'esempio si presume che tu disponga già di un ambiente EC2 connesso a un'istanza Amazon EC2 in cui viene eseguito Amazon Linux o Ubuntu Server. Se disponi di un altro tipo di ambiente o sistema operativo, potrebbe essere necessario adattare le istruzioni di questo esempio per configurare gli strumenti correlati. Per ulteriori informazioni, consulta [Creare un ambiente in AWS Cloud9](create-environment.md).
+ **L' AWS Cloud9 IDE per l'ambiente esistente è già aperto.** Quando apri un ambiente, AWS Cloud9 apre l'IDE per quell'ambiente nel tuo browser web. Per ulteriori informazioni, consulta [Aprire un ambiente in AWS Cloud9](open-environment.md).
+ **Hai un'istanza up-to-date EC2 con tutti i pacchetti software più recenti**. Nella finestra del terminale AWS Cloud9 IDE, puoi eseguire l'esecuzione `yum update` con l'`-y`opzione per installare gli aggiornamenti senza chiedere conferma. Se desideri esaminare gli aggiornamenti prima di installarli, puoi omettere questa opzione. 

  ```
  sudo yum update -y
  ```

## Panoramica dell'installazione
<a name="task-overview"></a>

L'installazione WordPress sull'istanza EC2 del tuo ambiente prevede i seguenti passaggi:

1. Installazione e configurazione di MariadB Server, un database relazionale open source che memorizza le informazioni per le installazioni WordPress 

1. Installazione e configurazione, che include la modifica del WordPress file di configurazione `wordpress.conf`

1. Configurazione del server Apache che ospita il sito WordPress 

1. Visualizzazione in anteprima del contenuto WordPress Web ospitato dal server Apache

## Fase 1: installazione e configurazione di MariaDB Server
<a name="wp-install-configure-mariadb"></a>

1. Nell' AWS Cloud9 IDE, scegli **Finestra**, **Nuovo terminale** e inserisci i seguenti comandi per installare e avviare un'installazione di MariaDB Server:

   ```
   sudo yum install -y mariadb-server
   sudo systemctl start mariadb
   ```

1. Quindi, esegui lo script `mysql_secure_installation` per migliorare la sicurezza dell'installazione di MariaDB Server. 

   Quando fornisci risposte allo script, premi **Invio** per la prima domanda per mantenere vuota la password root. Premi **n** per `Set root password?`, quindi **y** per ciascuna delle altre opzioni di protezione.

   ```
   mysql_secure_installation
   ```

1. Ora crea una tabella di database per memorizzare WordPress le informazioni utilizzando il client MariaDB.

   (Premi **Invio** quando ti viene richiesta la password).

   ```
   sudo mysql -u root -p
   MariaDB [(none)]> create database wp_test;
   MariaDB [(none)]> grant all privileges on wp_test.* to root@localhost identified by ';'
   ```

1. Per disconnetterti dal client MariaDB, esegui il comando `exit`.

## Fase 2: Installazione e configurazione WordPress
<a name="wp-install-configure-wordpress"></a>

1. Nella finestra del terminale IDE, accedi alla directory `environment`, quindi crea le directory `config` e `wordpress`. Quindi esegui il comando `touch` per creare un file denominato `wordpress.conf` nella directory `config`:

   ```
   cd /home/ec2-user/environment
   mkdir config wordpress
   touch config/wordpress.conf
   ```

1. Utilizzate l'editor IDE o vim per l'aggiornamento `wordpress.conf` con le informazioni di configurazione dell'host che consentano al server Apache di fornire contenuti: WordPress 

   ```
   # Ensure that Apache listens on port 80
   Listen 8080
   <VirtualHost *:8080>
       DocumentRoot "/var/www/wordpress"
       ServerName www.example.org
       # Other directives here
   </VirtualHost>
   ```

1. Ora esegui i seguenti comandi per recuperare il file di archivio richiesto e installarlo: WordPress 

   ```
   cd /home/ec2-user/environment
   wget https://wordpress.org/latest.tar.gz
   tar xvf latest.tar.gz
   ```

1. Esegui il comando `touch` per creare un file denominato `wp-config.php` nella directory `environment/wordpress`:

   ```
   touch wordpress/wp-config.php
   ```

1. Usa l'editor IDE o vim per aggiornare `wp-config.php` e sostituire i dati di esempio con la tua configurazione: 

   ```
   // ** MySQL settings - You can get this info from your web host ** //
   /** The name of the database for WordPress */
   define( 'DB_NAME', 'wp_test' );
   
   /** MySQL database username */
   define( 'DB_USER', 'wp_user' );
   
   /** MySQL database password */
   define( 'DB_PASSWORD', 'YourSecurePassword' );
   
   /** MySQL hostname */
   define( 'DB_HOST', 'localhost' );
   
   /** Database Charset to use in creating database tables. */
   define( 'DB_CHARSET', 'utf8' );
   
   /** The Database Collate type. Don't change this if in doubt. */
   define( 'DB_COLLATE', '' );
   
   define('FORCE_SSL', true);
   
   if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS'] = 'on';
   ```

## Fase 3: configurazione del server HTTP Apache
<a name="wp-install-configure-apache"></a>

1. Nella finestra del terminale AWS Cloud9 IDE, assicuratevi di avere Apache installato: 

   ```
   httpd -v
   ```

   Se il server Apache non è installato, esegui il comando seguente:

   ```
   sudo yum install -y httpd 
   ```

1. Passa alla directory `/etc/httpd/conf.d`, che è la posizione dei file di configurazione dell'host virtuale di Apache. Quindi utilizza il comando `ln` per collegare `wordpress.conf` creato precedentemente nella directory di lavoro corrente (`/etc/httpd/conf.d`):

   ```
   cd /etc/httpd/conf.d
   sudo ln -s /home/ec2-user/environment/config/wordpress.conf
   ```

1. Ora accedi alla directory `/var/www`, che è la cartella root di default per i server Apache. Quindi utilizza il comando `ln` per collegare la directory `wordpress` creata precedentemente nella directory di lavoro corrente (`/var/www`): 

   ```
   cd /var/www
   sudo ln -s /home/ec2-user/environment/wordpress
   ```

1. Esegui il comando `chmod` per permettere al server Apache di eseguire il contenuto nella sottodirectory `wordpress`:

   ```
   sudo chmod +x /home/ec2-user/
   ```

1. Ora riavvia il server Apache per permettergli di rilevare le nuove configurazioni: 

   ```
   sudo service httpd restart
   ```

## Fase 4: Visualizzazione in anteprima dei contenuti web WordPress
<a name="wp-preview-wordpress"></a>

1. Utilizzando l' AWS Cloud9 IDE, crea un nuovo file chiamato `index.html` nella seguente directory:`environment/wordpress`.

1. Aggiungi testo in formato HTML a `index.html`. Esempio:

   ```
   <h1>Hello World!</h1>
   ```

1. Nella finestra **Ambiente**, scegliete il `index.html` file, quindi scegliete **Anteprima, Anteprima** **applicazione in esecuzione**.

   La pagina Web, che visualizza il messaggio *Hello World\$1*, viene visualizzata nella scheda di anteprima dell'applicazione. Per visualizzare i contenuti Web nel browser preferito, scegli **Pop Out Into a New Window** (Mostra in una nuova finestra).

   Se eliminate il `index.html` file e aggiornate la scheda di anteprima dell'applicazione, viene visualizzata la pagina di WordPress configurazione. 

## Gestione degli errori di contenuti misti
<a name="wp-allow-mixed"></a>

I browser Web visualizzano errori di contenuto misto per un WordPress sito se vengono caricati script o contenuti HTTPS e HTTP contemporaneamente. La formulazione dei messaggi di errore dipende dal browser Web che stai utilizzando, ma vieni informato che la connessione a un sito non è sicura o non è completamente sicura. Inoltre, il browser web blocca l'accesso ai contenuti misti.

**Importante**  
Per impostazione predefinita, tutte le pagine Web a cui accedi nella scheda di anteprima dell'applicazione dell'IDE AWS Cloud9 utilizzano automaticamente il protocollo HTTPS. Se l'URI di una pagina è caratterizzato da un protocollo `http` non sicuro, viene sostituito automaticamente da `https`. E non è possibile accedere ai contenuti non sicuri riportando manualmente `https` a `http`.  
Per indicazioni sull'implementazione di HTTPS per il tuo sito web, consulta la [WordPressdocumentazione](https://wordpress.org/support/article/https-for-wordpress/).