

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

# Mengesampingkan Template Bawaan
<a name="cookbooks-101-opsworks-templates"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

**catatan**  
Topik ini hanya berlaku untuk tumpukan Linux. Anda tidak dapat mengganti templat bawaan di tumpukan Windows.

Resep bawaan OpsWorks Stacks menggunakan templat untuk membuat file pada instance, terutama file konfigurasi untuk server, seperti Apache. Misalnya, `apache2` resep menggunakan [https://github.com/aws/opsworks-cookbooks/blob/release-chef-11.10/apache2/templates/default/apache2.conf.erb](https://github.com/aws/opsworks-cookbooks/blob/release-chef-11.10/apache2/templates/default/apache2.conf.erb)template untuk membuat file konfigurasi utama server Apache, `httpd.conf` (Amazon Linux) atau `apache2.conf` (Ubuntu). 

Sebagian besar pengaturan konfigurasi dalam template ini diwakili oleh atribut, jadi cara yang lebih disukai untuk menyesuaikan file konfigurasi adalah dengan mengganti atribut bawaan yang sesuai. Sebagai contoh, lihat [Mengesampingkan Atribut Bawaan](cookbooks-101-opsworks-attributes.md). Namun, jika pengaturan yang ingin Anda sesuaikan tidak diwakili oleh atribut bawaan, atau tidak ada dalam template sama sekali, Anda harus mengganti template itu sendiri. Topik ini menjelaskan cara mengganti template bawaan untuk menentukan pengaturan konfigurasi Apache kustom.

Anda dapat memberikan respons kesalahan kustom ke Apache dengan menambahkan `ErrorDocument` pengaturan ke `httpd.conf` file. `apache2.conf.erb`hanya berisi beberapa contoh yang dikomentari, seperti yang ditunjukkan dalam berikut ini:

```
...
#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
...
```

Karena pengaturan ini adalah komentar hardcode, Anda tidak dapat menentukan nilai kustom dengan mengganti atribut; Anda harus mengganti template itu sendiri. Namun, tidak seperti atribut, tidak ada cara untuk mengganti bagian tertentu dari file template. Anda harus membuat buku masak khusus dengan nama yang sama dengan versi bawaan, menyalin file template ke subdirektori yang sama, dan memodifikasi file sesuai kebutuhan. Topik ini menunjukkan cara mengganti `apache2.conf.erb` untuk memberikan respons khusus terhadap kesalahan 500. Untuk diskusi umum tentang template utama, lihat[Menggunakan Template Kustom](workingcookbook-template-override.md).

**penting**  
Saat Anda mengganti template Buiit-in, resep bawaan menggunakan versi template yang disesuaikan alih-alih versi bawaan. Jika OpsWorks Stacks memperbarui template bawaan, template kustom menjadi tidak sinkron dan mungkin tidak berfungsi dengan benar. OpsWorks Tumpukan tidak sering membuat perubahan seperti itu, dan ketika template berubah, OpsWorks Stacks mencantumkan perubahan dan memberi Anda opsi untuk meningkatkan ke versi baru. Kami menyarankan Anda memantau [repositori OpsWorks Stacks](https://github.com/aws/opsworks-cookbooks) untuk perubahan, dan memperbarui template kustom Anda secara manual sesuai kebutuhan. Perhatikan bahwa repositori memiliki cabang terpisah untuk setiap versi Chef yang didukung, jadi pastikan Anda berada di cabang yang benar.

Untuk memulai, buat buku masak khusus.

**Untuk membuat buku masak**

1. Di `opsworks_cookbooks` direktori, buat direktori buku masak bernama`apache2`, lalu arahkan ke sana. Untuk mengganti templat bawaan, buku masak khusus harus memiliki nama yang sama dengan buku masak bawaan, `apache2` untuk contoh ini.
**catatan**  
Jika Anda telah menyelesaikan [Mengesampingkan Atribut Bawaan](cookbooks-101-opsworks-attributes.md) penelusuran, Anda dapat menggunakan `apache2` buku masak yang sama untuk contoh ini, dan lewati Langkah 2.

1. Buat `metadata.rb` file dengan konten berikut, lalu simpan ke `apache2` direktori.

   ```
   name "apache2"
   version "0.1.0"
   ```

1. Di `apache2` direktori, buat `templates/default` direktori..
**catatan**  
`templates/default`Direktori berfungsi untuk instance Amazon Linux, yang menggunakan `apache2.conf.erb` templat default. Instans Ubuntu 14.04 menggunakan `apache2.conf.erb` template khusus sistem operasi, yang ada di direktori. `templates/ubuntu-14.04` Jika Anda ingin kustomisasi diterapkan ke instance Ubuntu 14.04 juga, Anda harus mengganti template itu juga.

1. Salin [`apache2.conf.erb`template bawaan](https://github.com/aws/opsworks-cookbooks/blob/release-chef-11.10/apache2/templates/default/apache2.conf.erb) ke `templates/default` direktori Anda. Buka file template, hapus komentar pada `ErrorDocument 500` baris, dan berikan pesan kesalahan khusus, sebagai berikut: 

   ```
   ...
   ErrorDocument 500 "A custom error message."
   #ErrorDocument 404 /missing.html
   ...
   ```

1. Buat `.zip` arsip `opsworks_cookbooks` bernama`opsworks_cookbooks.zip`, lalu unggah file ke bucket Amazon Simple Storage Service (Amazon S3). Untuk kesederhanaan, [buat arsip publik](https://docs.aws.amazon.com/AmazonS3/latest/UG/EditingPermissionsonanObject.html). Rekam URL arsip untuk digunakan nanti. Anda juga dapat menyimpan buku masak Anda di arsip Amazon S3 pribadi atau dalam jenis repositori lainnya. Untuk informasi selengkapnya, lihat [Repositori Buku Masak](workingcookbook-installingcustom-repo.md).

   Konten yang dikirimkan ke bucket Amazon S3 mungkin berisi konten pelanggan. Untuk informasi selengkapnya tentang menghapus data sensitif, lihat [Bagaimana Cara Mengosongkan Bucket S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/empty-bucket.html) atau [Bagaimana Saya Menghapus Bucket S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) .

**catatan**  
Untuk mempermudah, contoh ini menambahkan pesan kesalahan hardcode ke template. Untuk mengubahnya, Anda harus memodifikasi template dan [menginstal ulang buku masak](workingcookbook-installingcustom-enable-update.md). Untuk memberi diri Anda fleksibilitas [yang lebih besar, Anda dapat menentukan atribut kustom default](cookbooks-101-opsworks-attributes.md) untuk string kesalahan dalam file `customize.rb` atribut buku masak kustom dan menetapkan nilai atribut tersebut. `ErrorDocument 500` Misalnya, jika Anda memberi nama atribut`[:apache][:custom][:error500]`, baris yang sesuai `apache2.conf.erb` akan terlihat seperti berikut:  

```
...
ErrorDocument 500 <%= node[:apache][:custom][:error500] %>
#ErrorDocument 404 /missing.html
...
```
Anda kemudian dapat mengubah pesan kesalahan kustom kapan saja dengan mengganti`[:apache][:custom][:error500]`. Jika Anda [menggunakan JSON khusus untuk mengganti atribut](workingcookbook-json-override.md), Anda bahkan tidak perlu menyentuh buku masak.

Untuk menggunakan template kustom, buat tumpukan dan instal buku masak.

**Untuk menggunakan template kustom**

1. Buka [konsol OpsWorks Stacks](https://console.aws.amazon.com/opsworks/), lalu pilih **Add Stack**.

1. Tentukan pengaturan standar berikut:
   + **Nama** - ApacheTemplate
   + **Wilayah** - AS Barat (Oregon)
   + **Kunci SSH default - Sebuah key** pair Amazon Elastic Compute Cloud EC2 (Amazon)

     Jika Anda perlu membuat EC2 key pair Amazon, lihat [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html). Perhatikan bahwa key pair harus memiliki wilayah AWS yang sama dengan instans.

   Pilih **Lanjutan>>**, pilih **Gunakan buku masak Chef kustom**, untuk menentukan pengaturan berikut:
   + **Jenis repositori** **- Arsip Http**
   + URL **Repositori — URL** arsip buku masak yang Anda rekam sebelumnya

   Terima nilai default untuk pengaturan lain, lalu pilih **Tambah Tumpukan** untuk membuat tumpukan.

1. Pilih **Tambahkan lapisan**, lalu [tambahkan lapisan Java App Server](layers-java.md) ke tumpukan dengan pengaturan default.

1. [Tambahkan instance 24/7](workinginstances-add.md) dengan pengaturan default ke layer, dan kemudian mulai instance.

   Sebuah instance t2.micro sudah cukup untuk contoh ini.

1. Setelah instance online, [sambungkan ke sana dengan SSH](workinginstances-ssh.md). `httpd.conf`File ada di `/etc/httpd/conf` direktori. File harus berisi `ErrorDocument` pengaturan kustom Anda, yang akan terlihat seperti berikut: 

   ```
   ...
   # Some examples:
   ErrorDocument 500 "A custom error message."
   #ErrorDocument 404 /missing.html
   #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
   #ErrorDocument 402 http://www.example.com/subscription_info.html
   ...
   ```