Hemat 15% untuk semua layanan hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode: Skills Memulai
Bagian FAQ
Administrasi Linux

Cara Menginstal Django di Server Hosting: Panduan Lengkap Langkah demi Langkah

Django adalah framework web Python tingkat tinggi yang dirancang untuk mendorong pengembangan cepat dan desain yang bersih serta pragmatis. Ini tetap menjadi salah satu pilihan paling populer untuk membangun aplikasi web yang scalable, aman, dan mudah dipertahankan — dari blog sederhana hingga platform enterprise yang kompleks. Dalam panduan komprehensif ini, kami akan memandu Anda melalui setiap langkah yang diperlukan untuk menginstal Django di server hosting, mulai dari menyiapkan lingkungan Linux Anda hingga menjalankan proyek pertama Anda dan mempersiapkannya untuk produksi.

Mengapa Memilih Django untuk Aplikasi Web Anda?

Sebelum mendalami proses instalasi, ada baiknya memahami mengapa Django terus mendominasi lanskap pengembangan web Python:

  • Batteries included: Django dilengkapi dengan autentikasi bawaan, panel admin, ORM, penanganan formulir, dan fitur keamanan langsung dari kotak.
  • Skalabilitas: Django mendukung platform lalu lintas tinggi seperti Instagram dan Pinterest.
  • Desain yang mengutamakan keamanan: Django melindungi dari kerentanan umum termasuk SQL injection, XSS, CSRF, dan clickjacking secara default.
  • Pengembangan cepat: Filosofi convention-over-configuration memungkinkan pengembang mengirimkan fitur lebih cepat.
  • Ekosistem besar: Ribuan paket yang dapat digunakan kembali dan komunitas besar berarti solusi untuk hampir setiap masalah sudah ada.

Untuk mendapatkan hasil maksimal dari Django, Anda memerlukan lingkungan server yang andal. Paket VPS Hosting memberi Anda akses root, sumber daya khusus, dan fleksibilitas yang diminta aplikasi Django.

Prasyarat

Sebelum Anda memulai proses instalasi, pastikan Anda memiliki hal-hal berikut:

  • Server hosting yang menjalankan distribusi Linux (Ubuntu 20.04/22.04 atau Debian direkomendasikan)
  • Akses SSH ke server dengan hak istimewa sudo
  • Python 3.8 atau lebih tinggi (Python 3.10+ direkomendasikan)
  • pip (manajer paket Python) terinstal
  • Keakraban dasar dengan baris perintah Linux

> Pro Tip: Jika Anda menjalankan aplikasi Django produksi, hindari lingkungan hosting bersama. Paket VPS Hosting atau Dedicated Server akan memberi Anda kontrol dan performa yang dibutuhkan aplikasi Anda.

Langkah 1: Terhubung ke Server Anda melalui SSH

Buka terminal Anda dan buat koneksi SSH ke server hosting Anda:

ssh username@server_ip

Ganti username dengan nama pengguna sistem aktual Anda dan server_ip dengan alamat IP publik server Anda. Jika Anda menggunakan port SSH khusus atau file autentikasi berbasis kunci, sesuaikan perintah sesuai kebutuhan:

ssh -i /path/to/your/key.pem username@server_ip

Setelah terhubung, Anda akan memiliki antarmuka baris perintah ke server Anda di mana Anda dapat memulai proses penyiapan.

Langkah 2: Perbarui Sistem Anda dan Instal Python & pip

Menjaga paket sistem Anda tetap terbaru adalah langkah pertama yang penting untuk keamanan dan kompatibilitas.

Perbarui Indeks Paket

sudo apt update && sudo apt upgrade -y

Instal Python 3 dan pip

Sebagian besar distribusi Ubuntu dan Debian modern dilengkapi dengan Python 3 yang sudah terinstal sebelumnya. Verifikasi versi Python Anda terlebih dahulu:

python3 --version

Jika Python 3 tidak terinstal, atau Anda memerlukan pip, instal keduanya dengan:

sudo apt install python3 python3-pip -y

Verifikasi instalasi:

python3 --version
pip3 --version

Anda harus melihat nomor versi yang mengonfirmasi kedua alat tersebut tersedia.

Langkah 3: Siapkan Python Virtual Environment

Menggunakan virtual environment bukan hanya direkomendasikan — ini dianggap best practice untuk setiap proyek Python. Virtual environment mengisolasi dependensi proyek Anda dari instalasi Python sistem dan dari proyek lain di server yang sama, mencegah konflik versi dan menjaga lingkungan Anda tetap bersih.

Instal virtualenv

sudo pip3 install virtualenv

Alternatifnya, Anda dapat menggunakan modul venv bawaan Python (tersedia di Python 3.3+):

sudo apt install python3-venv -y

Buat Direktori Proyek dan Virtual Environment Anda

Navigasikan ke direktori tempat Anda ingin menghosting proyek Anda, atau buat yang baru:

mkdir myproject
cd myproject

