

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Etapa 2: configurar seu conteúdo de origem para ser implantado na instância Amazon Linux ou Red Hat Enterprise Linux instância do Amazon EC2
<a name="tutorials-wordpress-configure-content"></a>

Agora é hora de configurar o conteúdo de origem do seu aplicativo, para que você tenha algo para implantar na instância.

**Topics**
+ [Obter o código-fonte](#tutorials-wordpress-configure-content-download-code)
+ [Criar scripts para executar seu aplicativo](#tutorials-wordpress-configure-content-create-scripts)
+ [Adicionar um arquivo de especificação de aplicativo](#tutorials-wordpress-configure-content-add-appspec-file)

## Obter o código-fonte
<a name="tutorials-wordpress-configure-content-download-code"></a>

Neste tutorial, você implanta a plataforma de publicação de WordPress conteúdo da sua máquina de desenvolvimento na instância de destino do Amazon EC2. Para obter o WordPress código-fonte, você pode usar chamadas de linha de comando integradas. Ou, se tiver o Git instalado na sua máquina de desenvolvimento, poderá usá-lo como alternativa.

Para essas etapas, presumimos que você baixou uma cópia do WordPress código-fonte para o `/tmp` diretório em sua máquina de desenvolvimento. (É possível escolher qualquer diretório desejado, mas lembre-se de substituir `/tmp` pela localização sempre que esse diretório for especificado nas etapas.)

Escolha uma das duas opções a seguir para copiar os arquivos de WordPress origem para sua máquina de desenvolvimento. A primeira opção usa chamadas integradas de linha de comando. A segunda opção usa o Git.

**Topics**
+ [Para obter uma cópia do WordPress código-fonte (chamadas de linha de comando integradas)](#tutorials-wordpress-configure-content-download-code-command-line)
+ [Para obter uma cópia do WordPress código-fonte (Git)](#tutorials-wordpress-configure-content-download-code-git)

### Para obter uma cópia do WordPress código-fonte (chamadas de linha de comando integradas)
<a name="tutorials-wordpress-configure-content-download-code-command-line"></a>

1. Chame o **wget** comando para baixar uma cópia do WordPress código-fonte, como um arquivo.zip, para o diretório atual:

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

1. Chame os comandos **unzip**, **mkdir**, **cp** e **rm** para:
   + Descompactar o arquivo `master` .zip no `/tmp/WordPress_Temp` diretório (pasta).
   + Copiar seu conteúdo descompactado na pasta de destino `/tmp/WordPress`.
   + Excluir a pasta temporária `/tmp/WordPress_Temp` e o arquivo `master`.

   Execute os comandos um de cada vez:

   ```
   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
   ```

   Isso deixa você com um conjunto limpo de arquivos de WordPress código-fonte na `/tmp/WordPress` pasta.

### Para obter uma cópia do WordPress código-fonte (Git)
<a name="tutorials-wordpress-configure-content-download-code-git"></a>

1. Baixe e instale o [Git](http://git-scm.com) na sua máquina de desenvolvimento.

1. Na pasta `/tmp/WordPress`, chame o comando **git init**. 

1. Chame o **git clone** comando para clonar o WordPress repositório público, fazendo sua própria cópia dele na pasta de `/tmp/WordPress` destino:

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

   Isso deixa você com um conjunto limpo de arquivos de WordPress código-fonte na `/tmp/WordPress` pasta.

## Criar scripts para executar seu aplicativo
<a name="tutorials-wordpress-configure-content-create-scripts"></a>

Em seguida, crie uma pasta e scripts no diretório. CodeDeploy usa esses scripts para configurar e implantar a revisão do seu aplicativo na instância de destino do Amazon EC2. É possível usar qualquer editor de texto para criar os scripts.

1. Crie um diretório de scripts em sua cópia do WordPress código-fonte:

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

1. Crie um arquivo `install_dependencies.sh` no `/tmp/WordPress/scripts`. Adicione as seguintes linhas ao arquivo. Este script `install_dependencies.sh` instala Apache, MySQL e PHP. Ele também adiciona suporte do MySQL ao PHP.

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

1. Crie um arquivo `start_server.sh` no `/tmp/WordPress/scripts`. Adicione as seguintes linhas ao arquivo. Este script `start_server.sh` inicia Apache e MySQL.

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

1. Crie um arquivo `stop_server.sh` no `/tmp/WordPress/scripts`. Adicione as seguintes linhas ao arquivo. Este script `stop_server.sh` para 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. Crie um arquivo `create_test_db.sh` no `/tmp/WordPress/scripts`. Adicione as seguintes linhas ao arquivo. Esse `create_test_db.sh` script usa o MySQL para criar um **test** banco de dados WordPress para uso.

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

1. Finalmente, crie um script `change_permissions.sh` em `/tmp/WordPress/scripts`. Ele é usado para alterar as permissões de pastas no Apache.
**Importante**  
 Este script mostra permissões atualizadas na pasta `/tmp/WordPress` para que qualquer pessoa possa gravar nele. Isso é necessário para que ele WordPress possa gravar em seu banco de dados durante[Etapa 5: atualizar e reimplantar seu aplicativo WordPress](tutorials-wordpress-update-and-redeploy-application.md). Depois que o WordPress aplicativo estiver configurado, execute o comando a seguir para atualizar as permissões para uma configuração mais segura:  

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

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

1. Dê todas as permissões executáveis de scripts. Na linha de comando, digite:

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

## Adicionar um arquivo de especificação de aplicativo
<a name="tutorials-wordpress-configure-content-add-appspec-file"></a>

Em seguida, adicione um arquivo de especificação do aplicativo (AppSpec arquivo), um arquivo formatado em [YAML](http://www.yaml.org) usado por to: CodeDeploy 
+ Mapear os arquivos de origem na sua revisão de aplicativo para os respectivos destinos na instância do Amazon EC2 de destino.
+ Especificar permissões personalizadas para arquivos implantados.
+ Especificar os scripts a serem executados na instância do Amazon EC2 de destino durante a implantação.

O AppSpec arquivo deve ser nomeado`appspec.yml`. Ele deve ser colocado no diretório raiz do código-fonte do aplicativo. Neste tutorial, o diretório raiz é `/tmp/WordPress`.

Com seu editor de texto, crie um arquivo chamado `appspec.yml`. Adicione as seguintes linhas ao arquivo:

```
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 usa esse AppSpec arquivo para copiar todos os arquivos da `/tmp/WordPress` pasta na máquina de desenvolvimento para a `/var/www/html/WordPress` pasta na instância do Amazon EC2 de destino. Durante a implantação, CodeDeploy executa os scripts especificados como `root` na `/var/www/html/WordPress/scripts` pasta na instância de destino do Amazon EC2 em eventos específicos durante o ciclo de vida da implantação, como e. **BeforeInstall** **AfterInstall** Se algum desses scripts levar mais de 300 segundos (5 minutos) para ser executado, CodeDeploy interrompe a implantação e marca a implantação como falhada.

Para obter mais informações sobre essas configurações, consulte o [CodeDeploy AppSpec referência de arquivo](reference-appspec-file.md).

**Importante**  
Os locais e números de espaços entre cada um dos itens desse arquivo são importantes. Se o espaçamento estiver incorreto, CodeDeploy gera um erro que pode ser difícil de depurar. Para obter mais informações, consulte [AppSpec Espaçamento de arquivos](reference-appspec-file.md#reference-appspec-file-spacing).