indoglobal.com
Langsung ke: navigasi, cari

Django

(Perbedaan revisi)
 
(3 revisi antara oleh satu pengguna tak ditampilkan)
Baris 5: Baris 5:
 
Sebelum memulai, pastikan di server tempat akun anda diletakkan sudah terinstal versi Python yang diperlukan. Untuk mengetahui versi Python yang dibutuhkan Django, silakan baca [https://docs.djangoproject.com/en/1.8/faq/install/#what-python-version-can-i-use-with-django FAQ Django]. Jika di sistem belum terinstal versi Python yang dibutuhkan, silakan hubungi tim dukungan teknis kami untuk diinstalkan.
 
Sebelum memulai, pastikan di server tempat akun anda diletakkan sudah terinstal versi Python yang diperlukan. Untuk mengetahui versi Python yang dibutuhkan Django, silakan baca [https://docs.djangoproject.com/en/1.8/faq/install/#what-python-version-can-i-use-with-django FAQ Django]. Jika di sistem belum terinstal versi Python yang dibutuhkan, silakan hubungi tim dukungan teknis kami untuk diinstalkan.
  
Tulisan ini mengasumsikan anda menggunakan Python 3.4.
+
Tulisan ini mengasumsikan anda menggunakan Python 3.8
  
 
==Setup virtualenv==
 
==Setup virtualenv==
  
 
Login ke akun anda melalui shell (SSH atau web based terminal kami), dan jalankan perintah berikut ini.
 
Login ke akun anda melalui shell (SSH atau web based terminal kami), dan jalankan perintah berikut ini.
 +
 +
Untuk Python 3.8:
 +
 +
<source lang="bash">
 +
mkdir .env
 +
/opt/python-3.8/bin/python3.8 -m venv .env/python-3.8
 +
</source>
 +
 +
Perintah tersebut akan membuat virtualenv di directory ~/.env/python-3.4. Sekarang anda memiliki instalasi Python 3.4 di directory tersebut.
 +
 +
(informasi usang) Untuk Python 3 versi lama:
  
 
<source lang="bash">
 
<source lang="bash">
Baris 17: Baris 28:
 
</source>
 
</source>
  
Perintah tersebut akan membuat virtualenv di directory ~/.env/python-3.4. Sekarang anda memiliki instalasi Python 3.4 di directory tersebut.
+
(informasi usang) Untuk Python 2:
  
{{alert|content=Untuk Python 2, perintah yang sesuai adalah 'virtualenv', bukan 'pyvenv'}}
+
<source lang="bash">
 +
$ mkdir .env
 +
$ cd .env
 +
$ virtualenv python-3.4
 +
</source>
 +
 
 +
Perintah tersebut akan membuat virtualenv di directory ~/.env/python-3.4. Sekarang anda memiliki instalasi Python 3.4 di directory tersebut.
  
 
==Aktifkan virtualenv Pada Sesi Login Anda==
 
==Aktifkan virtualenv Pada Sesi Login Anda==
Baris 26: Baris 43:
  
 
<source lang="bash">
 
<source lang="bash">
source ~/.env/python-3.4/bin/activate
+
source ~/.env/python-3.8/bin/activate
 
</source>
 
</source>
  
Baris 38: Baris 55:
 
$ pip install flup6
 
$ pip install flup6
 
$ pip install django
 
$ pip install django
 +
$ pip install django-fastcgi-server
 
</source>
 
</source>
  
Baris 48: Baris 66:
 
$ cd ~/projects
 
$ cd ~/projects
 
$ django-admin.py startproject myproject
 
$ django-admin.py startproject myproject
$ cd ~/env/python-3.4/lib/python3.4/site-packages/
+
$ cd ~/env/python-3.8/lib/python3.4/site-packages/
 
$ ln -s ~/projects/myproject/myproject
 
$ ln -s ~/projects/myproject/myproject
 
</source>
 
</source>
Baris 58: Baris 76:
 
<source lang="bash">
 
<source lang="bash">
 
$ python
 
$ python
Python 3.4.3 (default, Jun  2 2015, 13:59:03)  
+
Python 3.8.3 (default, Jun  5 2020, 13:18:07)  
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux
+
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
 
Type "help", "copyright", "credits" or "license" for more information.
 
Type "help", "copyright", "credits" or "license" for more information.
 
>>> import django
 
>>> import django
Baris 73: Baris 91:
  
 
<source lang="python">
 
<source lang="python">
#!/home1/username/.env/python-3.4/bin/python
+
#!/home/username/.env/python-3.8/bin/python
  
 
import sys, os
 
import sys, os
sys.path.insert(0, '/home1/username/.env/python-3.4/site-packages')
+
 
 +
sys.path.insert(0, '/home/username/.env/python-3.8/lib/python3.8/site-packages')
 +
os.chdir('/home/username/projects/myproject/myproject')
 
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
 
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
from django.core.servers.fastcgi import runfastcgi
+
 
runfastcgi(method="threaded", daemonize="false")
+
from django_fastcgi.servers.fastcgi import runfastcgi
 +
from django.core.servers.basehttp import get_internal_wsgi_application
 +
 
 +
wsgi_application = get_internal_wsgi_application()
 +
runfastcgi(wsgi_application, method="threaded", daemonize="false", minspare=1, maxspare=1, maxchildren=1)
 
</source>
 
</source>
  

Revisi terkini pada 5 Juni 2020 13.41

Anda dapat menggunakan virtualenv untuk menginstall Django di akun hosting indoglobal.com.

Daftar isi

[sunting] Persiapan

Sebelum memulai, pastikan di server tempat akun anda diletakkan sudah terinstal versi Python yang diperlukan. Untuk mengetahui versi Python yang dibutuhkan Django, silakan baca FAQ Django. Jika di sistem belum terinstal versi Python yang dibutuhkan, silakan hubungi tim dukungan teknis kami untuk diinstalkan.

Tulisan ini mengasumsikan anda menggunakan Python 3.8

[sunting] Setup virtualenv

Login ke akun anda melalui shell (SSH atau web based terminal kami), dan jalankan perintah berikut ini.

Untuk Python 3.8:

mkdir .env
/opt/python-3.8/bin/python3.8 -m venv .env/python-3.8

Perintah tersebut akan membuat virtualenv di directory ~/.env/python-3.4. Sekarang anda memiliki instalasi Python 3.4 di directory tersebut.

(informasi usang) Untuk Python 3 versi lama:

$ mkdir .env
$ cd .env
$ pyvenv-3.4 python-3.4

(informasi usang) Untuk Python 2:

$ mkdir .env
$ cd .env
$ virtualenv python-3.4

Perintah tersebut akan membuat virtualenv di directory ~/.env/python-3.4. Sekarang anda memiliki instalasi Python 3.4 di directory tersebut.

[sunting] Aktifkan virtualenv Pada Sesi Login Anda

Sekarang aktifkan virtualenv yang telah anda buat.

source ~/.env/python-3.8/bin/activate

Setelah perintah tersebut dijalankan, maka sesi login anda saat itu akan menggunakan Python 3.4.

Perhatian
Anda perlu menjalankan perintah ini setiap kali ingin menggunakan versi Python tersebut untuk mengelola instalasi Django melalui shell

[sunting] Instal Paket Yang Dibutuhkan

$ pip install flup6
$ pip install django
$ pip install django-fastcgi-server

Perhatian
Untuk Python 2, paket yang dibutuhkan adalah 'flup', bukan 'flup6'.

[sunting] Memulai Proyek Django Baru

$ mkdir ~/projects
$ cd ~/projects
$ django-admin.py startproject myproject
$ cd ~/env/python-3.8/lib/python3.4/site-packages/
$ ln -s ~/projects/myproject/myproject

Perintah tersebut akan membuat proyek 'myproject' yang diletakkan di ~/projects/myproject.

[sunting] Pastikan Paket Terinstal Dengan Baik

$ python
Python 3.8.3 (default, Jun  5 2020, 13:18:07) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> import flup
>>> import myproject

Jika tidak ada error, maka paket seharusnya sudah terinstall dengan baik.

[sunting] Instal Front Controller

Di directory web anda, buatlah file 'myproject.fcgi' dengan isi sebagai berikut:

#!/home/username/.env/python-3.8/bin/python
 
import sys, os
 
sys.path.insert(0, '/home/username/.env/python-3.8/lib/python3.8/site-packages')
os.chdir('/home/username/projects/myproject/myproject')
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
 
from django_fastcgi.servers.fastcgi import runfastcgi
from django.core.servers.basehttp import get_internal_wsgi_application
 
wsgi_application = get_internal_wsgi_application()
runfastcgi(wsgi_application, method="threaded", daemonize="false", minspare=1, maxspare=1, maxchildren=1)

Ubah file tersebut menjadi executable dengan perintah chmod +x myproject.fcgi

Kemudian buatlah file .htaccess dengan isi sebagai berikut:

AddHandler fcgid-script .fcgi
RewriteEngine On
Options +FollowSymLinks +ExecCGI
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ myproject.fcgi/$1 [QSA,L]

[sunting] Selesai!

Pastikan Django telah terinstall dengan baik dengan menggunakan web browser.

Untuk mengelola instalasi Django menggunakan shell, jangan lupa untuk mengikuti langkah "Aktifkan virtualenv Pada Sesi Login Anda" di atas.