Tutorial: Tuan rumah WordPress blog di AL2 - Amazon Linux 2

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

Tutorial: Tuan rumah WordPress blog di AL2

Prosedur berikut akan membantu Anda menginstal, mengkonfigurasi, dan mengamankan WordPress blog di AL2 instans 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 di Panduan Pengguna AWS CloudFormation . Jika Anda memerlukan solusi ketersediaan tinggi dengan database terpisah, lihat Menerapkan situs web dengan ketersediaan tinggi WordPress 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 WordPressdi dokumentasi Ubuntu. Anda juga dapat menggunakan CodeDeployuntuk menyelesaikan tugas ini di Amazon Linux, macOS, atau sistem Unix.

Prasyarat

Tutorial ini mengasumsikan bahwa Anda telah meluncurkan sebuah AL2 instance dengan server web fungsional dengan dukungan PHP dan database (baik MySQL atau MariaDB) dengan mengikuti semua langkah dalam. Tutorial: Instal server LAMP AL2 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.

Kami sangat menyarankan Anda mengaitkan alamat IP Elastis (EIP) dengan instans 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 di Panduan EC2 Pengguna Amazon.

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 di Panduan Developer Amazon Route 53.

Instal WordPress

Opsi: Selesaikan tutorial ini menggunakan otomatisasi

Untuk menyelesaikan tutorial ini menggunakan AWS Systems Manager Otomasi alih-alih tugas-tugas berikut, jalankan dokumen otomatisasi.

Connect ke instans Anda, dan unduh paket WordPress instalasi.

