Cara Membuat Website Dengan Django

Ryo Suwito - Contributor

: | : 16 February 2018 | Programming

Cara Membuat Website Dengan Django

Cara Membuat Website Dengan Django

: | : 16 February 2018 | Programming
Tags | Django | Linux User | Virtualenv

*Penting : Sebelum Memulai

Saya mengasumsikan bahwa kamu telah mengikuti tutorial dari tahap pertama, dan seterusnya. Saya juga mengasumsikan bahwa kamu memiliki sebuah server (VPS/ Virtual Private Server) atau sebuah PC berbasis Linux dan kamu memiliki akses root. Jika kamu belum memiliki VPS, kamu bisa mendapatkan gratis $10 untuk VPS DigitalOcean dengan mendaftar di sini. Setelah mendaftar kamu dapat menggunakan saldo $10 gratis untuk menyewa VPS selama 2 bulan ke depan.

Disini saya mengasumsikan bahwa kamu menggunakan VPS/ PC berbasis Linux dengan OS Debian 7 atau diatasnya seperti Ubuntu dan LinuxMint.

Selain itu, jika kamu memakai VPS, kamu juga harus mempunyai domain yang mengarah ke IP publik VPS kamu. Untuk keperluan tutorial, disini saya pakai domain websaya.com.


Langkah 3. Membuat User Aplikasi dan User Group

Walaupun Django memiliki catatan keamanan digital yang baik, sebuah aplikasi website bisa terkena hack oleh pihak luar. Jika user sebuah aplikasi memiliki hak akses yang terbatas terhadap sumberdaya di server kita, kerusakan yang dapat terjadi akibat tindakan hacking pihak luar pun menjadi terbatas. Oleh karena itu, aplikasi website kita haruslah dijalankan oleh user biasa dengan kewenangan yang terbatas.

Sekali lagi, buka terminal di PC atau login via SSH ke server kita jika menggunakan VPS. Buatlah useruntuk aplikasi website kita, untuk contoh ini kita beri nama ryodan masukan user tersebut kedalam sebuah grup yang bernama webapps.

$ sudo groupadd --system webapps
$ sudo useradd --system --gid webapps --shell /bin/bash --home /webapps/web_admin ryo

Penjelasan: pertama kita membuat sebuah grup pada system linux yang kita pakai, grup tersebut bernama webapps. Kemudian kita menambahkan user bernama ryo yang memiliki folder home di /webapps/webadmin, kemudian kita masukan user ryo ke dalam grup webapps.

 


Langkah 4. Install Virtualenv dan Membuat Sebuah Environment Untuk Website Kita

Virtualenv adalah sebuah program linux yang memungkinkan kita untuk membuat environment Python yang terpisah dari environment di sistem. Sebagai gambaran, misalkan saat ini kita membuat website dengan Django versi 1.5 kemudian beberapa tahun kemudian di VPS yang sama kita ingin membuat website dengan Django versi 2.1, jika kita tidak menggunakan virtualenv kedua aplikasi website tersebut akan konflik dan kemungkinan menghasilkan error. Untuk itu kita perlu memisahkan setiap aplikasi web yang kita buat satu sama lain dan membuat environment yang berbeda satu sama lain agar tidak terjadi konflik antar aplikasi web di kemudian hari.

Untuk menginstall virtualenv cukup ketik :

$ sudo aptitude install python-virtualenv

Setelah selesai proses instalasi, kita harus mengaktifkan virtualenv untuk aplikasi website kita. Pertama tama kita harus membuat direktori home untuk user aplikasi yang baru saja kita buat :

$ sudo mkdir -p /webapps/web_admin/
$ sudo chown ryo /webapps/web_admin/

Penjelasan : Disini kita membuat sebuah direktori atau folder dengan nama web_admin, kemudian kita memberikan folder tersebut ke user ryo. Harap diingat bahwa nama folder ini harus sama dengan yang kita masukan pada langkah ke 3 sebelumnya.


Selanjutnya kita switch ke user ryo untuk mengaktifkan virtualenv di folder web_admintersebut :

$ sudo su ryo
ryo@django:~$ cd /webapps/web_admin/
ryo@django:~$ virtualenv .

New python executeable in webadmin/bin/python
Installing distribute .......................done.
Installing pip..................................done.

ryo@django:~$ source bin/activate
(ryo)ryo@django:~$

Langkah 5. Menginstall Django dan Membuat Project Baru

Saat ini virtualenv kita sudah aktif dan kita bisa melanjutkan dengan menginstall Django ke dalamnya.

(ryo)ryo@django:~$ pip install django

Downloading/unpacking django
(...)
Installing collected packages: django
(...)
Successfully installed django
Cleaning up...

Environment kita telah siap dan Django telah siap kita gunakan. Untuk memulainya, buatlah sebuah project Django kosong dengan nama web_saya atau nama apapun yang ingin kita pakai :

(ryo)ryo@django:~$ django-admin.py startproject web_saya

Selanjutnya bisa kita tes apakah website kita berjalan dengan baik dengan cara :

(ryo)ryo@django:~$ cd web_saya  (ganti web_saya dengan nama project yang baru saja kamu masukan)
(ryo)ryo@django:~$ python manage.py runserver 127.0.0.1:8000
Validating models...

0 errors found
February 16, 2018 - 12:06:00
Django version 1.5.1 using settings 'web_saya.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C

Saat ini kita telah selesai menjalankan django dan kamu bisa melihat server yang baru saja kita buat dengan mengunjungi  http://127.0.0.1:8000/.


Langkah 6. Mengatur Hak User Untuk Direktori Aplikasi Website (Opsional)

Aplikasi website kita akan dijalankan oleh user bernamaryo, yaitu user yang telah kita buat di langkah ke-3. User ini memiliki hak akses untuk semua isi dari direktori /webapps/web_admin. Jika kamu ingin user biasa mengubah dokumen aplikasi website yang ada di direktori tersebut, kamu bisa mengatur grup pemilik dari direktori tersebut ke users dan berikan grup tersebut hak untuk melakukan operasi write.

$ sudo chown -R ryo:users /webapps/web_admin
$ sudo chmod -R g+w /webapps/web_admin

Setelah itu kamu tambahkan user biasa kamu kedalam grup users dengan cara :

$ sudo usermod -a -G users `whoami`

(perhatikan tanda petik adalah yang ada di sebelah angka 1 pada keyboard).
Grup tersebut akan ditambahkan setelah kamu login ulang ke dalam sistem linux.


Pada tahap selanjutnya kita akan mengkonfigurasi project Django kita agar dapat bekerja dengan database PostgreSQL yang telah kita buat sebelumnya, serta menginstall dan mengatur Gunicorn.


Jika ada ERROR atau masalah jangan ragu ragu untuk meninggalkan komentar. Atau kalau kamu mau respon yang lebih cepat, bisa follow . Silahkan komentar disana kita diskusi jika saya ada waktu senggang.

Saya harap satu rakyat Indonesia menjadi sedikit lebih pandai setelah membaca artikel ini. 

Share to your friends !


Powered by: