

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

# Fase 2: configura il contenuto sorgente da distribuire sull'istanza Amazon Linux o Red Hat Enterprise Linux Amazon EC2
<a name="tutorials-wordpress-configure-content"></a>

È ora possibile configurare l'applicazione dei contenuti di origine in modo da avere materiale da distribuire all'istanza.

**Topics**
+ [Ottieni il codice sorgente](#tutorials-wordpress-configure-content-download-code)
+ [Crea script per eseguire la tua applicazione](#tutorials-wordpress-configure-content-create-scripts)
+ [Aggiungere un file di specifiche dell'applicazione](#tutorials-wordpress-configure-content-add-appspec-file)

## Ottieni il codice sorgente
<a name="tutorials-wordpress-configure-content-download-code"></a>

In questo tutorial, distribuisci la piattaforma di pubblicazione WordPress dei contenuti dalla tua macchina di sviluppo all'istanza Amazon EC2 di destinazione. Per ottenere il codice WordPress sorgente, puoi utilizzare chiamate da riga di comando integrate. In alternativa, si può usare Git se è installato nel computer di sviluppo.

Per questi passaggi, supponiamo che tu abbia scaricato una copia del codice WordPress sorgente `/tmp` nella directory del tuo computer di sviluppo. È possibile scegliere una directory qualsiasi, ma ci si deve ricordare di sostituire la posizione per `/tmp` nel punto specificato in queste fasi.

Scegli una delle due opzioni seguenti per copiare i file WordPress sorgente sulla tua macchina di sviluppo. La prima opzione utilizza le chiamate della riga di comando integrata. La seconda usa Git.

**Topics**
+ [Per ottenere una copia del codice WordPress sorgente (chiamate da riga di comando integrate)](#tutorials-wordpress-configure-content-download-code-command-line)
+ [Per ottenere una copia del codice WordPress sorgente (Git)](#tutorials-wordpress-configure-content-download-code-git)

### Per ottenere una copia del codice WordPress sorgente (chiamate da riga di comando integrate)
<a name="tutorials-wordpress-configure-content-download-code-command-line"></a>

1. Chiamate il **wget** comando per scaricare una copia del codice WordPress sorgente, come file.zip, nella directory corrente:

   ```
   wget https://github.com/WordPress/WordPress/archive/master.zip
   ```

1. Chiamare i comandi **unzip**, **mkdir**, **cp** e **rm** per:
   + Decomprimere il file .zip `master` nella directory (cartella) `/tmp/WordPress_Temp`.
   + Copiare i contenuti estratti dallo zip nella cartella di destinazione `/tmp/WordPress`.
   + Eliminare la cartella temporanea `/tmp/WordPress_Temp` e il file `master`.

   Eseguire uno alla volta i comandi:

   ```
   unzip master -d /tmp/WordPress_Temp
   ```

   ```
   mkdir -p /tmp/WordPress
   ```

   ```
   cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress
   ```

   ```
   rm -rf /tmp/WordPress_Temp
   ```

   ```
   rm -f master
   ```

   Questo ti lascia con un set pulito di file di codice WordPress sorgente nella `/tmp/WordPress` cartella.

### Per ottenere una copia del codice WordPress sorgente (Git)
<a name="tutorials-wordpress-configure-content-download-code-git"></a>

1. Scaricare e installare [Git](http://git-scm.com) sul computer di sviluppo.

1. Nella cartella `/tmp/WordPress`, chiamare il comando **git init**. 

1. Chiamate il **git clone** comando per clonare l' WordPressarchivio pubblico, creandone una copia nella cartella di `/tmp/WordPress` destinazione:

   ```
   git clone https://github.com/WordPress/WordPress.git /tmp/WordPress
   ```

   Questo ti lascia con un set pulito di file di codice WordPress sorgente nella `/tmp/WordPress` cartella.

## Crea script per eseguire la tua applicazione
<a name="tutorials-wordpress-configure-content-create-scripts"></a>

Quindi, crea una cartella e degli script nella directory. CodeDeploy utilizza questi script per configurare e distribuire la revisione dell'applicazione sull'istanza Amazon EC2 di destinazione. È possibile usare qualsiasi editor di testo per creare gli script.

1. Crea una directory di script nella tua copia del codice sorgente: WordPress 

   ```
   mkdir -p /tmp/WordPress/scripts
   ```

1. Creare un file `install_dependencies.sh` in `/tmp/WordPress/scripts`. Aggiungere le seguenti righe al file. Questo script `install_dependencies.sh` installa Apache, MySQL e PHP. Aggiunge inoltre il supporto MySQL a PHP.

   ```
   #!/bin/bash
   sudo amazon-linux-extras install php7.4
   sudo yum install -y httpd mariadb-server php
   ```

1. Creare un file `start_server.sh` in `/tmp/WordPress/scripts`. Aggiungere le seguenti righe al file. Questo script `start_server.sh` avvia Apache e MySQL.

   ```
   #!/bin/bash
   systemctl start mariadb.service
   systemctl start httpd.service
   systemctl start php-fpm.service
   ```

1. Creare un file `stop_server.sh` in `/tmp/WordPress/scripts`. Aggiungere le seguenti righe al file. Questo script `stop_server.sh` arresta Apache e MySQL.

   ```
   #!/bin/bash
   isExistApp="pgrep httpd"
   if [[ -n $isExistApp ]]; then
   systemctl stop httpd.service
   fi
   isExistApp=pgrep mysqld
   if [[ -n $isExistApp ]]; then
   systemctl stop mariadb.service
   fi
   isExistApp=pgrep php-fpm
   if [[ -n $isExistApp ]]; then
   systemctl stop php-fpm.service
   
   fi
   ```

1. Creare un file `create_test_db.sh` in `/tmp/WordPress/scripts`. Aggiungere le seguenti righe al file. Questo `create_test_db.sh` script utilizza MySQL per creare **test** un database WordPress da utilizzare.

   ```
   #!/bin/bash
   mysql -uroot <<CREATE_TEST_DB
   CREATE DATABASE IF NOT EXISTS test;
   CREATE_TEST_DB
   ```

1. Infine creare uno script `change_permissions.sh` in `/tmp/WordPress/scripts`. Questo viene utilizzato per modificare le autorizzazioni per la cartella in Apache.
**Importante**  
 Questo script ha aggiornato le autorizzazioni nella cartella `/tmp/WordPress` in modo che tutti possano scriverci. Questo è necessario per WordPress poter scrivere nel suo database durante. [Fase 5: Aggiornare e ridistribuire l'applicazione WordPress](tutorials-wordpress-update-and-redeploy-application.md) Dopo aver configurato l' WordPress applicazione, esegui il comando seguente per aggiornare le autorizzazioni a un'impostazione più sicura:  

   ```
   chmod -R 755 /var/www/html/WordPress
   ```

   ```
   #!/bin/bash
   chmod -R 777 /var/www/html/WordPress
   ```

1. Assegnare autorizzazioni eseguibili a tutti gli script. Sulla riga di comando, digitare:

   ```
   chmod +x /tmp/WordPress/scripts/*
   ```

## Aggiungere un file di specifiche dell'applicazione
<a name="tutorials-wordpress-configure-content-add-appspec-file"></a>

Quindi, aggiungete un file di specifiche dell'applicazione (AppSpec file), un file in formato [YAML](http://www.yaml.org) utilizzato da per: CodeDeploy 
+ Mappa i file di origine nella revisione dell'applicazione alle relative destinazioni sull'istanza Amazon EC2 di destinazione.
+ Specificare autorizzazioni personalizzate per i file distribuiti.
+ Specificare gli script da eseguire sull'istanza Amazon EC2 di destinazione durante la distribuzione.

Il AppSpec file deve avere un nome. `appspec.yml` Deve essere inserito nella directory root del codice sorgente dell'applicazione. In questo tutorial, la directory root è `/tmp/WordPress`.

Con un editor di testo, creare un file denominato `appspec.yml`. Aggiungere le seguenti righe al file:

```
version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/html/WordPress
hooks:
  BeforeInstall:
    - location: scripts/install_dependencies.sh
      timeout: 300
      runas: root
  AfterInstall:
    - location: scripts/change_permissions.sh
      timeout: 300
      runas: root
  ApplicationStart:
    - location: scripts/start_server.sh
    - location: scripts/create_test_db.sh
      timeout: 300
      runas: root
  ApplicationStop:
    - location: scripts/stop_server.sh
      timeout: 300
      runas: root
```

CodeDeploy utilizza questo AppSpec file per copiare tutti i file nella `/tmp/WordPress` cartella sulla macchina di sviluppo nella `/var/www/html/WordPress` cartella sull'istanza Amazon EC2 di destinazione. Durante la distribuzione, CodeDeploy esegue gli script specificati come `root` nella `/var/www/html/WordPress/scripts` cartella sull'istanza Amazon EC2 di destinazione in occasione di eventi specifici durante il ciclo di vita della distribuzione, ad esempio e. **BeforeInstall** **AfterInstall** Se l'esecuzione di uno di questi script impiega più di 300 secondi (5 minuti), CodeDeploy interrompe la distribuzione e contrassegna la distribuzione come fallita.

Per ulteriori informazioni su queste impostazioni, consulta i [CodeDeploy AppSpec riferimento al file](reference-appspec-file.md).

**Importante**  
Le ubicazioni e i numeri di spazi tra ciascuna delle voci in questo file sono importanti. Se la spaziatura non è corretta, CodeDeploy genera un errore di cui potrebbe essere difficile eseguire il debug. Per ulteriori informazioni, consulta [AppSpec Spaziatura tra i file](reference-appspec-file.md#reference-appspec-file-spacing).