Ringkasan
Posting berikut akan menunjukkan langkah-langkah cara menginstal WordPress dengan Nginx di Debian 10 dan juga di Debian 11. Pada satu server Debian kita akan menginstal dan mengkonfigurasi LEMP stack (Nginx, PHP dan MariaDB) dan pada akhirnya menginstal dan menjalankan WordPress. Dengan kata lain, server Debian tunggal kami akan menjalankan server web Nginx, server MariaDB, dan menjalankan WordPress secara bersamaan.
WordPress juga dapat diatur dan dijalankan di beberapa server terpisah (server web terpisah dan server database terpisah). Jika Anda memerlukan pengaturan seperti itu (dengan database jarak jauh), Anda dapat memeriksa cara mengaturnya di posting ini. Metode lain untuk menginstal dan menjalankan WordPress adalah dengan Docker, yang dibahas dalam posting ini.
Instal perpustakaan dan paket yang diperlukan
sudo apt install nginx php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl mariadb-server
Setelah penginstalan selesai, jalankan Nginx dan MariaDB jika tidak berjalan dan aktifkan untuk memulai otomatis saat boot.
sudo systemctl start nginx.service sudo systemctl enable nginx.service sudo systemctl start mariadb.service sydo systemctl enable mariadb.service
Konfigurasi database
Mulai dan konfigurasikan server mariadb dengan database, pengguna, dan berikan hak istimewa.
Sebelum itu, disarankan untuk menjalankan instalasi aman terlebih dahulu:
sudo mysq_secure_installation
Saat diminta untuk mengubah kata sandi root, Anda dapat melewatinya tetapi itu tergantung pada Anda apakah Anda perlu mengubah kata sandi root atau tidak. Dengan sisa pertanyaan yang diajukan, Anda dapat melanjutkan dengan opsi Ya. Mirip seperti pada gambar di bawah ini:
lalu akses server database dan buat database, pengguna, dan atur hak istimewa
sudo mysql -u root -p CREATE DATABASE sampledbwp; GRANT ALL ON sampledbwp.* TO 'sample-admin'@'localhost' IDENTIFIED BY 'SamplePassword1'; quit
Dengan perintah ini, kita membuat database – sampledbwp, membuat user sample-admin di localhost dan memberikan semua hak istimewa untuk membaca dan menulis database yang baru kita buat.
Instal dan konfigurasikan WordPress
Arahkan ke direktori berikut dan unduh dan ekstrak instalasi WordPress:
cd /var/www/html/ sudo wget https://wordpress.org/latest.tar.gz sudo tar -xzfv latest.tar.gz
Beralih ke direktori wordpress dan ganti nama file wp-config-sample.php menjadi wp-config.php
cd wordpress mv wp-config-sample.php wp-config.php
Sekarang kita akan mengedit file konfigurasi WordPress:
sudo nano wp-config.php
Dalam file konfigurasi, kita perlu menambahkan pengguna database, nama database dan kata sandi yang kita buat di server MariaDB dan menambahkan kunci garam dari – https://api.wordpress.org/secret-key/1.1/salt/ . Lihat contoh gambar di bawah ini:
Simpan dan keluar.
Setel izin yang benar untuk instalasi WordPress agar dapat diakses dari internet:
sudo chown -R www-data:www-data /var/www/html/wordpress sudo chmod -R 755 /var/www/html/wordpress
Konfigurasi Nginx
Pindah ke konfigurasi server web nginx. Langkah pertama adalah membuat file konfigurasi untuk situs web WordPress. Jalankan perintah berikut untuk memulai editor teks:
sudo nano /etc/nginx/sites-available/wordpress.conf
Di bawah ini Anda akan menemukan contoh konfigurasi:
server { listen 80; listen [::]:80; root /var/www/html/wordpress; index index.php index.html index.htm; server_name mysite.com www.mysite.com; error_log /var/log/nginx/mysite.com_error.log; access_log /var/log/nginx/mysite.com_access.log; client_max_body_size 100M; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.3-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Simpan dan keluar.
Catatan – Periksa kembali dan konfirmasi root instalasi wordpress Anda dan versi php-fpm yang berjalan di server Anda. Itu harus cocok di file konfigurasi.
Pada akhirnya, seharusnya terlihat seperti ini:
Konfigurasi default masih tetap di Nginx dan aktif. Sampai dihapus, konfigurasi Anda tidak akan terjadi, artinya situs WordPress Anda tidak akan dapat dijangkau, jadi kami perlu menghapus konfigurasi default:
sudo rm /etc/nginx/sites-available/default sudo rm /etc/nginx/sites-enabled/default
Buat symlink untuk konfigurasi wordpress Nginx baru kami:
sudo ln -s /etc/nginx/sites-available/wordpress.conf /etc/nginx/sites-enabled/
Setelah itu, periksa kembali konfigurasinya dengan:
sudo nginx -t
dan mulai ulang Nginx
sudo systemctl restart nginx
Uji apakah WordPress aktif di browser dengan mengaksesnya dengan alamat IP server atau dengan URL (jika Anda telah menetapkan nama domain) dan selesaikan penginstalan:
Dan itu saja. Anda sekarang memiliki dan menjalankan situs web WordPress.
Beberapa saran dan tips keamanan
Di sini saya ingin menunjukkan beberapa saran untuk instalasi WordPress yang lebih aman dan lebih aman serta cara memeliharanya.
- Saran pertama adalah menghapus – file xmlrpc.php
File ini bukan poin penting WordPress dan WordPress dapat berfungsi tanpa file ini tanpa masalah. File Xmlrpc digunakan pada tahap awal WordPress sebagai layanan, di mana klien blog terhubung ke WordPress melalui xmlrpc untuk memposting konten baru (singkatnya). File ini sekarang menjadi penyebab banyak dan berbagai serangan berbahaya (DDoS, brute force, dan lain-lain).
Dalam contoh ini, kita dapat menghapus file ini dengan perintah:
sudo rm /var/www/html/wordpress/xmlrpc.php
Satu catatan juga – dengan setiap pembaruan/peningkatan WordPress, file ini akan muncul kembali, sehingga perlu mengulangi tindakan setiap WordPress diperbarui.
- Hapus wp-config-sample.php
Dalam posting ini kami mengganti nama file ini menjadi wp-config.php. Kami melakukan cara ini karena kami secara manual menambahkan kredensial basis data untuk WordPress untuk terhubung ke server basis data dan menambahkan kunci garam juga. File ini juga muncul kembali dengan setiap pembaruan/peningkatan WordPress dan disarankan untuk menghapusnya karena terkena banyak serangan berbahaya yang dapat menyebabkan situs Anda dihapus.
- Sembunyikan url wp-login dan tambahkan login 2FA
Sangat disarankan untuk mengubah login URL default untuk mencegah serangan brute force dan menambahkan login otentikasi dua faktor. Anda dapat melakukannya dengan mudah dengan plugin seperti – WPS Hide login dan miniOrange 2-Factor. Sekarang juga WordPress memiliki login 2FA secara default.
- Tambahkan plugin firewall dan jangan gunakan akun dengan nama pengguna admin
Salah satu plugin pertama yang sangat disarankan untuk diinstal adalah plugin firewall, seperti – Wordfence atau Sucuri
Ringkasan
Kami membahas langkah-langkah cara menginstal WordPress dengan Nginx di Debian 10 dan juga di Debian 11. Skenario ini adalah WordPress disajikan dengan databasenya di satu mesin server adalah pilihan yang baik jika Anda juga memulai sekarang dan tidak memiliki anggaran ekstra untuk infrastruktur atau jika Anda seorang pemula yang baru pertama kali mencoba WordPress di hosting cloud/dedicated/VM/VPS atau hanya untuk beberapa tujuan pengujian.
Tetapi satu kelemahan yang dapat ditimbulkannya dari waktu ke waktu adalah jika Anda masih memiliki skenario ini dalam produksi, akan menjadi agak sulit untuk mempertahankan server ketika pemutakhiran diperlukan untuk diterapkan karena dapat menyebabkan waktu henti. Itulah mengapa praktik umum untuk memiliki setidaknya dua server dan memisahkan instalasi WordPress dengan hanya memiliki satu server web server (Nginx atau Apache) dan instalasi WordPress dan yang lainnya server database (MariaDB, MySQL). Proses penyiapan untuk lingkungan semacam ini, Anda dapat melihat di pos ini.
Terima kasih banyak atas waktunya…