Deployment Website

📑 Bab 9 – SOP Deployment Website di Ubuntu Server

Deployment Website di Ubuntu Server. Bab ini akan melengkapi perjalanan belajar kamu, karena setelah server siap, user terkelola, permission aman, service berjalan, firewall aktif, log dipantau, dan backup otomatis, langkah berikutnya adalah deploy website agar bisa diakses publik.

1. Tujuan

Memberikan panduan standar untuk:

  • Mengupload website dari Windows/Linux client ke server.
  • Sinkronisasi file dengan WinSCP atau rsync.
  • Mengatur struktur folder website.
  • Menguji hasil deployment di browser.

2. Lingkup

  • Sistem operasi: Ubuntu Server.
  • Tools: WinSCP (Windows), rsync (Linux/Mac).
  • Web server: Apache/Nginx.

3. Langkah Kerja

3.1 Upload via WinSCP (Windows Client)

  1. Buka WinSCP.
  2. Pilih protokol SFTP.
  3. Masukkan:
    • Host name: IP server (contoh 192.168.1.100)
    • Port: 22
    • Username: user Ubuntu
    • Password: password user Ubuntu
  4. Klik Login.
  5. Navigasi ke folder /var/www/html.
  6. Drag & drop file website (HTML, CSS, JS, PHP) ke folder tersebut.

3.2 Upload via rsync (Linux/Mac Client)

Gunakan rsync untuk sinkronisasi cepat:

rsync -avz /local/path user@server:/var/www/html
  
  • -a → archive mode (copy lengkap)
  • -v → verbose (tampilkan proses)
  • -z → compress (lebih cepat)

Contoh:

rsync -avz /home/peuhaba/website/ peuhaba@192.168.1.100:/var/www/html
  

3.3 Struktur Folder Website

  • Apache/Nginx default folder: /var/www/html
  • Buat folder khusus untuk project:
    sudo mkdir /var/www/myproject
    sudo chown -R $USER:$USER /var/www/myproject
          
  • Upload file ke folder tersebut.

3.4 Konfigurasi Virtual Host (Apache)

  1. Buat file konfigurasi:
    sudo nano /etc/apache2/sites-available/myproject.conf
          
  2. Isi:
    
        ServerName myproject.local
        DocumentRoot /var/www/myproject
        
            AllowOverride All
            Require all granted
        
    
          
  3. Aktifkan site:
    sudo a2ensite myproject.conf
    sudo systemctl reload apache2
          

3.5 Konfigurasi Server Block (Nginx)

  1. Buat file konfigurasi:
    sudo nano /etc/nginx/sites-available/myproject
          
  2. Isi:
    server {
        listen 80;
        server_name myproject.local;
        root /var/www/myproject;
        index index.html index.php;
    }
          
  3. Aktifkan site:
    sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled/
    sudo systemctl reload nginx
          

3.6 Uji Website

  • Buka browser di client.
  • Akses: http://IP_SERVER atau http://myproject.local.
  • Pastikan file index.html atau index.php tampil.

4. Command Ringkas

Fungsi Command
Upload via rsync rsync -avz /local/path user@server:/var/www/html
Buat folder project sudo mkdir /var/www/myproject
Ubah owner folder sudo chown -R $USER:$USER /var/www/myproject
Reload Apache sudo systemctl reload apache2
Reload Nginx sudo systemctl reload nginx

5. Catatan Penting

  • Gunakan WinSCP untuk upload manual, rsync untuk sinkronisasi otomatis.
  • Pastikan permission folder web benar (755 untuk folder, 644 untuk file).
  • Gunakan Virtual Host/Server Block agar bisa hosting banyak website di satu server.
  • Selalu uji website setelah upload untuk memastikan tidak ada error.
👉 Dengan bab ini, kamu sudah bisa deploy website ke server dengan aman dan terstruktur.

Komentar

Postingan populer dari blog ini

Automation dengan Ansible

Logging & Observability Modern (ELK Stack)

Docker & Container