Semua Panduan VPS GratisTutorial LinuxDocker & DeployWebsite & WordPressBot & OtomasiKeamanan ServerFree Tier CloudBelajar DevOps
VPSGratis.ID›Install WordPress di VPS Ubuntu: Nginx, PHP, SSL
Website & WordPress

Install WordPress di VPS Ubuntu: Nginx, PHP, SSL Gratis 2026

✍️ Maya Kusuma 📅 30 Oktober 2026 ⏱️ 5 mnt baca 👁️ 0×

Hosting murah makin banyak, tapi developer justru kembali ke VPS

Paradoksnya jelas: panel hosting sekali klik makin mudah, namun semakin banyak pemilik situs WordPress memilih mengelola server sendiri. Alasannya bukan gengsi. Kontrol penuh atas cache, versi PHP, dan keamanan membuat situs lebih cepat dan lebih mudah diaudit. Menurut survei W3Techs, Nginx dan Apache sampai kini masih menguasai mayoritas web server di internet, dan WordPress tetap menjalankan sekitar seperempat lebih situs web dunia.

Artikel ini membahas cara memasang WordPress di Ubuntu dengan Nginx, PHP-FPM, MariaDB, dan sertifikat SSL gratis dari Let's Encrypt. Sebelum mengetik perintah pertama, kita bandingkan dulu pilihan web server-nya, karena keputusan ini memengaruhi seluruh konfigurasi setelahnya.

Nginx vs Apache vs OpenLiteSpeed untuk WordPress

AspekNginxApacheOpenLiteSpeed
Pola kerjaEvent-driven, hemat memoriProses/thread per koneksi (MPM)Event-driven, cache bawaan
File .htaccessTidak didukungDidukung penuhDidukung sebagian
KonfigurasiSatu file server block, ringkasModul dan virtual hostPanel web admin
Cache halamanFastCGI cache (manual)Perlu modul tambahanLSCache (plugin WordPress)
Kurva belajarSedangRendahSedang

Kelebihan dan kekurangan

  • Nginx: ringan saat trafik naik, dokumentasi melimpah, cocok untuk VPS dengan RAM terbatas. Kekurangannya, aturan rewrite harus ditulis manual karena tidak ada .htaccess.
  • Apache: paling ramah pemula dan kompatibel dengan hampir semua plugin yang menulis aturan ke .htaccess. Konsumsi memorinya lebih besar pada beban tinggi.
  • OpenLiteSpeed: performa cache sangat baik bila memakai plugin LSCache. Komunitasnya lebih kecil, dan troubleshooting kadang butuh waktu lebih lama.

Cocok untuk siapa?

Pilih Nginx bila Anda ingin menguasai fondasi yang dipakai luas di dunia kerja DevOps. Pilih Apache bila situs bergantung pada plugin lawas yang memodifikasi .htaccess. Pilih OpenLiteSpeed bila prioritas Anda kecepatan WordPress tanpa banyak tuning manual. Panduan ini memakai Nginx.

Persiapan sebelum mulai

Anda membutuhkan VPS dengan Ubuntu LTS terbaru, akses SSH, dan sebuah domain yang A record-nya sudah mengarah ke IP server. Tanpa domain, SSL gratis tidak bisa diterbitkan. Bila belum punya server untuk latihan, vps gratis untuk website bisa jadi tempat uji sebelum Anda memindahkan situs ke produksi. Detail penawaran terkini ada di www.vpsgratis.id.

Masuk via SSH, lalu perbarui paket:

sudo apt update && sudo apt upgrade -y
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

Aturan firewall di atas hanya membuka SSH, HTTP, dan HTTPS. Port lain tertutup secara bawaan.

Langkah 1: Pasang Nginx, PHP-FPM, dan MariaDB

sudo apt install -y nginx mariadb-server \
  php-fpm php-mysql php-curl php-gd php-mbstring \
  php-xml php-zip php-intl php-imagick unzip curl

Cek bahwa layanan aktif dengan systemctl status nginx dan systemctl status mariadb. Catat versi PHP yang terpasang lewat php -v, karena nama socket PHP-FPM bergantung pada versi tersebut.

Langkah 2: Amankan dan siapkan database

Jalankan sudo mysql_secure_installation untuk menghapus user anonim dan menonaktifkan login root jarak jauh. Lalu buat database khusus WordPress:

