Siapkan Situs Web WordPress dengan Load Balanced di AWS EC2. Pelajari cara menyiapkan aplikasi WordPress Anda untuk menangani lalu lintas tinggi dengan kemampuan penskalaan otomatis di AWS dengan Elastic Load Balancing.
Dalam panduan lengkap ini Anda akan menginstal WordPress, mengonfigurasi situs web Anda untuk menggunakan AWS S3 untuk file media, membuat Amazon Machine Image, menyiapkan template, membuat konfigurasi peluncuran, mengonfigurasi grup penskalaan otomatis untuk mengelola lalu lintas langsung, dan menyiapkan RDS untuk database Anda.
Prasyarat
- Instans EC2 yang sedang berjalan. Pelajari cara membuat instans AWS EC2. Anda dapat memilih Ubuntu 20.04 LTS atau yang terbaru.
- Tetapkan IP Elastis ke Instans EC2 Anda.
- Siapkan Amazon RDS dan hubungkan dengan Instans EC2.
- Siapkan AWS Route 53 untuk nama Domain Anda.
Jika Anda memiliki semua prasyarat yang disebutkan di atas, Anda dapat melanjutkan ke penyiapan Elastic Load Balancing.
Pastikan Anda telah menambahkan grup keamanan instans EC2 Anda ke grup keamanan RDS untuk koneksi yang berhasil dari EC2 ke RDS.
Pengaturan Server Awal
SSH ke Instans VM dan mulai dengan memperbarui dan memutakhirkan paket.
sudo apt update sudo apt upgrade
Instal Apache2 untuk WordPress
Instal Apache2 menggunakan perintah berikut.
sudo apt install apache2
Ini akan menginstal apache2
dan semua dependensi yang diperlukan.
Konfigurasi Firewall
Sekarang Anda dapat menyiapkan Uncomplicated Firewall (UFW) dengan Apache untuk mengizinkan akses publik pada port web default untuk HTTP
, HTTPS
dan SSH
sudo ufw app list
Anda akan melihat semua aplikasi yang terdaftar.
Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
- Apache :Profil ini membuka port
80
(lalu lintas web normal dan tidak terenkripsi) - Apache Penuh :Profil ini membuka kedua port
80
(lalu lintas web normal, tidak terenkripsi) dan port443
(lalu lintas terenkripsi TLS/SSL) - Apache Aman :Profil ini hanya membuka port
443
(lalu lintas terenkripsi TLS/SSL) - OpenSSH :Profil ini membuka port
22
untuk akses SSH.
Sekarang kita akan mengaktifkan Apache Full.
sudo ufw allow OpenSSH sudo ufw allow 'Apache Full'
Aktifkan UFW menggunakan perintah berikut
sudo ufw enable
Instal PHP 8 dan Ekstensi
Tambahkan ondrej/php
yang memiliki paket PHP 8 dan ekstensi PHP lain yang diperlukan.
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Setelah Anda menambahkan PPA, Anda dapat menginstal PHP 8.
sudo apt install php8.0 libapache2-mod-php8.0 php8.0-common php8.0-mysql php8.0-xml php8.0-xmlrpc php8.0-curl php8.0-gd php8.0-imagick php8.0-cli php8.0-dev php8.0-imap php8.0-mbstring php8.0-opcache php8.0-soap php8.0-zip php8.0-intl php8.0-bcmath unzip mariadb-client -y
Konfigurasi PHP 8
Sekarang kita mengkonfigurasi PHP untuk Aplikasi Web dengan mengubah beberapa nilai di php.ini
berkas.
Untuk PHP 8 dengan Apache php.ini
lokasi akan berada di direktori berikut.
sudo nano /etc/php/8.0/apache2/php.ini
Tekan F6
untuk mencari di dalam editor dan memperbarui nilai berikut untuk kinerja yang lebih baik.
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
Setelah Anda menginstal dan mengonfigurasi pengaturan PHP Anda, Anda perlu me-restart Apache Anda agar perubahan diterapkan.
sudo service apache2 restart
Konfigurasikan Direktori Situs Web
Setelah Anda menginstal PHP 8 dan Apache, Anda dapat melanjutkan ke direktori setup.
Situs web Anda akan ditempatkan di direktori home dan memiliki struktur sebagai berikut.
Ganti yourdomainname
dengan nama domain asli Anda tanpa ekstensi.
/var/www/html/ -- yourdomainname ---- public
public
directory adalah direktori root situs web Anda.
Sekarang kita membuat direktori ini dan mengatur izin yang benar
Anda perlu SSH ke Instans VM Anda dan menjalankan perintah ini
mkdir -p /var/www/html/yourdomainname/public sudo chmod -R 755 /var/www/html/yourdomainname sudo chown -R www-data:www-data /var/www/html/yourdomainname
Mengonfigurasi Host Virtual untuk WordPress
Buat file konfigurasi baru untuk situs web Anda di sites-available
direktori.
sudo nano /etc/apache2/sites-available/yourdomainname.conf
Salin dan tempel konfigurasi berikut, pastikan Anda mengubah server_name, error_log dan root directives agar sesuai dengan nama domain Anda. Tekan CTRL+X
diikuti oleh Y
untuk menyimpan perubahan.
<VirtualHost *:80> ServerAdmin [email protected] ServerName www.yourdomainname.com ServerAlias yourdomainname.com DocumentRoot /var/www/html/yourdomainname/public <Directory /var/www/html/yourdomainname/public> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> <Directory /usr/share/phpmyadmin> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/yourdomainname.com_error.log CustomLog ${APACHE_LOG_DIR}/yourdomainname.com_access.log combined </VirtualHost>
Untuk mengaktifkan konfigurasi situs web yang baru dibuat ini, symlink file yang baru saja Anda buat ke dalam sites-enabled
direktori.
sudo a2ensite yourdomainname.conf
Periksa konfigurasi Anda dan mulai ulang Apache agar perubahan diterapkan
sudo systemctl restart apache2
Instal PhpMyAdmin (Opsional)
Sekarang Anda dapat menginstal PhpMyAdmin yang membantu Anda membuat database dan menetapkan pengguna ke dalamnya dengan cara yang ramah pengguna.
Unduh PhpMyAdmin dan konfigurasikan menggunakan perintah berikut.
sudo wget -P /usr/share https://files.phpmyadmin.net/phpMyAdmin/5.1/phpMyAdmin-5.1-all-languages.zip sudo unzip /usr/share/phpMyAdmin-5.1-all-languages.zip -d /usr/share sudo mv /usr/share/phpMyAdmin-5.1-all-languages /usr/share/phpmyadmin sudo rm -f /usr/share/phpMyAdmin-5.1-all-languages.zip sudo mkdir /usr/share/phpmyadmin/tmp sudo chmod -R 777 /usr/share/phpmyadmin/tmp sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Edit config.inc.php
berkas
sudo nano /usr/share/phpmyadmin/config.inc.php
Tambahkan kode berikut di bawah /* Authentication type */
.
$cfg['Servers'][$i]['auth_type'] = 'cookie'; /* Server parameters */ $cfg['Servers'][$i]['host'] = 'RDS_DATABASE_ENDPOINT'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['AllowNoPassword'] = false; $cfg['Servers'][$i]['verbose'] = 'Amazon RDS'; $cfg['Servers'][$i]['port'] = '3306'; $cfg['Servers'][$i]['socket'] = ''; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['TempDir'] = '/usr/share/phpmyadmin/tmp';
Masukkan rahasia blowfish.
$cfg['blowfish_secret'] = 'Some_Secret_Password_54_characters';
Tekan CTRL+X
diikuti oleh Y
dan ENTER
untuk menyimpan dan keluar dari file.
Buat Basis Data
Sekarang Anda dapat login ke instans RDS Anda dengan PhpMyAdmin (http://yourdomainname.com/phpmyadmin
) menggunakan nama pengguna dan sandi utama yang Anda konfigurasikan saat membuat instance.
Buat database baru dan pengguna yang terkait dengan database tersebut.
Unduh WordPress
Sekarang setelah perangkat lunak server kami dikonfigurasi, kami dapat mengunduh dan mengatur WordPress.
Selalu disarankan untuk mendapatkan versi terbaru WordPress dari situs web mereka.
cd /var/www/html/yourdomainname/public curl -LO https://wordpress.org/latest.tar.gz
Setelah WordPress diunduh, Anda perlu mengekstraknya menggunakan perintah berikut.
sudo tar xzvf latest.tar.gz
Sekarang, Anda dapat menyalin seluruh isi direktori ke root dokumen kami.
sudo cp -a /var/www/html/yourdomainname/public/wordpress/. var/www/html/yourdomainname/public
Selanjutnya bersihkan direktori root Anda dengan menghapus wordpress
folder dan tar
yang diunduh berkas.
sudo rm -r /var/www/html/yourdomainname/public/wordpress sudo rm -f /var/www/html/yourdomainname/public/latest.tar.gz
Siapkan izin yang benar untuk folder root. Jangan lupa ganti yourdomainname
dengan nama domain . Anda Anda gunakan.
sudo chmod -R 755 /var/www/html/yourdomainname sudo chown -R www-data:www-data /var/www/html/yourdomainname
Instal WordPress
Sekarang kunjungi situs web Anda di browser dan pilih bahasa yang ingin Anda gunakan dan klik lanjutkan.
Anda akan diminta untuk memasukkan database
, user
, password
, dan hostname
.
Masukkan nama basis data Anda buat menggunakan PhpMyAdmin dan pengguna ditugaskan dengan database dengan password. Terakhir, masukkan titik akhir RDS sebagai nama host .
Sekarang Anda dapat menjalankan instalasi.
Setelah instalasi selesai, kita perlu mengatur metode yang harus digunakan WordPress untuk menulis ke sistem file. Karena kami telah memberikan izin server web untuk menulis di tempat yang diperlukan, kami dapat secara eksplisit mengatur metode sistem file ke "direct". Kegagalan untuk menyetel ini dengan pengaturan kami saat ini akan mengakibatkan WordPress meminta kredensial FTP ketika kami melakukan beberapa tindakan seperti pembaruan WordPress, pembaruan plugin, unggahan file, dll. Pengaturan ini dapat ditambahkan di bawah pengaturan koneksi database di file konfigurasi.
sudo nano /var/www/html/yourdomainname/public/wp-config.php
Temukan baris define('DB_PASSWORD', 'password');
dan rekatkan baris berikut di bawahnya.
define('FS_METHOD', 'direct');
Tekan Ctrl+X
dan Y
untuk menyimpan file konfigurasi Anda.
Menjadi AWS Professional Bersertifikat dengan kursus yang mudah dipelajari ini sekarang.
Itu untuk bagian 1. Sekarang Anda telah membuat Instance di EC2 dan RDS dan menginstal WordPress.
Di bagian selanjutnya Anda dapat mengonfigurasi AWS S3, mengonfigurasi WordPress untuk menggunakan S3 untuk pustaka media, meminta SSL terkelola AWS, membuat penyeimbang beban, grup penskalaan otomatis, dan mengarahkan domain Anda ke Penyeimbang beban.
Anda dapat melihat bagian selanjutnya dari tutorial lengkap ini di sini.