Cara Install WordPress dengan Caddy di Ubuntu 24.04
Caddy adalah web server open-source yang dirancang untuk kesederhanaan dan otomatisasi. Dibangun dengan Go, Caddy menawarkan fitur yang menarik, termasuk dukungan bawaan untuk HTTPS melalui Let’s Encrypt, manajemen sertifikat otomatis, dan konfigurasi yang sederhana. Berkat fitur-fitur tersebut, Caddy menjadi pilihan ideal bagi pengembang yang membutuhkan solusi cepat dan handal untuk melayani situs web atau aplikasi.
Install MariaDB
Install MariaDB:
1 | sudo apt install mariadb -y |
Login ke MariaDB:
1 | sudo mysql |
Membuat database untuk WordPress:
1 2 3 4 5 | CREATE DATABASE wordpress; CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'secret'; GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost'; FLUSH PRIVILEGES; exit |
Install PHP
Install PHP 8.3:
1 2 3 4 | sudo apt install php8.3 php8.3-fpm php8.3-cli php8.3-common \ php8.3-apcu php8.3-mbstring php8.3-gd php8.3-intl \ php8.3-xml php8.3-soap php8.3-bcmath php8.3-mysql php8.3-zip \ php8.3-curl php8.3-tidy php8.3-imagick php-pear -y |
Membuka file konfigurasi PHP-FPM pool:
1 | sudo nano /etc/php/8.3/fpm/pool.d/www.conf |
Sesuikan konfigurasi berikut:
1 2 3 4 | user = caddy group = caddy listen.owner = caddy listen.group = caddy |
Restart service PHP-FPM:
1 | sudo systemctl restart php8.3-fpm |
Install WordPress
Install WP-CLI:
1 2 | sudo wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/local/bin/wp sudo chmod +x /usr/local/bin/wp |
Membuat direktori untuk domain aminlabs.my.id:
1 2 | sudo mkdir -p /var/www/aminlabs.my.id cd /var/www/aminlabs.my.id |
Download WordPress core:
1 | sudo wp core download --allow-root |
Membuat wp-config.php:
1 2 3 4 5 6 | sudo wp config create \ --dbname="wordpress" \ --dbuser="wordpress" \ --dbpass="secret" \ --dbhost="localhost" \ --allow-root |
Menginstal WordPress:
1 2 3 4 5 6 7 | sudo wp core install \ --url="https://www.aminlabs.my.id" \ --title="AminLabs" \ --admin_user="aminlabs" \ --admin_password="secret" \ --allow-root |
Mengubah ownership direktori:
1 | sudo chown -R caddy:caddy /var/www/aminlabs.my.id |
Install Caddy
Memasang GPG key, repository, dan install Caddy:
1 2 3 4 5 | sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install caddy -y |
Membuka file konfigurasi Caddyfile:
1 2 | cd /etc/caddy sudo nano Caddyfile |
Hapus isinya, lalu masukkan konfigurasi untuk aminlabs.my.id dan PHP-FPM:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | www.aminlabs.my.id { tls admin@aminlabs.my.id root * /var/www/aminlabs.my.id php_fastcgi unix//run/php/php8.3-fpm.sock file_server encode gzip log { output file /var/log/caddy/aminlabs.my.id.log } } aminlabs.my.id { redir https://www.aminlabs.my.id{uri} permanent } |
Memvalidasi konfigurasi:
1 | sudo caddy validate |
Jika terdapat pesan peringatan:
1 | WARN Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies |
jalankan perintah berikut:
1 | sudo caddy fmt --overwrite |
Restart service Caddy:
1 | sudo systemctl restart caddy |
Pengujian
Terakhir menguji hasil instalasi dan konfigurasi dengan mengakses domain aminlabs.my.id.
- Website WordPress harus tampil dan protokol HTTPS aktif.
- Login ke dashboard, menguji coba install dan delete theme.
- Mengubah permalink untuk menguji coba rewrite URL.
Selamat mencoba 🙂