Untuk mengunduh dan membuka zip 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
  2. Ekstrak dan buka arsip paket instalasi. Folder instalasi diekstrak ke folder bernama wordpress.

    [ec2-user ~]$ tar -xzf latest.tar.gz
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
  2. 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 (AL2).

    [ec2-user ~]$ mysql -u root -p
  3. 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';
  4. 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`;
  5. Berikan hak istimewa penuh untuk database Anda kepada WordPress pengguna yang Anda buat sebelumnya.

    GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"localhost";
  6. Hapus hak istimewa basis data untuk mengambil semua perubahan Anda.

    FLUSH PRIVILEGES;
  7. Keluar dari klien mysql.

    exit
Untuk membuat dan mengedit file wp-config.php

Folder WordPress instalasi berisi file konfigurasi sampel yang disebutwp-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
  2. 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 Tahap 4 dari Untuk membuat pengguna database dan database untuk WordPress instalasi Anda.

      define('DB_NAME', 'wordpress-db');
    2. Cari baris yang menentukan DB_USER dan ubah username_here ke pengguna basis data yang Anda buat di Tahap 3 dari Untuk membuat pengguna database dan database untuk WordPress instalasi Anda.

      define('DB_USER', 'wordpress-user');
    3. Cari baris yang menentukan DB_PASSWORD dan ubah password_here ke kata sandi kuat yang Anda buat di Tahap 3 dari Untuk membuat pengguna database dan database untuk WordPress instalasi Anda.

      define('DB_PASSWORD', 'your_strong_password');
    4. Temukan bagian yang disebut Authentication Unique Keys and Salts. Ini KEY dan SALT nilai-nilai menyediakan lapisan enkripsi ke cookie browser yang disimpan WordPress 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/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 lebih lanjut tentang kunci keamanan, kunjungi 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');
    5. 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 dan pengguna MySQL, 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 isi direktori instalasi wordpress (tetapi bukan direktori itu sendiri) sebagai berikut:

      [ec2-user ~]$ cp -r wordpress/* /var/www/html/
    • Jika Anda WordPress ingin menjalankan 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 bisa mendapatkan 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 permalink

WordPress permalink 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
  2. 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>
  3. 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
  4. Simpan file dan tutup editor teks Anda.

Untuk menginstal perpustakaan gambar grafis PHP pada AL2

Pustaka gambar grafik untuk PHP memungkinkan Anda memodifikasi gambar. Instal pustaka ini jika Anda ingin memotong gambar header untuk blog Anda. Versi phpMyAdmin yang Anda instal mungkin memerlukan versi minimum tertentu dari pustaka ini (misalnya, versi 7.2).

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

[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 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 diTutorial: Instal server LAMP AL2).

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

    [ec2-user ~]$ sudo chown -R apache /var/www
  2. Berikan kepemilikan grup /var/www dan kontennya kepada grup apache.

    [ec2-user ~]$ sudo chgrp -R apache /var/www
  3. 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 {} \;
  4. Secara rekursif mengubah izin file /var/www dan subdirektorinya.

    [ec2-user ~]$ find /var/www -type f -exec sudo chmod 0644 {} \;
    catatan

    Jika Anda berniat untuk juga menggunakan WordPress sebagai server FTP, Anda akan memerlukan pengaturan Grup yang lebih permisif di sini. Harap tinjau langkah-langkah dan pengaturan keamanan yang disarankan WordPress untuk mencapai hal ini.

  5. 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 adalah 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
  2. 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
  3. 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
  4. Di browser web, ketik URL WordPress blog Anda (baik alamat DNS publik untuk instance Anda, atau alamat yang diikuti oleh blog folder). Anda akan melihat skrip WordPress instalasi. Berikan informasi yang dibutuhkan oleh WordPress instalasi. Pilih Instal WordPress untuk menyelesaikan instalasi. Untuk informasi selengkapnya, lihat Langkah 5: Jalankan Skrip Instal di WordPress situs web.

Langkah selanjutnya

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

Gunakan nama domain kustom

Jika Anda memiliki nama domain yang terkait dengan alamat EIP EC2 instans Anda, Anda dapat mengonfigurasi blog Anda untuk menggunakan nama itu alih-alih alamat DNS EC2 publik. Untuk informasi selengkapnya, lihat Mengubah URL Situs di WordPress situs web.

Konfigurasi blog Anda

Anda dapat mengonfigurasi blog Anda untuk menggunakan tema dan plugin 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.

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 Volume Elastis Amazon EBS di Panduan Pengguna Amazon EBS.

  • Pindahkan basis data MySQL ke Amazon 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. Global Accelerator membantu Anda mencapai latensi yang lebih rendah dengan meningkatkan kinerja lalu lintas internet antara perangkat klien pengguna Anda dan WordPress aplikasi yang sedang berjalan. AWS Global Accelerator menggunakan jaringan AWS global untuk mengarahkan lalu lintas ke titik akhir aplikasi yang sehat di AWS Wilayah yang paling dekat dengan klien.

Pelajari lebih lanjut tentang WordPress

Untuk selengkapnya WordPress, lihat dokumentasi bantuan WordPress Codex di http://codex.wordpress.org/.

Untuk informasi selengkapnya tentang pemecahan masalah penginstalan Anda, lihat Masalah instalasi umum.

Untuk informasi tentang membuat WordPress blog Anda lebih aman, lihat Pengerasan. WordPress

Untuk informasi tentang menjaga WordPress blog Anda up-to-date, lihat Memperbarui WordPress.

Tolong! Nama DNS publik saya berubah dan sekarang blog saya rusak

WordPress Instalasi Anda secara otomatis dikonfigurasi menggunakan alamat DNS publik untuk EC2 instans Anda. Jika Anda menghentikan dan memulai ulang instance, alamat DNS publik berubah (kecuali jika dikaitkan dengan alamat IP Elastis) dan blog Anda tidak akan berfungsi lagi karena merujuk sumber daya pada alamat yang tidak ada lagi (atau ditugaskan ke EC2 instance lain). Penjelasan yang lebih rinci tentang masalah dan beberapa solusi yang mungkin diuraikan dalam Mengubah URL Situs.

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. Connect ke EC2 instans Anda dengan SSH.

  2. Catat URL situs lama dan URL situs baru untuk instans Anda. URL situs lama kemungkinan adalah nama DNS publik untuk EC2 instans Anda saat Anda menginstal WordPress. URL situs baru adalah nama DNS publik saat ini untuk EC2 instans 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>
  3. Unduh wp-cli dengan perintah berikut ini.

    [ec2-user ~]$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
  4. Cari dan ganti URL situs lama di WordPress instalasi Anda dengan perintah berikut. Gantikan situs lama dan baru URLs untuk EC2 instance 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
  5. Di browser web, masukkan URL situs baru WordPress blog Anda untuk memverifikasi bahwa situs tersebut berfungsi dengan baik lagi. Jika tidak, lihat Mengubah URL Situs dan Masalah instalasi umum untuk informasi selengkapnya.