Cara Deploy Django 3 di Ubuntu 18.04
Dalam tutorial ini, kita akan membahas langkah-langkah untuk meng-deploy aplikasi Django 3 pada server Ubuntu 18.04. Tutorial ini ditujukan bagi Anda yang ingin memahami cara membuat server VPS, mengamankannya, dan melakukan deploy aplikasi Django. Mari kita mulai!
Prasyarat
- Server VPS dengan Ubuntu 18.04 terinstal.
- Akses SSH ke server.
- Pengetahuan dasar tentang perintah Linux.
- Instalasi Python 3 dan pip di server.
- Database PostgreSQL terinstal.
Langkah Utama
Membuat VPS
Anda dapat membuat VPS di penyedia layanan cloud pilihan Anda. Pastikan untuk memilih Ubuntu 18.04 sebagai sistem operasi.
Login ke Server
Gunakan SSH untuk login ke server Anda. Jika Anda telah mengatur kunci SSH, gunakan perintah berikut:
$ ssh root@YOUR_SERVER_IP
Menambahkan Pengguna Baru
Setelah login, buat pengguna baru untuk mencegah penggunaan akun root secara langsung:
# adduser djangoadmin
Tambahkan pengguna ke grup sudo agar mendapatkan hak akses administratif:
# usermod -aG sudo djangoadmin
Setup SSH untuk Pengguna Baru
Konfigurasi kunci SSH untuk pengguna baru dengan langkah-langkah berikut:
# su - djangoadmin
$ mkdir ~/.ssh
$ nano ~/.ssh/authorized_keys
Tempelkan kunci publik Anda ke dalam file ini, kemudian simpan dan keluar.
Menonaktifkan Login Root
Untuk keamanan lebih lanjut, edit file konfigurasi SSH:
# sudo nano /etc/ssh/sshd_config
Ubah baris berikut:
PermitRootLogin no
PasswordAuthentication no
Lalu reload layanan SSH:
# sudo systemctl reload sshd
Konfigurasi Firewall
Setelah mengatur akses dan keamanan, kita akan mengkonfigurasi firewall:
# sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
Instalasi Software
Update dan Instal Paket
Selanjutnya, kita perlu mengupdate paket dan menginstal beberapa software yang diperlukan:
# sudo apt update
sudo apt upgrade
sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib nginx curl
Setup Database PostgreSQL
Masuk ke shell PostgreSQL untuk membuat database dan pengguna:
# sudo -u postgres psql
Buat database dan pengguna baru dengan perintah berikut:
CREATE DATABASE real_estate;
CREATE USER dbadmin WITH PASSWORD 'abc123!';
ALTER ROLE dbadmin SET client_encoding TO 'utf8';
ALTER ROLE dbadmin SET default_transaction_isolation TO 'read committed';
ALTER ROLE dbadmin SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE real_estate TO dbadmin;
Keluar dari shell PostgreSQL:
\q
Virtual Environment
Untuk mengisolasi dependensi aplikasi Django, kita akan menggunakan virtual environment. Install virtualenv jika belum ada:
# pip3 install virtualenv
Buat dan aktifkan virtual environment untuk proyek Anda:
# mkdir ~/myproject
cd ~/myproject
virtualenv venv
source venv/bin/activate
Instalasi Django
Setelah virtual environment aktif, instal Django dan dependensi lainnya:
# pip install django psycopg2-binary
Anda dapat membuat proyek Django baru atau memindahkan proyek yang sudah ada ke server ini.
Konfigurasi Lanjutan
Menyiapkan Gunicorn
Install Gunicorn untuk menjalankan aplikasi Django:
# pip install gunicorn
Jalankan aplikasi menggunakan Gunicorn:
# gunicorn --bind 0.0.0.0:8000 myproject.wsgi:application
Menyiapkan Nginx
Install Nginx dan konfigurasikan untuk merutekan permintaan ke Gunicorn:
# sudo nano /etc/nginx/sites-available/myproject
Isi file dengan konfigurasi berikut:
server {
listen 80;
server_name YOUR_SERVER_IP;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/djangoadmin/myproject;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/djangoadmin/myproject.sock;
}
}
Aktifkan konfigurasi dan restart Nginx:
# sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled
sudo nginx -t
sudo systemctl restart nginx
Best Practices
- Pastikan untuk selalu memperbarui sistem dan paket yang digunakan.
- Gunakan HTTPS untuk mengamankan komunikasi antara server dan klien.
- Regularly back up database dan file penting Anda.
- Monitor penggunaan sumber daya server dan log untuk mendeteksi masalah lebih awal.
Troubleshooting
Jika Anda menghadapi masalah saat menjalankan aplikasi, periksa hal berikut:
- Pastikan Gunicorn berjalan dengan benar.
- Periksa konfigurasi Nginx dan pastikan tidak ada kesalahan sintaks.
- Lihat log Nginx dan Gunicorn untuk menemukan pesan kesalahan yang mungkin terjadi.
Kesimpulan
Dengan mengikuti langkah-langkah di atas, Anda sekarang berhasil meng-deploy aplikasi Django 3 di server Ubuntu 18.04. Anda telah mengatur pengguna, mengkonfigurasi database, dan mengatur server web untuk melayani aplikasi Anda. Jangan ragu untuk mengeksplorasi lebih lanjut dan menyesuaikan konfigurasi sesuai dengan kebutuhan proyek Anda.
Untuk bantuan lebih lanjut, Anda dapat menghubungi layanan konsultasi kami:
Konsultasi Jasa Setup SekarangVerifikasi Teknis
Panduan ini disusun berdasarkan referensi teknis terbaru. Namun, konfigurasi server dapat bervariasi. Lihat sumber referensi asli →