

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Langkah 2: Konfigurasikan konten sumber Anda untuk digunakan ke instans Amazon EC2 Amazon Linux atau Red Hat Enterprise Linux Amazon EC2
<a name="tutorials-wordpress-configure-content"></a>

Sekarang saatnya untuk mengonfigurasi konten sumber aplikasi Anda sehingga Anda memiliki sesuatu untuk diterapkan ke instance.

**Topics**
+ [Dapatkan kode sumbernya](#tutorials-wordpress-configure-content-download-code)
+ [Buat skrip untuk menjalankan aplikasi Anda](#tutorials-wordpress-configure-content-create-scripts)
+ [Tambahkan file spesifikasi aplikasi](#tutorials-wordpress-configure-content-add-appspec-file)

## Dapatkan kode sumbernya
<a name="tutorials-wordpress-configure-content-download-code"></a>

Untuk tutorial ini, Anda menerapkan platform penerbitan WordPress konten dari mesin pengembangan Anda ke instans Amazon EC2 target. Untuk mendapatkan kode WordPress sumber, Anda dapat menggunakan panggilan baris perintah bawaan. Atau, jika Anda telah menginstal Git di mesin pengembangan Anda, Anda dapat menggunakannya sebagai gantinya.

Untuk langkah-langkah ini, kami berasumsi Anda mengunduh salinan kode WordPress sumber ke `/tmp` direktori di mesin pengembangan Anda. (Anda dapat memilih direktori apa pun yang Anda suka, tetapi ingat untuk mengganti lokasi Anda `/tmp` di mana pun itu ditentukan dalam langkah-langkah ini.)

Pilih salah satu dari dua opsi berikut untuk menyalin file WordPress sumber ke mesin pengembangan Anda. Opsi pertama menggunakan panggilan baris perintah bawaan. Opsi kedua menggunakan Git.

**Topics**
+ [Untuk mendapatkan salinan kode WordPress sumber (panggilan baris perintah bawaan)](#tutorials-wordpress-configure-content-download-code-command-line)
+ [Untuk mendapatkan salinan kode WordPress sumber (Git)](#tutorials-wordpress-configure-content-download-code-git)

### Untuk mendapatkan salinan kode WordPress sumber (panggilan baris perintah bawaan)
<a name="tutorials-wordpress-configure-content-download-code-command-line"></a>

1. Panggil **wget** perintah untuk mengunduh salinan kode WordPress sumber, sebagai file.zip, ke direktori saat ini:

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

1. Panggil**unzip**,**mkdir**,**cp**, dan **rm** perintah untuk:
   + Buka paket `master` file.zip ke dalam `/tmp/WordPress_Temp` direktori (folder).
   + Salin isinya yang tidak di-zip ke folder `/tmp/WordPress` tujuan.
   + Hapus `/tmp/WordPress_Temp` folder dan `master` file sementara.

   Jalankan perintah satu per satu:

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

   Ini meninggalkan Anda dengan satu set file kode WordPress sumber yang bersih di `/tmp/WordPress` folder.

### Untuk mendapatkan salinan kode WordPress sumber (Git)
<a name="tutorials-wordpress-configure-content-download-code-git"></a>

1. Unduh dan instal [Git](http://git-scm.com) di mesin pengembangan Anda.

1. Di `/tmp/WordPress` folder, panggil **git init** perintah. 

1. Panggil **git clone** perintah untuk mengkloning WordPress repositori publik, buat salinannya sendiri di folder tujuan: `/tmp/WordPress`

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

   Ini meninggalkan Anda dengan satu set file kode WordPress sumber yang bersih di `/tmp/WordPress` folder.

## Buat skrip untuk menjalankan aplikasi Anda
<a name="tutorials-wordpress-configure-content-create-scripts"></a>

Selanjutnya, buat folder dan skrip di direktori. CodeDeploy menggunakan skrip ini untuk menyiapkan dan menerapkan revisi aplikasi Anda pada instans Amazon EC2 target. Anda dapat menggunakan editor teks apa pun untuk membuat skrip.

1. Buat direktori skrip dalam salinan kode WordPress sumber Anda:

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

1. Buat `install_dependencies.sh` file di`/tmp/WordPress/scripts`. Tambahkan baris berikut ke file. `install_dependencies.sh`Script ini menginstal Apache, MySQL, dan PHP. Ini juga menambahkan dukungan MySQL ke PHP.

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

1. Buat `start_server.sh` file di`/tmp/WordPress/scripts`. Tambahkan baris berikut ke file. `start_server.sh`Script ini dimulai Apache dan MySQL.

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

1. Buat `stop_server.sh` file di`/tmp/WordPress/scripts`. Tambahkan baris berikut ke file. `stop_server.sh`Script ini menghentikan Apache dan 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. Buat `create_test_db.sh` file di`/tmp/WordPress/scripts`. Tambahkan baris berikut ke file. `create_test_db.sh`Script ini menggunakan MySQL untuk membuat **test** database WordPress untuk digunakan.

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

1. Akhirnya, buat `change_permissions.sh` skrip di`/tmp/WordPress/scripts`. Ini digunakan untuk mengubah izin folder di Apache.
**penting**  
 Skrip ini memperbarui izin pada `/tmp/WordPress` folder sehingga siapa pun dapat menulis ke sana. Ini diperlukan agar WordPress dapat menulis ke database-nya selama[Langkah 5: Perbarui dan terapkan ulang aplikasi Anda WordPress](tutorials-wordpress-update-and-redeploy-application.md). Setelah WordPress aplikasi diatur, jalankan perintah berikut untuk memperbarui izin ke pengaturan yang lebih aman:  

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

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

1. Berikan semua skrip izin yang dapat dieksekusi. Pada baris perintah, ketik:

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

## Tambahkan file spesifikasi aplikasi
<a name="tutorials-wordpress-configure-content-add-appspec-file"></a>

Selanjutnya, tambahkan file spesifikasi aplikasi (AppSpec file), file berformat [YAMB](http://www.yaml.org) yang digunakan oleh ke: CodeDeploy 
+ Petakan file sumber dalam revisi aplikasi Anda ke tujuannya pada instans Amazon EC2 target.
+ Tentukan izin khusus untuk file yang digunakan.
+ Tentukan skrip yang akan dijalankan pada instans Amazon EC2 target selama penerapan.

 AppSpec File harus diberi nama`appspec.yml`. Itu harus ditempatkan di direktori root kode sumber aplikasi. Dalam tutorial ini, direktori root adalah `/tmp/WordPress`

Dengan editor teks Anda, buat file bernama`appspec.yml`. Tambahkan baris berikut ke 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 menggunakan AppSpec file ini untuk menyalin semua file dalam `/tmp/WordPress` folder pada mesin pengembangan ke `/var/www/html/WordPress` folder pada instans Amazon EC2 target. Selama penerapan, CodeDeploy jalankan skrip yang ditentukan seperti pada `/var/www/html/WordPress/scripts` folder `root` pada instans Amazon EC2 target pada peristiwa tertentu selama siklus hidup penerapan, seperti dan. **BeforeInstall** **AfterInstall** Jika salah satu skrip ini membutuhkan waktu lebih dari 300 detik (5 menit) untuk dijalankan, CodeDeploy hentikan penerapan dan tandai penerapan sebagai gagal.

Untuk informasi selengkapnya tentang pengaturan ini, lihat[CodeDeploy AppSpec referensi file](reference-appspec-file.md).

**penting**  
Lokasi dan jumlah spasi antara masing-masing item dalam file ini penting. Jika spasi salah, CodeDeploy memunculkan kesalahan yang mungkin sulit untuk di-debug. Lihat informasi yang lebih lengkap di [AppSpec Spasi file](reference-appspec-file.md#reference-appspec-file-spacing).