Sekarang buat virtual environment di dalam direktori proyek Anda:

virtualenv venv

Atau, menggunakan modul venv bawaan:

python3 -m venv venv

Aktifkan Virtual Environment

source venv/bin/activate

Setelah diaktifkan, prompt perintah Anda akan berubah untuk menampilkan nama virtual environment, misalnya:

(venv) username@server:~/myproject$

Semua perintah pip install yang dijalankan saat virtual environment aktif akan menginstal paket hanya dalam lingkungan terisolasi ini. Untuk menonaktifkannya kapan saja, cukup jalankan:

deactivate

Langkah 4: Instal Django

Dengan virtual environment Anda aktif, instal Django menggunakan pip:

pip install django

Untuk menginstal versi spesifik Django (direkomendasikan untuk produksi guna memastikan kompatibilitas):

pip install django==4.2

Verifikasi instalasi:

django-admin --version

Anda harus melihat nomor versi Django yang terinstal dicetak ke terminal.

Langkah 5: Buat Proyek Django Baru

Gunakan alat baris perintah bawaan Django django-admin untuk membuat rangka proyek baru:

django-admin startproject myproject .

> Catatan: Titik di akhir (.) memberi tahu Django untuk membuat file proyek di direktori saat ini daripada membuat subdirektori bersarang. Ini adalah struktur yang lebih bersih untuk sebagian besar deployment.

Direktori proyek Anda sekarang akan berisi struktur berikut:

myproject/
├── manage.py
└── myproject/
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py
  • manage.py — Utilitas baris perintah untuk berinteraksi dengan proyek Django Anda.
  • settings.py — File konfigurasi pusat untuk proyek Anda.
  • urls.py — Konfigurasi perutean URL.
  • wsgi.py / asgi.py — Titik masuk untuk server web yang kompatibel dengan WSGI dan ASGI.

Langkah 6: Konfigurasi Pengaturan Database

Buka file settings.py untuk mengkonfigurasi koneksi database Anda:

nano myproject/settings.py

Default: SQLite (Hanya Pengembangan)

Secara default, Django dikonfigurasi untuk menggunakan SQLite, yang cocok untuk pengembangan dan pengujian tetapi tidak direkomendasikan untuk produksi:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

Opsi Produksi: PostgreSQL

PostgreSQL adalah database yang paling sering direkomendasikan untuk Django dalam produksi. Pertama, instal paket yang diperlukan:

sudo apt install postgresql postgresql-contrib libpq-dev -y
pip install psycopg2-binary

Kemudian perbarui pengaturan DATABASES di settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'myuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

Opsi Produksi: MySQL / MariaDB

Jika Anda lebih suka MySQL atau MariaDB, instal adapter yang diperlukan:

sudo apt install default-libmysqlclient-dev -y
pip install mysqlclient

Kemudian konfigurasi pengaturan DATABASES:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase',
        'USER': 'myuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

Konfigurasi ALLOWED_HOSTS

Saat berada di settings.py, juga perbarui pengaturan ALLOWED_HOSTS untuk menyertakan alamat IP atau nama domain server Anda. Ini diperlukan agar Django melayani permintaan dalam mode non-debug:

ALLOWED_HOSTS = ['your_server_ip', 'yourdomain.com', 'www.yourdomain.com']

Langkah 7: Terapkan Migrasi Database

Django menggunakan sistem migrasi untuk mengelola perubahan skema database. Jalankan migrasi awal untuk membuat semua tabel database yang diperlukan:

python manage.py migrate

Anda akan melihat output yang mencantumkan setiap migrasi yang diterapkan. Migrasi yang berhasil terlihat seperti:

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  ...

Buat Superuser (Opsional tetapi Direkomendasikan)

Buat akun admin untuk mengakses antarmuka admin bawaan Django:

python manage.py createsuperuser

Anda akan diminta untuk memasukkan nama pengguna, alamat email, dan kata sandi.

Langkah 8: Jalankan Server Pengembangan Django

Anda sekarang dapat memulai server pengembangan bawaan Django untuk memverifikasi instalasi Anda:

python manage.py runserver 0.0.0.0:8000

Perintah ini mengikat server pengembangan ke semua antarmuka jaringan yang tersedia di port 8000. Buka browser web Anda dan navigasikan ke:

http://your_server_ip:8000

Anda akan melihat halaman sambutan Django — kapal roket dengan pesan "The install worked successfully! Congratulations!"

Untuk mengakses panel admin, navigasikan ke:

http://your_server_ip:8000/admin

> Penting: Server pengembangan bawaan Django tidak cocok untuk produksi. Ini adalah single-threaded, tidak dioptimalkan untuk kinerja, dan kurang pengerasan keamanan. Selalu gunakan server web tingkat produksi untuk penyebaran langsung.

Langkah 9: Persiapkan Django untuk Produksi (Direkomendasikan)

Untuk deployment produksi, Anda perlu mengonfigurasi stack web server yang tepat. Setup yang paling umum dan direkomendasikan adalah Nginx + Gunicorn.

