Menginstal dan Mengonfigurasi Kerangka Web Django dengan Lingkungan Virtual di CentOS/Debian - Bagian 1


“Artikel ini direvisi dan diperbarui dengan versi terbaru Django – Mei 2016”

Sekitar 20 tahun yang lalu ketika World Wide Web masih dalam tahap awal, memiliki situs web pribadi atau bisnis hampir merupakan suatu kemewahan yang langka. Dengan perkembangan selanjutnya dari beberapa teknologi web dan pengenalan konten dinamis yang disediakan oleh kombinasi program sisi server dan database, perusahaan tidak lagi puas dengan memiliki situs web statis.

Dengan demikian, aplikasi web menjadi kenyataan – program dalam arti sebenarnya berjalan di atas server web dan dapat diakses melalui browser web.

Untuk membuat pengembangan lebih mudah dan efektif, kerangka web dirancang untuk membantu pemrogram dalam upaya mereka membuat aplikasi. Singkatnya, kerangka web menangani fungsi inti umum dalam proses pengembangan seperti menangani manajemen sesi pengguna, interaksi dengan database, dan praktik yang baik dalam memisahkan logika bisnis dari logika tampilan, dan masih banyak lagi.

Dalam seri Django 3-artikel ini, kami akan memperkenalkan Anda pada Django, kerangka web populer berdasarkan Python. Oleh karena itu, disarankan setidaknya sedikit pemahaman dengan bahasa pemrograman ini, tetapi jika Anda memiliki sedikit atau tidak sama sekali pengalaman dengannya, kami juga akan memandu Anda melalui dasar-dasarnya.

Menginstal Django di Server CentOS dan Debian

Meskipun Anda dapat menginstal Django dari Debian (v1.7.7: dukungan tambahan akan dihentikan pada Desember 2015) dan Fedora EPEL (v1.6.11: dukungan yang diperluas dihentikan pada repositori April 2015), versi yang tersedia bukan rilis LTS (Dukungan Jangka Panjang) stabil terbaru (v1.8.13, per Mei 2016).

Dalam tutorial ini kami akan menunjukkan kepada Anda cara menginstal Django v1.8.13 karena perpanjangan dukungannya dijamin hingga setidaknya bulan April 2018.

Metode yang disarankan untuk menginstal Django adalah melalui pip, sebuah alat populer untuk mengelola paket Python. Selain itu, untuk menciptakan lingkungan Python yang terisolasi dan menghindari konflik antar proyek yang mungkin memerlukan versi ketergantungan perangkat lunak yang berbeda, penggunaan lingkungan virtual sangat dianjurkan.

Alat yang digunakan untuk membuat dan mengelola lingkungan virtual Python disebut virtualenv.

Ikuti langkah-langkah berikut untuk melakukan instalasi:

1. Untuk distribusi berbasis Fedora (kecuali di Fedora itu sendiri), aktifkan repositori EPEL terlebih dahulu:

yum update && yum install epel-release

2. Instal pip dan virtualenv:

Distro berbasis Fedora:

yum install python-pip python-virtualenv
OR 
dnf install python-pip python-virtualenv
Debian dan turunannya:
aptitude update && aptitude install python-pip virtualenv

3. Buat direktori untuk menyimpan proyek awal Anda.

mkdir ~/myfirstdjangoenv
cd ~/myfirstdjangoenv

4. Membuat dan mengaktifkan lingkungan virtual:

virtualenv myfirstdjangoenv

Perintah di atas membuat banyak file dan subdirektori ke dalam ~/myfirstdjangoenv dan pada dasarnya menginstal salinan lokal Python dan pip dalam direktori kerja saat ini . Selanjutnya, kita perlu mengaktifkan lingkungan virtual yang baru saja kita buat:

source myfirstdjangoenv/bin/activate

5. Perhatikan bagaimana command prompt berubah setelah perintah terakhir. Sekarang waktunya untuk menginstal Django:

Perhatikan bahwa tangkapan layar di bawah ini diambil pada versi sebelumnya dari tutorial ini, namun keluaran yang diharapkan sama ketika memasang Django 1.8.13 ):


pip install Django==1.8.13

Anda dapat memeriksa versi Django dengan meluncurkan shell Python dari direktori kerja Anda saat ini:

python
>>> import django
>>> print(django.get_version())

(Sekali lagi, perintah di atas harus mengembalikan 1.8.13 ketika memeriksa versi Django saat ini).

Untuk keluar dari perintah Python, ketik:

>>> exit() 

dan tekan Masuk. Selanjutnya, matikan lingkungan virtual:

deactivate

Harap dicatat bahwa sementara lingkungan virtual tetap dinonaktifkan, Django tidak tersedia:

Cara Membuat Proyek Pertama di Django

Untuk membuat proyek dalam lingkungan virtual yang kita buat sebelumnya, proyek tersebut perlu diaktifkan:

source myfirstdjangoenv/bin/activate

