

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

# Tutorial: Menghosting WordPress blog di AL2
<a name="hosting-wordpress"></a>

Prosedur berikut akan membantu Anda menginstal, mengkonfigurasi, dan mengamankan WordPress blog pada instance AL2 Anda. Tutorial ini adalah pengantar yang baik untuk menggunakan Amazon EC2 karena Anda memiliki kontrol penuh atas server web yang meng-host WordPress blog Anda, yang tidak khas dengan layanan hosting tradisional.

Anda bertanggung jawab untuk memperbarui paket perangkat lunak dan memelihara patch keamanan untuk server Anda. Untuk WordPress instalasi yang lebih otomatis yang tidak memerlukan interaksi langsung dengan konfigurasi server web, CloudFormation layanan ini menyediakan WordPress template yang juga dapat membantu Anda memulai dengan cepat. Untuk informasi selengkapnya, lihat [Memulai](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/GettingStarted.Walkthrough.html) di *Panduan Pengguna AWS CloudFormation *. Jika Anda memerlukan solusi ketersediaan tinggi dengan database terpisah, lihat [ Menyebarkan WordPress situs web dengan ketersediaan tinggi ](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/php-hawordpress-tutorial.html) di Panduan Pengembang. *AWS Elastic Beanstalk *

**penting**  
Prosedur ini dimaksudkan untuk digunakan dengan AL2. Untuk informasi tentang distribusi lain selengkapnya, lihat dokumentasi spesifik tentangnya. Banyak langkah dalam tutorial ini yang tidak berfungsi pada instans Ubuntu. Untuk bantuan menginstal WordPress pada instance Ubuntu, lihat [ WordPress ](https://help.ubuntu.com/community/WordPress) di dokumentasi Ubuntu. Anda juga dapat menggunakan [ CodeDeploy ](https://docs.aws.amazon.com/codedeploy/latest/userguide/tutorials-wordpress-launch-instance.html) untuk menyelesaikan tugas ini di sistem Amazon Linux, macOS, atau Unix.

**Topics**
+ [Prasyarat](#hosting-wordpress-prereqs)
+ [Instal WordPress](#install-wordpress)
+ [Langkah selanjutnya](#wordpress-next-steps)
+ [Tolong\! Nama DNS publik saya berubah dan sekarang blog saya rusak](#wordpress-troubleshooting)

## Prasyarat
<a name="hosting-wordpress-prereqs"></a>

Tutorial ini mengasumsikan bahwa Anda telah meluncurkan instance AL2 dengan server web fungsional dengan dukungan PHP dan database (baik MySQL atau MariaDB) dengan mengikuti semua langkah di. [Tutorial: Instal server LAMP di AL2](ec2-lamp-amazon-linux-2.md) Tutorial ini juga memiliki langkah-langkah untuk mengonfigurasi grup keamanan agar mengizinkan lalu lintas `HTTP` dan `HTTPS`, serta beberapa langkah untuk memastikan bahwa izin file diatur dengan benar untuk server web Anda. Untuk informasi tentang menambahkan aturan ke grup keamanan Anda, lihat [ Menambahkan aturan ke grup keamanan](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#adding-security-group-rule).

Kami sangat menyarankan Anda mengaitkan alamat IP Elastic (EIP) ke instance yang Anda gunakan untuk meng-host WordPress blog. Ini mencegah alamat DNS publik untuk instans Anda agar tidak mengubah dan merusak instalasi. Jika Anda memiliki nama domain dan ingin menggunakannya untuk blog, Anda dapat memperbarui catatan DNS untuk nama domain tersebut agar mengarah ke alamat EIP Anda (untuk bantuan tentang hal ini, hubungi registrar domain Anda). Anda dapat memiliki satu alamat EIP yang dikaitkan dengan instans berjalan tanpa biaya. Untuk informasi selengkapnya, lihat [Alamat IP Elastis](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) di *Panduan Pengguna Amazon EC2*.

Jika Anda belum memiliki nama domain untuk blog Anda, Anda dapat mendaftarkan nama domain dengan Route 53 dan mengaitkan alamat EIP instans dengan nama domain Anda. Untuk informasi selengkapnya, lihat [Mendaftarkan nama domain dengan Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar.html) di *Panduan Developer Amazon Route 53*.

## Instal WordPress
<a name="install-wordpress"></a>

**Opsi: Selesaikan tutorial ini menggunakan otomatisasi**  
Untuk menyelesaikan tutorial ini menggunakan AWS Systems Manager Otomasi alih-alih tugas berikut, jalankan dokumen [ otomatisasi](https://console.aws.amazon.com/systems-manager/documents/AWSDocs-HostingAWordPressBlog/).

Hubungkan ke instance Anda, dan unduh paket WordPress instalasi.

**Untuk mengunduh dan unzip paket WordPress instalasi**

1. Unduh paket WordPress instalasi terbaru dengan **wget** perintah. Perintah berikut harus selalu mengunduh rilis terbaru.

   ```
   [ec2-user ~]$ wget https://wordpress.org/latest.tar.gz
   ```

1. Ekstrak dan buka arsip paket instalasi. Folder instalasi diekstrak ke folder bernama `wordpress`.

   ```
   [ec2-user ~]$ tar -xzf latest.tar.gz
   ```<a name="create_user_and_database"></a>

**Untuk membuat pengguna database dan database untuk WordPress instalasi Anda**

 WordPress Instalasi Anda perlu menyimpan informasi, seperti posting blog dan komentar pengguna, dalam database. Prosedur ini membantu Anda membuat basis data blog dan pengguna yang berwenang untuk membaca dan menyimpan informasi ke dalamnya. 

1. Mulai server basis data.
   + 

     ```
     [ec2-user ~]$ sudo systemctl start mariadb
     ```

1. Masuk ke server basis data sebagai pengguna `root`. Masukkan kata sandi `root` basis data Anda saat diminta; ini mungkin berbeda dengan kata sandi sistem `root`, atau bahkan mungkin kosong jika Anda belum mengamankan server basis data Anda.

   Jika Anda belum mengamankan server basis data Anda, penting bagi Anda untuk melakukannya. Untuk informasi lebih lanjut, lihat [Untuk mengamankan server MariaDB](ec2-lamp-amazon-linux-2.md#securing-maria-db) (AL2).

   ```
   [ec2-user ~]$ mysql -u root -p
   ```

1. <a name="create_database_user"></a>Buat pengguna dan kata sandi untuk basis data MySQL. WordPressInstalasi Anda menggunakan nilai-nilai ini untuk berkomunikasi dengan database MySQL Anda. 

   Pastikan Anda membuat kata sandi yang kuat untuk pengguna. Jangan menggunakan tanda petik tunggal ( ' ) dalam kata sandi Anda, karena hal ini akan memutus perintah sebelumnya. Jangan menggunakan ulang kata sandi yang sudah ada, dan pastikan untuk menyimpan kata sandi ini di tempat yang aman.

   Masukkan perintah berikut, yang menggantikan nama pengguna dan kata sandi unik.

   ```
   CREATE USER '{{wordpress-user}}'@'localhost' IDENTIFIED BY '{{your_strong_password}}';
   ```

1. <a name="create_database"></a>Buat basis data Anda. Berikan nama yang deskriptif dan bermakna untuk basis data Anda, misalnya `wordpress-db`.
**catatan**  
Tanda baca yang mengelilingi nama basis data pada perintah di bawah ini disebut backtick. Kunci backtick (```) biasanya terletak di atas kunci `Tab` pada keyboard standar. Backtick tidak selalu diperlukan, tetapi memungkinkan Anda untuk menggunakan karakter ilegal, seperti tanda hubung, pada nama basis data.

   ```
   CREATE DATABASE `{{wordpress-db}}`;
   ```

1. Berikan hak istimewa penuh untuk database Anda kepada WordPress pengguna yang Anda buat sebelumnya.

   ```
   GRANT ALL PRIVILEGES ON `{{wordpress-db}}`.* TO "{{wordpress-user}}"@"localhost";
   ```

1. Hapus hak istimewa basis data untuk mengambil semua perubahan Anda.

   ```
   FLUSH PRIVILEGES;
   ```

1. Keluar dari klien `mysql`.

   ```
   exit
   ```

**Untuk membuat dan mengedit file wp-config.php**

Folder WordPress instalasi berisi file konfigurasi sampel yang disebut`wp-config-sample.php`. Dalam prosedur ini, Anda menyalin file ini dan mengeditnya agar sesuai dengan konfigurasi spesifik Anda.

1. Salin file `wp-config-sample.php` ke file yang bernama `wp-config.php`. Tindakan ini membuat file konfigurasi baru dan menyimpan file sampel asli secara utuh sebagai cadangan.

   ```
   [ec2-user ~]$ cp wordpress/wp-config-sample.php wordpress/wp-config.php
   ```

1. Edit file `wp-config.php` dengan editor teks favorit Anda (seperti **nano** atau **vim**) dan masukkan nilai untuk instalasi Anda. Jika Anda tidak memiliki editor teks favorit, `nano` cocok untuk pemula.

   ```
   [ec2-user ~]$ nano wordpress/wp-config.php
   ```

   1. Cari baris yang menentukan `DB_NAME` dan ubah `database_name_here` ke nama basis data yang Anda buat di [Step 4](#create_database) dari [Untuk membuat pengguna database dan database untuk WordPress instalasi Anda](#create_user_and_database).

      ```
      define('DB_NAME', '{{wordpress-db}}');
      ```

   1. Cari baris yang menentukan `DB_USER` dan ubah `username_here` ke pengguna basis data yang Anda buat di [Step 3](#create_database_user) dari [Untuk membuat pengguna database dan database untuk WordPress instalasi Anda](#create_user_and_database).

      ```
      define('DB_USER', '{{wordpress-user}}');
      ```

   1. Cari baris yang menentukan `DB_PASSWORD` dan ubah `password_here` ke kata sandi kuat yang Anda buat di [Step 3](#create_database_user) dari [Untuk membuat pengguna database dan database untuk WordPress instalasi Anda](#create_user_and_database).

      ```
      define('DB_PASSWORD', '{{your_strong_password}}');
      ```

   1. Temukan bagian yang disebut `Authentication Unique Keys and Salts`. Ini `KEY` dan `SALT` nilai-nilai menyediakan lapisan enkripsi ke cookie browser yang WordPress disimpan pengguna di mesin lokal mereka. Pada dasarnya, menambahkan nilai yang panjang dan acak di sini membuat situs Anda lebih aman. Kunjungi [ https://api.wordpress.org/secret-key/1.1/salt/ ](https://api.wordpress.org/secret-key/1.1/salt/) untuk secara acak menghasilkan satu set nilai kunci yang dapat Anda salin dan tempel ke `wp-config.php` file Anda. Untuk menempelkan teks ke terminal PuTTY, letakkan kursor di tempat Anda ingin menempelkan teks dan klik kanan mouse di dalam terminal PuTTY .

      Untuk informasi selengkapnya tentang kunci keamanan, buka [ https://wordpress.org/support/article/editing-wp-config-php/ \#security -keys](https://wordpress.org/support/article/editing-wp-config-php/#security-keys).
**catatan**  
Nilai-nilai di bawah ini hanya sebagai contoh; jangan gunakan nilai ini untuk instalasi Anda.

      ```
      define('AUTH_KEY',         '{{ #U$$+[RXN8:b^-L 0(WU_+ c+WFkI~c]o]-bHw+)/Aj[wTwSiZ<Qb[mghEXcRh-}}');
      define('SECURE_AUTH_KEY',  '{{Zsz._P=l/|y.Lq)XjlkwS1y5NJ76E6EJ.AV0pCKZZB,*~*r ?6OP$eJT@;+(ndLg}}');
      define('LOGGED_IN_KEY',    '{{ju}qwre3V*+8f_zOWf?{LlGsQ]Ye@2Jh^,8x>)Y |;(^[Iw]Pi+LG#A4R?7N`YB3}}');
      define('NONCE_KEY',        '{{P(g62HeZxEes|LnI^i=H,[XwK9I&[2s|:?0N}VJM%?;v2v]v+;+^9eXUahg@::Cj}}');
      define('AUTH_SALT',        '{{C$DpB4Hj[JK:?{ql`sRVa:{:7yShy(9A@5wg+`JJVb1fk%_-Bx*M4(qc[Qg%JT!h}}');
      define('SECURE_AUTH_SALT', '{{d!uRu#}+q#{f$Z?Z9uFPG.${+S{n~1M&%@~gL>U>NV<zpD-@2-Es7Q1O-bp28EKv}}');
      define('LOGGED_IN_SALT',   '{{;j{00P*owZf)kVD+FVLn-~ >.|Y%Ug4#I^*LVd9QeZ^&XmK|e(76miC+&W&+^0P/}}');
      define('NONCE_SALT',       '{{-97r*V/cgxLmp?Zy4zUU4r99QQ_rGs2LTd%P;|_e1tS)8_B/,.6[=UK<J_y9?JWG}}');
      ```

   1. Simpan file dan keluar dari editor teks Anda.

**Untuk menginstal WordPress file Anda di bawah root dokumen Apache**
+ Sekarang setelah Anda membuka ritsleting folder instalasi, membuat database MySQL dan pengguna, dan menyesuaikan file WordPress konfigurasi, Anda siap untuk menyalin file instalasi Anda ke root dokumen server web Anda sehingga Anda dapat menjalankan skrip instalasi yang menyelesaikan instalasi Anda. Lokasi file-file ini tergantung pada apakah Anda ingin WordPress blog Anda tersedia di root sebenarnya dari server web Anda (misalnya,`{{my.public.dns.amazonaws.com}}`) atau di subdirektori atau folder di bawah root (misalnya,`{{my.public.dns.amazonaws.com/blog}}`).
  + Jika Anda WordPress ingin menjalankan di root dokumen Anda, salin konten direktori instalasi wordpress (tetapi bukan direktori itu sendiri) sebagai berikut: 

    ```
    [ec2-user ~]$ cp -r wordpress/* /var/www/html/
    ```
  + Jika Anda WordPress ingin menjalankan di direktori alternatif di bawah root dokumen, pertama buat direktori itu, lalu salin file ke sana. Dalam contoh ini, WordPress akan berjalan dari direktori `blog`:

    ```
    [ec2-user ~]$ mkdir /var/www/html/blog
    [ec2-user ~]$ cp -r wordpress/* /var/www/html/blog/
    ```

**penting**  
Untuk tujuan keamanan, jika Anda tidak segera beralih ke prosedur berikutnya, hentikan server web Apache (`httpd`) sekarang. Setelah Anda memindahkan instalasi Anda di bawah root dokumen Apache, skrip WordPress instalasi tidak terlindungi dan penyerang dapat memperoleh akses ke blog Anda jika server web Apache sedang berjalan. Untuk menghentikan server web Apache, masukkan perintah **sudo systemctl stop httpd**. Jika Anda melanjutkan ke prosedur berikutnya, Anda tidak perlu menghentikan server web Apache.

**Untuk memungkinkan WordPress untuk menggunakan permalinks**

WordPress permalinks perlu menggunakan `.htaccess` file Apache agar berfungsi dengan baik, tetapi ini tidak diaktifkan secara default di Amazon Linux. Gunakan prosedur ini untuk mengizinkan semua penggantian dalam root dokumen Apache.

1. Buka file `httpd.conf` menggunakan editor teks favorit Anda (seperti **nano** atau **vim**). Jika Anda tidak memiliki editor teks favorit, `nano` cocok untuk pemula.

   ```
   [ec2-user ~]$ sudo vim /etc/httpd/conf/httpd.conf
   ```

1. Temukan bagian yang dimulai dengan `<Directory "/var/www/html">`.

   ```
   <Directory "/var/www/html">
       #
       # Possible values for the Options directive are "None", "All",
       # or any combination of:
       #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
       #
       # Note that "MultiViews" must be named *explicitly* --- "Options All"
       # doesn't give it to you.
       #
       # The Options directive is both complicated and important.  Please see
       # http://httpd.apache.org/docs/2.4/mod/core.html#options
       # for more information.
       #
       Options Indexes FollowSymLinks
   
       #
       # AllowOverride controls what directives may be placed in .htaccess files.
       # It can be "All", "None", or any combination of the keywords:
       #   Options FileInfo AuthConfig Limit
       #
       AllowOverride {{None}}
   
       #
       # Controls who can get stuff from this server.
       #
       Require all granted
   </Directory>
   ```

1. Ubah baris `AllowOverride None` di bagian di atas untuk membaca `AllowOverride {{All}}`.
**catatan**  
Ada banyak baris `AllowOverride` dalam file ini; pastikan Anda mengubah baris di bagian `<Directory "/var/www/html">`.

   ```
   AllowOverride {{All}}
   ```

1. Simpan file dan tutup editor teks Anda.

**Untuk menginstal pustaka gambar grafis PHP di AL2**  
Pustaka gambar grafik untuk PHP memungkinkan Anda memodifikasi gambar. Instal pustaka ini jika Anda ingin memotong gambar header untuk blog Anda. Versi php MyAdmin yang Anda instal mungkin memerlukan versi minimum tertentu dari pustaka ini (misalnya, versi 7.2).

Gunakan perintah berikut untuk menginstal pustaka gambar grafis PHP di AL2. Misalnya, jika Anda menginstal php7.2 dari amazon-linux-extras sebagai bagian dari instalasi tumpukan LAMP, perintah ini akan menginstal pustaka gambar grafis PHP versi 7.2.

```
[ec2-user ~]$ sudo yum install php-gd
```

Untuk memverifikasi versi terinstal, gunakan perintah berikut:

```
[ec2-user ~]$ sudo yum list installed php-gd
```

Berikut ini adalah output contoh:

```
php-gd.x86_64                     7.2.30-1.amzn2             @amzn2extra-php7.2
```

**Untuk memperbaiki izin file untuk server web Apache**

Beberapa fitur yang tersedia di WordPress memerlukan akses tulis ke root dokumen Apache (seperti mengunggah media melalui layar Administrasi). Jika Anda belum melakukannya, terapkan keanggotaan dan izin grup berikut (seperti yang dijelaskan secara lebih rinci di[Tutorial: Instal server LAMP di AL2](ec2-lamp-amazon-linux-2.md)).

1. Berikan kepemilikan file `/var/www` dan kontennya kepada pengguna `apache`.

   ```
   [ec2-user ~]$ sudo chown -R apache /var/www
   ```

1. Berikan kepemilikan grup `/var/www` dan kontennya kepada grup `apache`.

   ```
   [ec2-user ~]$ sudo chgrp -R apache /var/www
   ```

1. Ubah izin direktori `/var/www` dan subdirektorinya untuk menambahkan izin tulis grup dan untuk mengatur ID grup pada subdirektori mendatang.

   ```
   [ec2-user ~]$ sudo chmod 2775 /var/www
   [ec2-user ~]$ find /var/www -type d -exec sudo chmod 2775 {} \;
   ```

1. Secara rekursif mengubah izin file `/var/www` dan subdirektorinya.

   ```
   [ec2-user ~]$ find /var/www -type f -exec sudo chmod 0644 {} \;
   ```
**catatan**  
 Jika Anda juga ingin menggunakan WordPress sebagai server FTP, Anda akan memerlukan pengaturan Grup yang lebih permisif di sini. Harap tinjau [ langkah-langkah yang disarankan dan pengaturan keamanan WordPress ](https://wordpress.org/support/article/changing-file-permissions/) untuk mencapai ini. 

1. Mulai ulang server web Apache untuk mengambil grup dan izin baru.
   + 

     ```
     [ec2-user ~]$ sudo systemctl restart httpd
     ```

**Jalankan skrip WordPress instalasi dengan AL2**

Anda siap untuk menginstal WordPress. Perintah yang Anda gunakan bergantung pada sistem operasi. Perintah dalam prosedur ini untuk digunakan dengan AL2.

1. Gunakan perintah **systemctl** untuk memastikan bahwa `httpd` dan layanan basis data dimulai di setiap booting sistem.

   ```
   [ec2-user ~]$ sudo systemctl enable httpd && sudo systemctl enable mariadb
   ```

1. Verifikasi apakah server basis data sedang dijalankan.

   ```
   [ec2-user ~]$ sudo systemctl status mariadb
   ```

   Jika layanan basis data tidak berjalan, mulailah.

   ```
   [ec2-user ~]$ sudo systemctl start mariadb
   ```

1. Verifikasi apakah server web Apache (`httpd`) sedang dijalankan.

   ```
   [ec2-user ~]$ sudo systemctl status httpd
   ```

   Jika layanan `httpd` tidak dijalankan, mulailah.

   ```
   [ec2-user ~]$ sudo systemctl start httpd
   ```

1. Di browser web, ketik URL WordPress blog Anda (baik alamat DNS publik untuk instance Anda, atau alamat yang diikuti oleh `blog` folder). Anda harus melihat skrip WordPress instalasi. Berikan informasi yang diperlukan oleh WordPress instalasi. Pilih **Instal WordPress** untuk menyelesaikan instalasi. Untuk informasi selengkapnya, lihat [ Langkah 5: Jalankan Instal Script ](https://wordpress.org/support/article/how-to-install-wordpress/#step-5-run-the-install-script) di WordPress situs web.

## Langkah selanjutnya
<a name="wordpress-next-steps"></a>

Setelah Anda menguji WordPress blog Anda, pertimbangkan untuk memperbarui konfigurasinya.

**Gunakan nama domain kustom**  
Jika Anda memiliki nama domain yang dikaitkan dengan alamat EIP instans EC2, Anda dapat mengonfigurasi blog untuk menggunakan nama tersebut alih-alih alamat DNS publik EC2. Untuk informasi selengkapnya, lihat Meng [ ubah URL Situs ](https://wordpress.org/support/article/changing-the-site-url/) di WordPress situs web.

**Konfigurasi blog Anda**  
Anda dapat mengonfigurasi blog Anda untuk menggunakan [tema](https://wordpress.org/themes/) dan [plugin](https://wordpress.org/plugins/) yang berbeda untuk menawarkan pengalaman yang lebih personal bagi pembaca Anda. Namun, terkadang proses instalasi dapat menjadi bumerang, menyebabkan Anda kehilangan seluruh blog. Kami sangat menyarankan agar Anda membuat cadangan Amazon Machine Image (AMI) instans sebelum mencoba menginstal tema atau plugin apa pun sehingga Anda dapat memulihkan blog jika terjadi kesalahan selama proses instalasi. Untuk informasi selengkapnya, lihat [ Membuat AMI Anda sendiri](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html#creating-an-ami).

**Tingkatkan kapasitas**  
Jika WordPress blog Anda menjadi populer dan Anda membutuhkan lebih banyak daya komputasi atau penyimpanan, pertimbangkan langkah-langkah berikut:
+ Perbesar ruang penyimpanan di instans Anda. Untuk informasi selengkapnya, lihat [ Amazon EBS Elastic Volumes ](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-modify-volume.html) di Panduan * Pengguna Amazon EBS. *
+ Pindahkan basis data MySQL ke [Amazon RDS](https://aws.amazon.com/rds) untuk memanfaatkan kemampuan layanan guna menskalakan dengan mudah.

**Meningkatkan performa jaringan lalu lintas internet Anda**  
Jika Anda mengharapkan blog Anda untuk mendorong lalu lintas dari pengguna yang berada di seluruh dunia, pertimbangkan [Global Accelerator AWS](https://aws.amazon.com/global-accelerator). Global Accelerator membantu Anda mencapai latensi yang lebih rendah dengan meningkatkan kinerja lalu lintas internet antara perangkat klien pengguna Anda dan WordPress aplikasi Anda yang berjalan AWS. Global Accelerator menggunakan jaringan [AWS global ](https://aws.amazon.com/about-aws/global-infrastructure/global_network/) untuk mengarahkan lalu lintas ke titik akhir aplikasi yang sehat di Wil AWS ayah yang paling dekat dengan klien.

**Pelajari lebih lanjut tentang WordPress**  
Untuk informasi tentang WordPress, lihat dokumentasi bantuan WordPress Codex di [ http://codex.wordpress.org/](http://codex.wordpress.org/).

Untuk informasi selengkapnya tentang pemecahan masalah penginstalan Anda, lihat [ Masalah penginstalan umum](https://wordpress.org/support/article/how-to-install-wordpress/#common-installation-problems).

Untuk informasi tentang membuat WordPress blog Anda lebih aman, lihat Penger [ asan WordPress](https://wordpress.org/support/article/hardening-wordpress/).

Untuk informasi tentang menjaga WordPress blog Anda tetap terkini, lihat Memper [ barui WordPress](https://wordpress.org/support/article/updating-wordpress/).

## Tolong\! Nama DNS publik saya berubah dan sekarang blog saya rusak
<a name="wordpress-troubleshooting"></a>

 WordPress Instalasi Anda dikonfigurasi secara otomatis menggunakan alamat DNS publik untuk instans EC2 Anda. Jika Anda menghentikan dan memulai ulang instans, alamat DNS publik akan berubah (kecuali jika dikaitkan dengan alamat IP Elastis) dan blog Anda tidak akan berfungsi lagi karena merujuk sumber daya di alamat yang sudah tidak ada lagi (atau ditetapkan ke instans EC2 lain). Penjelasan lebih rinci tentang masalah dan beberapa solusi yang mungkin diuraikan dalam [ Mengubah URL Situs](https://wordpress.org/support/article/changing-the-site-url/).

Jika ini terjadi pada WordPress instalasi Anda, Anda mungkin dapat memulihkan blog Anda dengan prosedur di bawah ini, yang menggunakan antarmuka baris **wp-cli** perintah untuk WordPress.

**Untuk mengubah URL WordPress situs Anda dengan **wp-cli****

1. Hubungkan ke instans EC2 Anda dengan SSH. 

1. Catat URL situs lama dan URL situs baru untuk instans Anda. URL situs lama kemungkinan merupakan nama DNS publik untuk instans EC2 Anda saat Anda menginstal WordPress. URL situs baru adalah nama DNS publik saat ini untuk instans EC2 Anda. Jika Anda tidak yakin dengan URL situs lama Anda, Anda dapat menggunakan **curl** untuk menemukannya dengan perintah berikut ini.

   ```
   [ec2-user ~]$ curl localhost | grep wp-content
   ```

   Anda akan melihat referensi ke nama DNS publik lama Anda di output, yang akan terlihat seperti ini (URL situs lama berwarna merah):

   ```
   <script type='text/javascript' src='{{http://ec2-52-8-139-223.us-west-1.compute.amazonaws.com}}/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script>
   ```

1. Unduh **wp-cli** dengan perintah berikut ini.

   ```
   [ec2-user ~]$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
   ```

1. Cari dan ganti URL situs lama dalam WordPress instalasi Anda dengan perintah berikut. Ganti URL situs lama dan baru untuk instans EC2 Anda dan jalur ke WordPress instalasi Anda (biasanya `/var/www/html` atau`/var/www/html/blog`).

   ```
   [ec2-user ~]$ php wp-cli.phar search-replace {{'old_site_url'}} {{'new_site_url'}} --path={{/path/to/wordpress/installation}} --skip-columns=guid
   ```

1. Di browser web, masukkan URL situs baru WordPress blog Anda untuk memverifikasi bahwa situs tersebut berfungsi dengan baik lagi. Jika tidak, lihat Meng [ ubah URL Situs ](https://wordpress.org/support/article/changing-the-site-url/) dan Masalah instalasi [ umum ](https://wordpress.org/support/article/how-to-install-wordpress/#common-installation-problems) untuk informasi selengkapnya.