Instal Gunicorn

Dengan virtual environment Anda aktif:

pip install gunicorn

Uji bahwa Gunicorn dapat melayani aplikasi Anda:

gunicorn --bind 0.0.0.0:8000 myproject.wsgi

Instal dan Konfigurasi Nginx

sudo apt install nginx -y

Buat file konfigurasi server block Nginx:

sudo nano /etc/nginx/sites-available/myproject

Tambahkan konfigurasi berikut:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    location = /favicon.ico { access_log off; log_not_found off; }

    location /static/ {
        root /home/username/myproject;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.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

Kumpulkan File Statis

Perbarui settings.py dengan direktori file statis:

STATIC_ROOT = BASE_DIR / 'staticfiles'

Kemudian kumpulkan semua file statis:

python manage.py collectstatic

Amankan Aplikasi Anda dengan SSL

Untuk aplikasi Django produksi apa pun, HTTPS tidak dapat ditawar. Sertifikat SSL mengenkripsi data dalam transit antara server Anda dan pengguna Anda, melindungi informasi sensitif, dan diperlukan untuk indikator kepercayaan browser modern. AlexHost menawarkan sertifikat SSL yang terintegrasi dengan mulus dengan lingkungan hosting Anda.

Pertimbangan Produksi Tambahan

Variabel Lingkungan untuk Pengaturan Sensitif

Jangan pernah hardcode nilai sensitif seperti SECRET_KEY, password database, atau API key di settings.py. Gunakan variabel lingkungan sebagai gantinya:

pip install python-decouple

Di settings.py:

from decouple import config

SECRET_KEY = config('SECRET_KEY')
DEBUG = config('DEBUG', default=False, cast=bool)

Atur DEBUG ke False di Produksi

DEBUG = False

Menjalankan dengan DEBUG = True di produksi mengekspos halaman error terperinci dan informasi konfigurasi sensitif kepada penyerang potensial.

Konfigurasi Nama Domain

Jika Anda belum mendaftarkan domain untuk proyek Django Anda, Pendaftaran Domain melalui AlexHost memudahkan untuk mengarahkan domain Anda ke server dengan cepat, dengan manajemen DNS lengkap disertakan.

Memilih Hosting yang Tepat untuk Aplikasi Django Anda

Lingkungan hosting yang Anda pilih memiliki dampak signifikan pada performa, keandalan, dan skalabilitas aplikasi Django Anda. Berikut adalah panduan cepat:

Kasus PenggunaanHosting yang Direkomendasikan
Pengembangan & pengujianShared Web Hosting
Aplikasi produksi kecil hingga menengahVPS Hosting
Aplikasi dengan lalu lintas tinggi atau intensif sumber dayaDedicated Servers
Aplikasi Django terintegrasi machine learning / AIGPU Hosting

Untuk sebagian besar proyek Django yang masuk ke produksi, paket VPS Hosting menawarkan keseimbangan ideal antara performa, kontrol, dan efektivitas biaya. Anda mendapatkan akses root, kemampuan untuk menginstal stack perangkat lunak apa pun, dan sumber daya khusus yang tidak dapat disediakan oleh shared hosting.

Troubleshooting Common Django Installation Issues

pip: command not found

Install pip manually: sudo apt install python3-pip -y

django-admin: command not found

Virtual environment Anda mungkin tidak diaktifkan. Jalankan source venv/bin/activate dan coba lagi.

Port 8000 Tidak Dapat Diakses

Periksa aturan firewall server Anda. Di Ubuntu dengan UFW:

sudo ufw allow 8000
sudo ufw reload

Koneksi Database Ditolak

Verifikasi bahwa layanan database Anda sedang berjalan:

sudo systemctl status postgresql
# or
sudo systemctl status mysql

ALLOWED_HOSTS Error

Pastikan alamat IP server atau nama domain Anda tercantum dalam pengaturan ALLOWED_HOSTS di settings.py.

Kesimpulan

Anda telah berhasil menginstal Django di server hosting Anda, mengonfigurasi lingkungan virtual, menyiapkan database Anda, dan mempelajari cara mempersiapkan aplikasi Anda untuk produksi. Kumpulan fitur lengkap Django, standar keamanan yang kuat, dan ekosistem yang luas menjadikannya pilihan yang sangat baik untuk proyek pengembangan web dalam skala apa pun.

Untuk penyebaran produksi, selalu gunakan tumpukan server web yang tepat (Nginx + Gunicorn atau Apache + uWSGI), atur DEBUG = False, amankan aplikasi Anda dengan Sertifikat SSL, dan pilih lingkungan hosting yang sesuai dengan persyaratan sumber daya aplikasi Anda. Baik Anda memulai proyek baru atau menskalakan proyek yang sudah ada, VPS Hosting dan paket Server Dedicated AlexHost memberikan performa, keandalan, dan fleksibilitas yang layak dimiliki aplikasi Django Anda.