Selanjutnya, kerangka kerja akan membuat seluruh struktur direktori untuk menyimpan proyek Anda. Untuk melakukan ini, Anda harus berlari.

django-admin startproject myfirstdjangoproject

Perintah di atas akan membuat direktori bernama myfirstdjangoproject di dalam direktori kerja Anda saat ini.

di mana Anda akan menemukan file bernama manage.py (sebuah utilitas yang akan membantu Anda mengelola proyek Anda nanti) dan subdirektori lain (~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject). Subdirektori terakhir ini akan berfungsi sebagai wadah untuk file proyek.

Meskipun file-file lainnya akan masuk akal setelah kita meninjau beberapa Python untuk mulai menulis aplikasi web yang sebenarnya, ada baiknya untuk mencatat file-file utama yang akan ditemukan di dalam direktori kontainer proyek:

  1. myfirstdjangoproject/__init__.py: File kosong ini memberitahu Python bahwa direktori ini harus dianggap sebagai paket Python.
  2. myfirstdjangoproject/settings.py: Pengaturan khusus untuk proyek Django ini.
  3. myfirstdjangoproject/urls.py: TOC (Daftar Isi) dari situs Anda yang didukung Django.
  4. myfirstdjangoproject/wsgi.py: Titik masuk bagi server web yang kompatibel dengan WSGI untuk melayani proyek Anda.
ls 
ls -l myfirstdjangoproject
ls -l myfirstdjangoproject/myfirstdjangoproject

Selain itu, Django mempunyai server web bawaan yang ringan (ditulis dalam Python mirip dengan Python SimpleHTTP, apa lagi?) yang dapat digunakan untuk menguji aplikasi Anda selama pengembangan proses tanpa harus berurusan dengan tugas pengaturan server web pada tahap khusus ini.

Namun, perlu Anda ketahui bahwa ini tidak cocok untuk lingkungan produksi – hanya untuk pengembangan. Untuk meluncurkan proyek yang baru Anda buat, ubah direktori kerja Anda saat ini ke direktori kontainer untuk proyek Anda (~/myfirstdjangoenv/myfirstdjangoproject) dan jalankan:

python manage.py runserver 0.0.0.0:8000

Jika Anda mengalami kesalahan berikut:

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

Lakukan apa yang tertulis:

python manage.py migrate

dan kemudian mulai server lagi:

python manage.py runserver 0.0.0.0:8000

Kami akan membahas konsep migrasi di artikel berikutnya dalam seri ini, sehingga Anda dapat mengabaikan pesan kesalahan untuk sementara waktu.

Bagaimanapun, Anda dapat mengubah port default tempat server web internal akan mendengarkan. Dengan menggunakan 0.0.0.0 sebagai antarmuka jaringan untuk mendengarkan, kami mengizinkan komputer lain di jaringan yang sama untuk mengakses antarmuka pengguna proyek (jika Anda menggunakan 127.0.0.1 sebagai gantinya, Anda hanya dapat mengakses UI dari localhost).

Anda juga dapat mengubah port ke port lain yang Anda pilih, namun Anda juga harus memastikan bahwa lalu lintas melalui port tersebut diizinkan melalui firewall Anda:

firewall-cmd --add-port=8000/tcp
firewall-cmd --permanent --add-port=8000/tcp

Tentu saja, Anda perlu memperbarui port yang diizinkan jika Anda memilih untuk menggunakan port lain saat meluncurkan server web ringan.

Anda akan melihat output berikut di terminal Anda:

python manage.py runserver 0.0.0.0:8000

Pada titik ini, Anda dapat membuka browser web favorit Anda dan menavigasi ke alamat IP mesin di mana Anda menginstal Django diikuti dengan nomor port. Dalam kasus saya, ini adalah kotak Debian Jessie dengan IP 192.168.0.25 dan mendengarkan pada port 8000:

http://192.168.0.25:8000

Meskipun merupakan suatu hal yang luar biasa bahwa kami dapat menyelesaikan pengaturan awal sebuah proyek, masih banyak pekerjaan yang harus dilakukan, seperti yang ditunjukkan dalam pesan di atas.

Ringkasan

Dalam panduan ini kami telah menjelaskan cara menginstal dan mengkonfigurasi lingkungan virtual untuk Django, kerangka web sumber terbuka serbaguna berdasarkan Python.

Terlepas dari apakah Anda seorang pengembang aplikasi atau administrator sistem, Anda pasti ingin menandai artikel ini dan seri lainnya karena kemungkinan besar suatu saat Anda perlu mempertimbangkan kebutuhan alat tersebut untuk tugas sehari-hari Anda.

Dalam artikel berikut dari seri ini kita akan membahas bagaimana membangun apa yang telah kita capai untuk membuat aplikasi web yang sederhana namun fungsional menggunakan Django dan Python.

Seperti biasa, jangan ragu untuk mengirimkan pesan kepada kami jika Anda memiliki pertanyaan tentang artikel ini atau saran untuk perbaikan. Kami menantikan kabar dari Anda!