Cara Menginstal dan Mendeploy Website Django di Ubuntu
0 people liked this article
A. Pendahuluan
Django merupakan salah satu framework web berbasis Python yang populer dan banyak digunakan untuk membangun aplikasi web berskala kecil hingga besar. Framework ini menawarkan fitur bawaan seperti sistem autentikasi, ORM (Object-Relational Mapping), serta struktur proyek yang terorganisir sehingga memudahkan proses pengembangan.
Pada artikel ini, akan dijelaskan langkah-langkah untuk melakukan instalasi dan deployment website berbasis Django di sistem operasi Ubuntu. Panduan ini mencakup persiapan environment Python, instalasi dependensi, serta pengaturan server web agar aplikasi Django dapat diakses melalui internet.
Dengan mengikuti panduan ini, diharapkan Anda dapat memahami proses standar deployment Django di Ubuntu sehingga aplikasi web dapat berjalan stabil, aman, dan siap digunakan dalam lingkungan produksi.
B. Persiapan
Sebelum melanjutkan menginstal dan mendeploy Website Django di Ubuntu pada OS Ubuntu, pada artikel kali ini memerlukan persiapan service yang dibutuhkan seperti:
1. Sistem Operasi : Pada artikel kali ini menggunakan Ubuntu 22.04 LTS.
2. Spesifikasi Minimum Server :
- CPU: 2 core atau lebih
- RAM: Minimal 4 GB (disarankan 8 GB untuk produksi)
- Disk: Minimal 20 GB kosong
- Akses root atau user dengan hak sudo
Setelah menyiapkan service yang diperlukan, maka dapat melanjutkan ke tahap selanjutnya yaitu instalasi Wazuh.
C. Instalasi dan deploy Website Django di Ubuntu
1. Perbarui sistem
Untuk memperbarui daftar paket dari repository agar sistem tahu versi terbaru dari paket-paket yang tersedia dan meng-upgrade semua paket yang bisa diperbarui ke versi terbaru tanpa konfirmasi pengguna (-y otomatis menjawab "yes") dapat menjalankan command berikut:
sudo apt update && sudo apt upgrade
2. Instalasi Python & Tool Pendukung
Setelah berhasil memperbarui daftar paket dari repository dan meng-upgrade semua paket, maka dapat melanjutkan instalasi Python & tool pendukung dengan menjalankan command:
apt install python3 python3-pip python3-venv
- python3 → menginstal interpreter Python versi 3.
- python3-pip → menginstal pip, package manager untuk Python (untuk install library seperti Django, Gunicorn, dsb.).
- python3-venv → menginstal modul untuk membuat virtual environment (lingkungan terisolasi agar tiap proyek Python punya library sendiri).
3. Membuat Virtual Environment
Jalankan perintah berikut untuk membuat virtual environment baru:
python3 -m venv venv
Perintah di atas akan membuat folder bernama venv
yang berisi file Python dan pip khusus untuk project ini.
4. Mengaktifkan Virtual Environment
Aktifkan environment dengan perintah:
source venv/bin/activate
- Prompt terminal berubah jadi (venv) → artinya environment aktif.
- Semua pip install ... hanya akan masuk ke environment ini.
5. Upgrade pip
Gunakan perintah berikut:
pip install --upgrade pip
6. Menginstal Django dan Gunicorn
Setelah virtual environment aktif, jalankan perintah berikut:
pip install django gunicorn
- Django → framework Python untuk membangun aplikasi web.
- Gunicorn → WSGI HTTP server yang digunakan untuk menjalankan aplikasi Django pada environment production.
7. Siapkan folder kemudian buat project dan app
Masuk ke direktori kerja (dapat disesuaikan jika sudah ada):
cd /home/kbdjango
Buat project bernama myproject
, lalu app utama core
:
django-admin startproject myproject
cd myproject
python manage.py startapp core
Daftarkan app core di INSTALLED_APPS
:
nano myproject/settings.py
Tambahkan/ pastikan:
INSTALLED_APPS = [
# app bawaan django...
'core',
]
8. Setting Dasar settings.py
Masih di myproject/settings.py
, sesuaikan beberapa hal penting:
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
# Saat pengujian awal boleh True, untuk production WAJIB False
DEBUG = True
ALLOWED_HOSTS = ['IP-SERVER', 'domainkamu.com', 'localhost']
# Static files
STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / 'static' # untuk collectstatic nanti
Catatan: Saat go-live, set DEBUG = False
, isi ALLOWED_HOSTS
dengan domain/IP yang valid.
9. Menjalankan Aplikasi Django dengan Gunicorn
Setelah menginstal Django dan Gunicorn di dalam virtual environment, langkah berikutnya adalah menjalankan aplikasi Django menggunakan Gunicorn. Hal ini dilakukan agar aplikasi dapat diakses melalui server HTTP production yang lebih stabil dibandingkan runserver
. Gunakan perintah berikut:
gunicorn --bind 0.0.0.0:8000 myproject.wsgi:application

Jika perintah berhasil dijalankan, output terminal akan menampilkan log Gunicorn. Akses aplikasi di browser melalui:
http://<IP_SERVER>:8000