sudo mysql
CREATE DATABASE wp_blog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'GANTI_DENGAN_PASSWORD_KUAT';
GRANT ALL PRIVILEGES ON wp_blog.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Gunakan user terpisah per situs. Bila satu situs diretas, database situs lain tetap aman.

Langkah 3: Unduh WordPress

cd /tmp
curl -LO https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
sudo mkdir -p /var/www/contoh.com
sudo cp -a wordpress/. /var/www/contoh.com/
sudo chown -R www-data:www-data /var/www/contoh.com
sudo find /var/www/contoh.com -type d -exec chmod 755 {} \;
sudo find /var/www/contoh.com -type f -exec chmod 644 {} \;

Salin wp-config-sample.php menjadi wp-config.php, lalu isi nama database, user, dan password. Ambil salt keamanan baru dari generator resmi WordPress agar sesi login tidak mudah ditebak.

Langkah 4: Konfigurasi server block Nginx

Buat file /etc/nginx/sites-available/contoh.com:

server {
    listen 80;
    server_name contoh.com www.contoh.com;
    root /var/www/contoh.com;
    index index.php;

    # Permalink WordPress: arahkan semua ke index.php
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    # Teruskan PHP ke PHP-FPM (sesuaikan versi socket)
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }

    # Blokir akses file tersembunyi
    location ~ /\.ht { deny all; }

    # Cache aset statis di browser
    location ~* \.(css|js|jpg|jpeg|png|webp|svg|woff2)$ {
        expires 30d;
        access_log off;
    }
}

Aktifkan dan uji konfigurasi. Bila jalur socket berbeda, ganti dengan yang sesuai versi PHP Anda, misalnya php8.3-fpm.sock.

sudo ln -s /etc/nginx/sites-available/contoh.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
Poin Penting: Selalu jalankan nginx -t sebelum reload. Satu titik koma yang hilang bisa membuat semua situs di server berhenti, dan perintah ini menangkapnya lebih dulu.

Langkah 5: Pasang SSL gratis dengan Certbot

Let's Encrypt menerbitkan sertifikat gratis yang diakui semua browser utama. Certbot mengotomatiskan penerbitan sekaligus pembaruan.

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d contoh.com -d www.contoh.com
sudo certbot renew --dry-run

Pilih opsi redirect HTTP ke HTTPS saat ditanya. Perintah terakhir menguji pembaruan otomatis. Sertifikat Let's Encrypt berlaku singkat, jadi timer pembaruan harus berjalan. Cek dengan systemctl list-timers | grep certbot.

Langkah 6: Selesaikan instalasi dan kencangkan keamanan

Buka https://contoh.com di browser, ikuti wizard, dan buat akun admin dengan username selain "admin". Setelah itu:

  1. Aktifkan pembaruan otomatis untuk plugin dan tema yang Anda percaya.
  2. Nonaktifkan login SSH dengan password, pakai kunci SSH.
  3. Pasang Fail2ban untuk meredam brute force ke wp-login.php.
  4. Atur backup harian database dengan cron, lalu simpan salinannya di luar server.
  5. Naikkan client_max_body_size di Nginx bila perlu mengunggah file besar.

Kesalahan umum yang sering terjadi

  • Halaman 502 Bad Gateway: socket PHP-FPM di konfigurasi tidak cocok dengan versi PHP yang terpasang.
  • Permalink menghasilkan 404: baris try_files belum benar.
  • Sertifikat gagal terbit: DNS belum menyebar, atau port 80 tertutup di firewall.
  • Gagal unggah media: kepemilikan folder wp-content bukan milik www-data.

Pertanyaannya, perlukah semua ini bagi pemula? Ya, justru di situlah nilai belajarnya. Mahasiswa yang menjalankan stack ini sendiri akan paham cara kerja web dari DNS sampai database, bekal yang berguna di dunia kerja. Jika Anda sedang mencari vps gratis untuk mahasiswa, ini proyek latihan yang tepat, dan para praktisi bisa menengok vps gratis untuk developer untuk skenario lain seperti Docker dan CI/CD.

Langkah berikutnya

Setelah situs hidup, tambahkan FastCGI cache atau plugin cache, kompres gambar ke WebP, dan pantau penggunaan RAM dengan htop. Setiap ubahan sebaiknya diuji di server percobaan lebih dulu. Untuk memulai tanpa risiko, cek penawaran terbaru di www.vpsgratis.id atau kelola layanan lewat panel my.vpsgratis.id.

Coba VPS gratis
Terapkan yang Anda baca langsung di VPSGratis.ID.
Kunjungi VPSGratis.ID ↗