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)

  1. 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

  1. 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.


  1. 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

  1. 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

  1. 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;

  1. 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

  1. 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

  1. 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

  1. 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.


  1. 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

  1. AUTO RENEW SSL

Test renew:

certbot renew --dry-run

Certbot otomatis menambahkan cron/systemd timer untuk perpanjangan.


  1. FINALISASI INSTALASI WORDPRESS

Buka browser:

https://web.domain.com

Ikuti wizard instalasi:

  • Site title
  • Username admin
  • Password kuat
  • Email administrator

Selesai.


  1. 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.

By Admin

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *