Domain: web.domain.com
ARSITEKTUR YANG DIGUNAKAN
- OS: Ubuntu Server 24.04 LTS
- Web Server: Nginx
- Database: MariaDB
- PHP: PHP-FPM
- SSL: Let’s Encrypt (Certbot)
- PERSIAPAN AWAL VPS
Login ke VPS:
ssh root@IP_VPS
Update sistem:
apt update && apt upgrade -y
Install paket dasar:
apt install curl wget unzip software-properties-common -y
Set timezone (opsional):
timedatectl set-timezone Asia/Jakarta
- KONFIGURASI DOMAIN
Masuk ke panel DNS domain Anda, lalu buat A Record:
Type: A
Name: web
Value: IP_VPS
TTL: default
Sehingga:
web.domain.com → IP VPS Anda
Verifikasi dari server:
ping web.domain.com
Jika sudah mengarah ke IP VPS, lanjut ke tahap berikutnya.
- INSTALL NGINX
Install Nginx:
apt install nginx -y
Aktifkan dan jalankan:
systemctl enable nginx
systemctl start nginx
Izinkan firewall:
ufw allow 'Nginx Full'
Cek status:
systemctl status nginx
- INSTALL MARIADB (MYSQL)
Install MariaDB:
apt install mariadb-server -y
Amankan instalasi:
mysql_secure_installation
Rekomendasi:
- Set root password
- Remove anonymous users: Yes
- Disallow root remote login: Yes
- Remove test database: Yes
- Reload privilege tables: Yes
- MEMBUAT DATABASE WORDPRESS
Masuk ke MariaDB:
mysql -u root -p
Buat database dan user:
CREATE DATABASE wordpress_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'PasswordKuat123!';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
- INSTALL PHP DAN MODULE PENDUKUNG
Install PHP 8.x dan modul yang diperlukan WordPress:
apt install php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-xmlrpc php-zip php-intl php-soap php-bcmath -y
Cek versi:
php -v
Pastikan PHP-FPM berjalan:
systemctl status php8.3-fpm
- DOWNLOAD DAN INSTALL WORDPRESS
Masuk ke direktori web:
cd /var/www/
Download WordPress:
wget https://wordpress.org/latest.tar.gz
Ekstrak:
tar -xvzf latest.tar.gz
Rename folder:
mv wordpress web.domain.com
Atur permission:
chown -R www-data:www-data /var/www/web.domain.com
chmod -R 755 /var/www/web.domain.com
- KONFIGURASI NGINX VIRTUAL HOST
Buat file konfigurasi:
nano /etc/nginx/sites-available/web.domain.com
Isi konfigurasi berikut:
server {
listen 80;
server_name web.domain.com;
root /var/www/web.domain.com;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Aktifkan site:
ln -s /etc/nginx/sites-available/web.domain.com /etc/nginx/sites-enabled/
Test konfigurasi:
nginx -t
Restart Nginx:
systemctl reload nginx
- KONFIGURASI WP-CONFIG.PHP
Masuk ke folder WordPress:
cd /var/www/web.domain.com
Salin file konfigurasi:
cp wp-config-sample.php wp-config.php
Edit:
nano wp-config.php
Ubah bagian ini:
define('DB_NAME', 'wordpress_db');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'PasswordKuat123!');
define('DB_HOST', 'localhost');
Tambahkan juga:
define('FS_METHOD', 'direct');
Simpan dan keluar.
- INSTALL SSL CERTBOT (HTTPS)
Install Certbot:
apt install certbot python3-certbot-nginx -y
Jalankan:
certbot --nginx -d web.domain.com
Pilih:
- Redirect HTTP to HTTPS: Yes
Certbot akan:
- Membuat SSL certificate
- Mengatur konfigurasi Nginx otomatis
- Mengaktifkan redirect HTTPS
- AUTO RENEW SSL
Test renew:
certbot renew --dry-run
Certbot otomatis menambahkan cron/systemd timer untuk perpanjangan.
- FINALISASI INSTALASI WORDPRESS
Buka browser:
Ikuti wizard instalasi:
- Site title
- Username admin
- Password kuat
- Email administrator
Selesai.
- OPTIMASI DASAR PRODUKSI
Nonaktifkan listing directory:
Tambahkan di server block:
autoindex off;
Batasi upload file (opsional):
Edit php.ini:
nano /etc/php/8.3/fpm/php.ini
Ubah:
upload_max_filesize = 64M
post_max_size = 64M
Restart PHP:
systemctl restart php8.3-fpm
STRUKTUR AKHIR SERVER
/var/www/web.domain.com
/etc/nginx/sites-available/web.domain.com
Database: wordpress_db
User DB: wpuser
SSL: Let’s Encrypt
KESIMPULAN
Dengan mengikuti langkah di atas, Anda telah berhasil:
- Menginstall Nginx
- Menginstall MariaDB
- Menginstall PHP lengkap untuk WordPress
- Membuat database dan user aman
- Menghubungkan domain web.domain.com
- Mengaktifkan HTTPS dengan Certbot
- Mengkonfigurasi WordPress untuk produksi
Stack ini siap digunakan untuk kebutuhan website bisnis atau produksi.