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

Sebelum memulai, pastikan Anda sudah memiliki:
  • 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




masyarakat

Mari Berbagi

Alamat

Jl. Rompok Raya
Palembang
Indonesia