

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Schritt 2: Konfigurieren Sie Ihren Quellinhalt für die Bereitstellung auf der Amazon Linux- oder Red Hat Enterprise Linux Amazon EC2 EC2-Instance
<a name="tutorials-wordpress-configure-content"></a>

Jetzt ist es an der Zeit, die Quellinhalte Ihrer Anwendung zu konfigurieren, damit Sie Inhalte haben, die Sie auf der Instance bereitstellen können.

**Topics**
+ [Holen Sie sich den Quellcode](#tutorials-wordpress-configure-content-download-code)
+ [Erstellen Sie Skripts, um Ihre Anwendung auszuführen](#tutorials-wordpress-configure-content-create-scripts)
+ [Fügen Sie eine Anwendungsspezifikationsdatei hinzu](#tutorials-wordpress-configure-content-add-appspec-file)

## Holen Sie sich den Quellcode
<a name="tutorials-wordpress-configure-content-download-code"></a>

In diesem Tutorial stellen Sie die Plattform zur Veröffentlichung von WordPress Inhalten von Ihrem Entwicklungscomputer auf der Amazon EC2 EC2-Zielinstanz bereit. Um den WordPress Quellcode abzurufen, können Sie integrierte Befehlszeilenaufrufe verwenden. Wenn Sie auf Ihrem Entwicklungscomputer Git installiert haben, können Sie stattdessen auch Git verwenden.

Für diese Schritte gehen wir davon aus, dass Sie eine Kopie des WordPress Quellcodes in das `/tmp` Verzeichnis auf Ihrem Entwicklungscomputer heruntergeladen haben. (Sie können jedes beliebige Verzeichnis wählen. Denken Sie aber daran, den Speicherort für `/tmp` zu ersetzen, wenn dies in den folgenden Schritten angegeben ist.)

Wählen Sie eine der folgenden beiden Optionen, um die WordPress Quelldateien auf Ihren Entwicklungscomputer zu kopieren. Bei der ersten Option werden integrierte Befehlszeilenaufrufe genutzt. Bei der zweiten Option wird Git verwendet.

**Topics**
+ [Um eine Kopie des WordPress Quellcodes zu erhalten (integrierte Befehlszeilenaufrufe)](#tutorials-wordpress-configure-content-download-code-command-line)
+ [Um eine Kopie des WordPress Quellcodes zu erhalten (Git)](#tutorials-wordpress-configure-content-download-code-git)

### Um eine Kopie des WordPress Quellcodes zu erhalten (integrierte Befehlszeilenaufrufe)
<a name="tutorials-wordpress-configure-content-download-code-command-line"></a>

1. Rufen Sie den **wget** Befehl auf, um eine Kopie des WordPress Quellcodes als ZIP-Datei in das aktuelle Verzeichnis herunterzuladen:

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

1. Rufen Sie die Befehle **unzip**, **mkdir**, **cp** und **rm** auf, um:
   + die `master` .zip-Datei im `/tmp/WordPress_Temp`-Verzeichnis (Ordner) zu entpacken.
   + den entpackten Inhalt in den `/tmp/WordPress`-Zielordner zu kopieren.
   + den temporären `/tmp/WordPress_Temp`-Ordner und die `master`-Datei zu löschen.

   Führen Sie die Befehle einzeln aus:

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

   Dadurch erhalten Sie einen sauberen Satz von WordPress Quellcodedateien im `/tmp/WordPress` Ordner.

### Um eine Kopie des WordPress Quellcodes zu erhalten (Git)
<a name="tutorials-wordpress-configure-content-download-code-git"></a>

1. Laden Sie [Git](http://git-scm.com) auf Ihren Entwicklungscomputer herunter und installieren Sie das Programm.

1. Rufen Sie im Ordner `/tmp/WordPress` den Befehl **git init** auf. 

1. Rufen Sie den **git clone** Befehl zum Klonen des öffentlichen WordPress Repositorys auf und erstellen Sie Ihre eigene Kopie davon im `/tmp/WordPress` Zielordner:

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

   Dadurch erhalten Sie einen sauberen Satz von WordPress Quellcodedateien im `/tmp/WordPress` Ordner.

## Erstellen Sie Skripts, um Ihre Anwendung auszuführen
<a name="tutorials-wordpress-configure-content-create-scripts"></a>

Erstellen Sie als Nächstes einen Ordner und Skripts im Verzeichnis. CodeDeploy verwendet diese Skripts, um Ihre Anwendungsrevision auf der Amazon EC2 EC2-Zielinstanz einzurichten und bereitzustellen. Sie können zum Erstellen der Skripts jeden beliebigen Texteditor verwenden.

1. Erstellen Sie ein Skriptverzeichnis in Ihrer Kopie des WordPress Quellcodes:

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

1. Erstellen Sie eine `install_dependencies.sh`-Datei in `/tmp/WordPress/scripts`. Fügen Sie der Datei die folgenden Zeilen hinzu. Dieses `install_dependencies.sh`-Skript installiert Apache, MySQL und PHP. Außerdem wird MySQL-Support für PHP hinzugefügt.

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

1. Erstellen Sie eine `start_server.sh`-Datei in `/tmp/WordPress/scripts`. Fügen Sie der Datei die folgenden Zeilen hinzu. Dieses `start_server.sh`-Skript startet Apache und MySQL.

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

1. Erstellen Sie eine `stop_server.sh`-Datei in `/tmp/WordPress/scripts`. Fügen Sie der Datei die folgenden Zeilen hinzu. Dieses `stop_server.sh`-Skript stoppt Apache und 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. Erstellen Sie eine `create_test_db.sh`-Datei in `/tmp/WordPress/scripts`. Fügen Sie der Datei die folgenden Zeilen hinzu. Dieses `create_test_db.sh` Skript verwendet MySQL, um eine **test** Datenbank zur Verwendung WordPress zu erstellen.

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

1. Erstellen Sie schließlich ein `change_permissions.sh`-Skript in `/tmp/WordPress/scripts`. Damit werden die Ordnerberechtigungen in Apache geändert.
**Wichtig**  
 In diesem Skript wurden die Berechtigungen für den `/tmp/WordPress`-Ordner aktualisiert, damit alle Benutzer darin schreiben können. Dies ist erforderlich, damit WordPress währenddessen in die Datenbank geschrieben werden kann[Schritt 5: Aktualisieren Sie Ihre WordPress Anwendung und stellen Sie sie erneut bereit](tutorials-wordpress-update-and-redeploy-application.md). Führen Sie nach der Einrichtung der WordPress Anwendung den folgenden Befehl aus, um die Berechtigungen auf eine sicherere Einstellung zu aktualisieren:  

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

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

1. Geben Sie allen Skripts ausführbare Berechtigungen. Geben Sie an der Befehlszeile Folgendes ein:

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

## Fügen Sie eine Anwendungsspezifikationsdatei hinzu
<a name="tutorials-wordpress-configure-content-add-appspec-file"></a>

Fügen Sie als Nächstes eine Anwendungsspezifikationsdatei (Datei) hinzu, eine AppSpec Datei im [YAML-Format](http://www.yaml.org), die von verwendet wird, um: CodeDeploy 
+ Ordnen Sie die Quelldateien in Ihrer Anwendungsrevision ihren Zielen auf der Amazon EC2 EC2-Zielinstanz zu.
+ Geben Sie benutzerdefinierte Berechtigungen für bereitgestellte Dateien an.
+ Geben Sie die Skripts an, die während der Bereitstellung auf der Amazon EC2 EC2-Zielinstanz ausgeführt werden sollen.

Die AppSpec Datei muss benannt `appspec.yml` werden. Sie muss sich im Stammverzeichnis des Anwendungsquellcodes befinden. Das Stammverzeichnis dieses Tutorials ist `/tmp/WordPress`.

Erstellen Sie mit Ihrem Texteditor eine Datei mit dem Namen `appspec.yml`. Fügen Sie der Datei die folgenden Zeilen hinzu:

```
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 verwendet diese AppSpec Datei, um alle Dateien im Ordner auf dem Entwicklungscomputer in den `/tmp/WordPress` Ordner auf der `/var/www/html/WordPress` Amazon EC2 EC2-Zielinstanz zu kopieren. CodeDeploy Führt während der Bereitstellung die angegebenen Skripts wie `root` im `/var/www/html/WordPress/scripts` Ordner auf der Amazon EC2 EC2-Zielinstanz zu bestimmten Ereignissen während des Bereitstellungszyklus aus, z. B. **BeforeInstall** und**AfterInstall**. Wenn die Ausführung eines dieser Skripts länger als 300 Sekunden (5 Minuten) dauert, wird die Bereitstellung CodeDeploy gestoppt und die Bereitstellung als fehlgeschlagen markiert.

Weitere Informationen zu diesen Einstellungen finden Sie in der [CodeDeploy AppSpec Dateiverweis](reference-appspec-file.md).

**Wichtig**  
Die Platzierung und Anzahl von Leerzeichen zwischen den einzelnen Elementen in dieser Datei ist wichtig. Wenn der Abstand falsch ist, wird CodeDeploy ein Fehler ausgelöst, der möglicherweise schwer zu debuggen ist. Weitere Informationen finden Sie unter [AppSpec Abstand zwischen den Dateien](reference-appspec-file.md#reference-appspec-file-spacing).