Pendahuluan
Membuat website yang cepat, aman, dan efisien adalah impian setiap pemilik situs. Jika Anda menyewa VPS (Virtual Private Server) dengan OS Debian 13, kombinasi antara WordPress dan Caddy Web Server adalah pilihan modern yang sangat tepat.
Berbeda dengan Apache atau Nginx yang membutuhkan konfigurasi rumit untuk mengaktifkan HTTPS, Caddy Web Server secara otomatis mengurus sertifikat SSL Anda dari Let’s Encrypt. Artikel ini akan membahas panduan lengkap langkah demi langkah cara install WordPress menggunakan Caddy dan database MariaDB/MySQL di Debian 13 dari awal sampai selesai.
Persiapan
- Akses ke VPS Debian 13 dengan hak akses root atau user yang memiliki konfigurasi sudo.
- Sebuah nama domain atau sub-domain yang sudah diarahkan (DNS A Record) ke IP VPS Anda.
Langkah instalasi
1. Lakukan update sistem:
sudo apt update && sudo apt upgrade -y
2. Instal caddy:
sudo apt install caddy -y
3. Aktifkan caddy:
sudo systemctl start caddy
sudo systemctl enable caddy
4. Instal paket utilitas dasar di sistem operasi berbasis Debian atau Ubuntu:
sudo apt install apt-transport-https lsb-release ca-certificates curl -y
5. Lakukan penyimpanan kunci keamanan GPG key resmi dari repositori PHP pihak ketiga milik Ondřej Surý. Di Debian atau Ubuntu, repositori bawaan biasanya hanya menyediakan versi PHP tertentu. Jika Anda ingin menginstal versi PHP yang berbeda atau versi paling terbaru, Anda perlu menambahkan repositori eksternal yang tepercaya ini:
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
6. Mendaftarkan alamat repositori PHP Ondřej Surý ke dalam sistem manajemen paket (apt) Debian atau Ubuntu:
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
7. Lakukan update sistem:
sudo apt update && sudo apt upgrade -y
8. Instal php:
sudo apt install php8.5-fpm php8.5-mysql php8.5-curl php8.5-gd php8.5-mbstring php8.5-xml php8.5-zip -y
9. Aktifkan php:
sudo systemctl start php8.5-fpm
sudo systemctl enable php8.5-fpm
10. Instal mariadb:
sudo systemctl enable php8.5-fpm
11. Buka mariadb:
sudo mysql
12. Buat database baru dengan nama wordpress:
CREATE DATABASE wordpress;
13. Buat nama pengguna baru dengan nama admin, lalu buat kata sandi pada bagian password_Anda:
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password_Anda';
14. Memberikan hak akses penuh (privilese tertinggi) kepada pengguna database bernama admin untuk mengelola database khusus yang bernama wordpress:
GRANT ALL PRIVILEGES ON wordpress.* TO 'admin'@'localhost';
15. Refresh seluruh hak akses dan tabel privilese di dalam database MariaDB atau MySQL secara instan tanpa perlu merestart layanan database.:
FLUSH PRIVILEGES;
16. Keluar dari mariadb:
EXIT;
17. Instal unzip:
sudo apt install unzip -y
18. Buat folder baru dengan nama www:
sudo mkdir /var/www
19. Buka folder www:
cd /var/www
20. Download wordpress:
sudo wget https://wordpress.org/latest.zip
21. Ekstrak file latest.zip:
sudo unzip latest.zip
22. Buka file hasil ekstrak bernama wordpress:
cd /var/www/wordpress
23. Salin isi file wp-config-sample.php ke file baru dengan nama wp-config.php:
sudo cp wp-config-sample.php wp-config.php
24. Restart php:
sudo systemctl restart php8.5-fpm
25. Buka konfigurasi caddy:
sudo nano /etc/caddy/Caddyfile
26. Salin dan tempelkan konfigurasi caddy:
Jika Anda menggunakan ip address:
:80 {
root * /var/www/wordpress
encode gzip
# Amankan file sensitif WordPress
@disallowed {
path /xmlrpc.php
path *.sql
path /wp-content/uploads/*.php
}
# Mengarahkan file terlarang ke index.php (atau ganti dengan `error 403` jika ingin memblokir total)
rewrite @disallowed /index.php
# Pastikan WordPress Permalinks berjalan dengan baik
try_files {path} {path}/ /index.php?{query}
# Proses PHP dan File Server
php_fastcgi unix//run/php/php8.5-fpm.sock
file_server
}
Jika Anda menggunakan domain atau subdomain:
https://domain-anda.com {
root * /var/www/wordpress
encode gzip
# Amankan file sensitif WordPress
@disallowed {
path /xmlrpc.php
path *.sql
path /wp-content/uploads/*.php
}
# Mengarahkan file terlarang ke index.php (atau ganti dengan `error 403` jika ingin memblokir total)
rewrite @disallowed /index.php
# Pastikan WordPress Permalinks berjalan dengan baik
try_files {path} {path}/ /index.php?{query}
# Proses PHP dan File Server
php_fastcgi unix//run/php/php8.5-fpm.sock
file_server
}
27. Restart caddy:
sudo systemctl restart caddy
28. Untuk melakukan konfigurasi utama php yaitu melalui php.ini, misalnya upload_max_filesize dan post_max_size:
sudo nano /etc/php/8.5/cli/php.ini
sudo nano /etc/php/8.5/fpm/php.ini
29. Restart php:
sudo systemctl restart php8.5-fpm
30. Ubah kepemilikan (ownership) folder /var/www/wordpress beserta seluruh isi di dalamnya menjadi milik user dan grup www-data:
sudo chown -R www-data:www-data /var/www/wordpress
31. Ubah hak akses (permission) folder-folder tersebut menjadi 755:
sudo find /var/www/wordpress/wp-content/uploads -type d -exec chmod 755 {} \;
32. Ubah hak akses (permission) file-file tersebut menjadi 644:
sudo find /var/www/wordpress/wp-content/uploads -type f -exec chmod 644 {} \;
33. Instal ufw:
sudo apt install ufw -y
34. Aktifkan ufw:
sudo systemctl start ufw
sudo systemctl enable ufw
35. Buka firewall untuk http dan https:
sudo ufw allow http
sudo ufw allow https
36. Selesai, silakan buka IP address atau alamat domain Anda di browser untuk melakukan pemilihan bahasa dan melengkapi detail situs web Anda.
Pemecahan masalah
Proses instalasi web server terkadang tidak selalu mulus. Jika Anda mengalami kendala setelah mengikuti langkah-langkah di atas, berikut adalah beberapa masalah yang sering terjadi beserta solusinya
Masalah ini berarti WordPress tidak bisa terhubung ke MariaDB. Solusi: Buka kembali file wp-config.php Anda. Pastikan nama database (wordpress), username (admin), dan password yang Anda masukkan sudah benar-benar cocok dengan yang Anda buat pada langkah nomor 12 dan 13. Pastikan juga layanan MariaDB aktif dengan perintah:
sudo systemctl enable mariadb
Masalah ini berarti masalah hak akses sehingga muncul pesan akses ditolak saat membuka situs atau gagal upload. Solusi: Jalankan ulang perintah nomor 30, 31, dan 32 untuk memastikan pemilik folder adalah www-data dan kodenya sudah tepat, yaitu folder = 755 dan file = 644.
Masalah ini berarti Caddy tidak bisa berkomunikasi dengan PHP-FPM. Solusi: Periksa versi PHP-FPM yang berjalan
php -v
Pada konfigurasi Caddyfile (langkah nomor 26), kita mengarahkan ke unix//run/php/php8.5-fpm.sock. Pastikan versi php sudah sesuai dan layanan aktif menggunakan perintah:
sudo systemctl enable php8.5-fpm
Jika Anda menggunakan versi PHP berbeda, sesuaikan nama file .sock tersebut di dalam Caddyfile Anda.
Masalah ini berarti firewall memblokir koneksi Anda. Solusi: Pastikan firewall UFW tidak memblokir koneksi Anda. Cek kembali apakah Anda sudah membuka port dengan benar seperti:
sudo ufw allow http
sudo ufw allow https
Kesimpulan
Memasang WordPress menggunakan Caddy Web Server di Debian 13 merupakan kombinasi modern yang sangat efisien, cepat, dan aman untuk VPS Anda. Keunggulan utama Caddy yang otomatis mengelola sertifikat SSL dari Let’s Encrypt sangat memangkas waktu konfigurasi dibandingkan web server tradisional seperti Apache atau Nginx.
Dengan memadukan performa andal dari PHP 8.5 dan efisiensi database MariaDB, Anda kini telah memiliki fondasi website WordPress yang optimal dan siap menerima trafik tinggi.
Baca Juga
29/06/2026
Mengenal Perintah-Perintah Pada Debian atau Ubuntu
Panduan praktis mengenai perintah dasar berbasis CLI (Command Line Interface) untuk mengelola VPS…
0 komentar6 menit baca
12/06/2026
Antara Python atau NodeJS Untuk Membuat Bot Telegram
Bingung memilih antara Python atau Node.js untuk membuat bot Telegram? Simak perbandingan…
0 komentar3 menit baca
02/06/2026
Membangun Bot Telegram CRUD dengan NodeJS dan Telegraf Dari Nol Sampai Jalan
Dengan memahami CRUD lewat bot Telegram, Anda dapat membuat database sederhana yang mendukung…
0 komentar15 menit baca
08/01/2026
Panduan Lengkap Menjalankan Bot Telegram NodeJS di Rocky Linux 10 Menggunakan Metode Webhook
Panduan lengkap menjalankan Bot Telegram di Rocky Linux 10 menggunakan metode webhook. Pembahasan…
0 komentar12 menit baca
05/01/2026
Mengenal Root dan Non Root di Server Linux
Memahami fungsi user root dan non-root pada Linux, perbedaan hak akses, risiko keamanan, serta…
0 komentar4 menit baca
04/01/2026
Menjalankan Bot Telegram Python Menggunakan Metode Webhook di Rocky Linux 10
Panduan menjalankan bot Telegram di Rocky Linux 10 agar tetap aktif 24/7. Pembahasan kami…
0 komentar5 menit baca
03/01/2026
Panduan Lengkap Menginstal Ghost di Ubuntu
Cara instal Ghost CMS di server Ubuntu 22.04 atau Ubuntu 24.04 lengkap dengan Nginx, SSL, MySQL dan…
0 komentar4 menit baca
30/12/2025
Memasang WordPress di Rocky Linux 10
Panduan lengkap pemasangan WordPress di Rocky Linux. Membahas instalasi Apache, MariaDB, PHP,…
0 komentar6 menit baca
25/12/2025
Menjalankan Bot Telegram Metode Polling di Ubuntu 24
Panduan lengkap menjalankan bot Telegram non-stop di server Ubuntu 24.04 LTS, mulai dari konsep,…
0 komentar7 menit baca
14/12/2025
Memasang WordPress di Ubuntu 24
Memasang Wordpress di Ubuntu 24 dapat Anda lakukan dengan mudah menggunakan kombinasi Nginx, PHP,…
0 komentar4 menit baca