10. Instal Paket PostgreSQL & Dependensi
Gunakan perintah berikut:
apt install postgresql postgresql-contrib libpq-dev
Catatan: Django memerlukan driver PostgreSQL di sisi Python. Gunakan salah satu:
pip install psycopg2-binary
Cek service:
systemctl status postgresql
11. Buat Database & User
Masuk ke shell PostgreSQL:
sudo -u postgres psql
Di dalam psql
, jalankan:
CREATE DATABASE myprojectdb;
CREATE USER myprojectuser WITH PASSWORD 'passwordku';
-- Opsional: set default konfigurasi role
ALTER ROLE myprojectuser SET client_encoding TO 'utf8';
ALTER ROLE myprojectuser SET default_transaction_isolation TO 'read committed';
ALTER ROLE myprojectuser SET timezone TO 'UTC';
-- Beri hak akses penuh ke DB
GRANT ALL PRIVILEGES ON DATABASE myprojectdb TO myprojectuser;
\q
Catatan:
- Gunakan password yang kuat (kombinasi huruf besar/kecil, angka, simbol).
- Untuk production, simpan kredensial di environment variables / file
.env
, bukan hard-code.
12. Konfigurasi Django (settings.py
)
Edit myproject/settings.py
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'myproject',
'USER': 'myprojectuser',
'PASSWORD': 'passwordku',
'HOST': 'localhost',
'PORT': '5432',
}
}
13. Migrasi Database
Jalankan:
python manage.py migrate
14. Buat Tampilan Awal (URL & View)
Buat view sederhana:
nano core/views.py
Isi:
from django.http import HttpResponse
def home(request):
return HttpResponse("Halo, Django siap di production!")
Tambahkan URL root:
nano myproject/urls.py
Isi:
from django.contrib import admin
from django.urls import path
from core.views import home
urlpatterns = [
path('admin/', admin.site.urls),
path('', home, name='home'),
]
15. Membuat File Service
Agar aplikasi Django dapat berjalan otomatis saat server direboot dan lebih mudah dikelola, Gunicorn dapat dijalankan sebagai service menggunakan systemd.
Buat file service baru dengan perintah:
nano /etc/systemd/system/gunicorn.service
Isi dengan konfigurasi berikut:
[Unit]
Description=Gunicorn daemon for Django project
After=network.target
[Service]
User=kbdjango
Group=www-data
WorkingDirectory=/home/kbdjango/myproject
ExecStart=/home/kbdjango/venv/bin/gunicorn --workers 3 --bind 127.0.0.1:8000 myproject.wsgi:application
Environment="PATH=/home/kbdjango/venv/bin"
Environment="DJANGO_SETTINGS_MODULE=myproject.settings"
[Install]
WantedBy=multi-user.target
Penjelasan:
- User → user Linux yang digunakan untuk menjalankan aplikasi (
kbdjango
). - Group → grup yang digunakan untuk izin file (
www-data
agar kompatibel dengan Nginx). - WorkingDirectory → lokasi folder project Django.
- ExecStart → perintah untuk menjalankan Gunicorn.
- Environment → environment variables untuk Gunicorn & Django.
- WantedBy → memastikan service dijalankan pada mode multi-user (default server mode).
16. Mengaktifkan Service
Setelah file dibuat, jalankan perintah berikut:
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
17. Mengecek Status Service
Gunakan perintah:
sudo systemctl status gunicorn
Jika berhasil, akan muncul status active (running)
yang menandakan Gunicorn sudah berjalan sebagai service.
18. Instal Nginx
Gunakan perintah:
apt install nginx
Cek status:
systemctl status nginx
19. Buat Konfigurasi Server Block
Buat file konfigurasi baru:
nano /etc/nginx/sites-available/myproject
Isi file dengan konfigurasi berikut:
server {
server_name namadomain.tld;
location /static/ {
alias /home/kbdjango/myproject/static/;
}
location /media/ {
alias /home/kbdjango/myproject/media/;
}
location / {
include proxy_params;
proxy_pass http://127.0.0.1:8000; # atau socket jika menggunakan unix socket
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/namadomain.tld/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/namadomain.tld/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = namadomain.tld) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name namadomain.tld;
return 404; # managed by Certbot
}
20. Instal & Konfigurasi Certbot (SSL)
Pada artikel panduan ini digunakan contoh SSL dari Certbot untuk mempermudah proses instalasi dan uji coba. Namun, untuk kebutuhan production, kami tidak menyarankan penggunaan SSL Certbot. Sebagai alternatif, silakan gunakan SSL bertipe wildcard apabila sertifikat akan digunakan secara bersamaan pada domain utama maupun seluruh subdomain terkait.
apt install certbot python3-certbot-nginx
Minta sertifikat SSL Let’s Encrypt:
certbot --nginx -d namadomain.tld
21. Aktifkan Site & Restart Nginx
Gunakan perintah:
sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled
sudo nginx -t
sudo systemctl restart nginx
D. Hasil Uji Coba
Setelah proses instal dan Mendeploy Website telah selesai, silakan akses aplikasi di browser di URL berikut :
https://namadomain.tld
Ganti namadomain.tld
dengan domain Anda. Setalah akses akan menampilkan tampilan dashboard berikut :

Selamat anda telah meyelesaikan instalasi dan deploy Website Django di Ubuntu 22.04 LTS.
E. Penutup.
Seluruh tahapan instalasi dan deploy Website Django pada Ubuntu 22.04 LTS telah berhasil diselesaikan dan diharapkan panduan ini dapat menjadi referensi dalam proses implementasi.
Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silakan hubungi Support Biznet GIO melalui email support@biznetgio.com atau live chat maupun WA ke website www.biznetgio.com dan bisa juga melalui telepon ke nomor (021) 5714567.
Popular Articles
-
Cara Install & Konfigurasi Monitoring Cacti Serta Mengetahui Fungsi Fitur Pada Cacti
10 people say this guide was helpful
-
Cara Mengaktifkan Telnet pada Windows 7, 8 dan 10
4 people say this guide was helpful
-
Install dan Konfigurasi Samba Server pada Ubuntu
2 people say this guide was helpful
-
Jenis-Jenis Software Virtualisasi untuk Membuat Virtual Machine
6 people say this guide was helpful