Wednesday, June 10, 2020

Membuat Aplikasi WebGIS dengan Menggunakan Geodjango di Linux


Selamat datang kembali di blog wawanhn.com, saat ini saya akan berbagi bagaimana langkah-langkah untuk untuk membuat aplikasi WebGIS menggunakan geodjango dan PostgreSQL. Mungkin bagi beberapa orang aplikasi WebGIS dengan teknologi django dan PostgreSQL yang berbasis bahasa pemrograman python merupakan salah satu aplikasi yang sangat menarik. Dalam tulisan ini saya buat sebagian-sebagian dalam sela kesibukan sehari-hari, jadi mohon maaf jika belum langsung sampai selesai.. Silahkan menyimak..
  • Install pip3
          wawanhn@Linux1:~$ sudo apt-get install python3-pip
  • Install virtualenv Python 3
          wawanhn@Linux1:~$ pip3 install virtualenv
  • Membuat folder kerja misal dengan nama pypython
          wawanhn@Linux1:~$ mkdir pypython
  • Masuk ke direktori pypython
          wawanhn@Linux1:~$ cd pypython
  • Membuat virtualenv
          wawanhn@Linux1:~/pypython$ virtualenv -p python3 venv
  • Masuk ke virtualenv venv
          wawanhn@Linux1:~/pypython$ . venv/bin/activate
  • Setelah masuk ke virtualnev, maka cek versi python. Dalam hal ini versi Python saya Python 3.6.9
         (venv) wawanhn@Linux1:~/pypython$ python --version
         Python 3.6.9
  • Untuk keluar dari virtualenv ketikan perintah deactivate
         (venv) wawanhn@Linux1:~/pypython$ deactivate
  • Jika OK semua, kembali kita masuk ke virtualenv venv dengan perintah seperti sebelumnya . venv/bib/activate
          wawanhn@Linux1:~/pypython$ . venv/bin/activate
  • Maka kita terdapat dalam virtualenv venv dan siap membuat aplikasi django
          (venv) wawanhn@Linux1:~/pypython$
  • Untuk membuat aplikasi django pertama-tama install django
          (venv) wawanhn@Linux1:~/pypython$ pip install django==3.0
  • Buat folder untuk aplikasi django kita, misal geoapp1
          (venv) wawanhn@Linux1:~/pypython$ mkdir geoapp1
  • Masuk ke folder tesebut 
         (venv) wawanhn@Linux1:~/pypython$ cd geoapp1/
         (venv) wawanhn@Linux1:~/pypython/geoapp1$ 
  • Buat proejct django, misal (venv) wawanhn@Linux1:~/pypython/geoapp1$ django-admin startproject geodjango1sdjk
          (venv) wawanhn@Linux1:~/pypython/geoapp1$ django-admin startproject geodjango1
          
  • Masuk ke folder aplikasi geodjango1
          (venv) wawanhn@Linux1:~/pypython/geoapp1$ cd geodjango1
  • Cek hasil perintah membuat aplikasi django, dimana terdapat folder root direktori geodjango1 dan file manage.py
         (venv) wawanhn@Linux1:~/pypython/geoapp1/geodjango1$ ls
         geodjango1  manage.py

  • Masuk ke folder geodjango1
          (venv) wawanhn@Linux1:~/pypython/geoapp1/geodjango1$ cd geodjango1
          geodjango1  manage.py

  • Kemudian cek hasil install django dengan mengetikan perintah 
          (venv) wawanhn@Linux1:~/pypython/geoapp1/geodjango1$ python manage.py runserver
  • Kemudian buka alamat 127.0.0.1/8000/
  • Hasilnya dapat dilihat seperti ini, kita berhasil menginstal dan menjalankan django di server.

Install PostgreSQL

  • Jika dalam komputer kita belum ada postgresql maka install postgresql terelbih dahulu lihat ini.
  • Atau singkatnya seperti ini
  • Install postgresql
          wawanhn@Linux1:~$ sudo apt-get install postgresql
  • Buat user untuk postgres
          wawanhn@Linux1:~$ sudo -u postgres psql postgres
          psql (12.3 (Ubuntu 12.3-1.pgdg18.04+1))
          Type "help" for help.

          postgres=# \password postgres
          Enter new password: 
          Enter it again: 
          postgres=# \q

          wawanhn@Linux1:~$ sudo apt update
          wawanhn@Linux1:~$ sudo apt install pgadmin4 pgadmin4-apache2

          selama install akan ditanyakan user dan password untuk masuk ke PgAdmin



  • Kemudian ketikan perintah 
          wawanhn@Linux1:~$ sudo ufw allow http
          [sudo] password for wawanhn: 
          Rules updated
          Rules updated (v6)
          wawanhn@Linux1:~$ sudo ufw allow https
          Rules updated
          Rules updated (v6)

  • Setelah itu buka browser dan ketikan http://localhost/pgadmin4. Masukan user dan password yang dimasukan pada saat install pgadmin

  • Jika tampil halaman ini maka kita berhasil mejalankan apache untuk menampilkan PgAdmin

  • Kemudian ketikan kembali localhost/pgadmin4 di browser sehingga tampil halaman PgAdmin untuk koneksi ke database PostgreSQL. dan buat koneksi ke server dengan cara klik kanan pada bagian Browser di Servers -> Create -> Server. Isikan data user database (yang sudah kita buat) dan database yang kita buat (yang sudah dibuat postgres)
          isi bagian General

         dan pada bagian connection



  • Jika benar maka akan tampil seperti gambar

  • Kemudian buat database dengan nama db_map1, dengan cara klik kanan di Databases - > Create -> Database .. 


Install Plugin atau Ekstensi Postgis
PostGIS digunakan untuk mengelola data spasial di database PostgreSQL. Cara nya ketikan perintah untuk install PostGIS diluar virtualenv. sudo apt-get install postgis



Install Library Psycopg2
  • Dengan menggunakan terminal ketikan perintah (saya install di luar virtualenv supaya bisa dijalankan di virtualenv lain yang dibuat).
          wawanhn@Linux1:~/$ pip install psycopg2-binary

  • Atau jika nanti saat menjalanakan django erdapat error modul psycopg2, maka silahkan install psycopg2 dalam virtualenv dengan perintah tersebut







Membuat Aplikasi di Django
  • Buat aplikasi dengan mengetikan perintah di terminal (dalam folder root)

          (venv) wawanhn@Linux1:~/pypython/geoapp1/geodjango1$ python manage.py startapp maps1
     (venv) wawanhn@Linux1:~/pypython/geoapp1/geodjango1$ ls
     db.sqlite3  geodjango1  manage.py  maps1
     
Membuat koneksi ke database
selanjutnya kita daftarkan aplikais maps1 dan seting koneksi ke database dengan cara menambahkan kode program di file settings.py yang berada pada project folder geodjango1

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'maps1',
]

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'db_map1',
'USER': 'postgres',
'PASSWORD': '<password>',
'HOST': 'localhost',
'PORT': '5432',

}
}


  • Kemudian jalankan server lagi dengan mengetikan perintah


          (venv) wawanhn@Linux1:~/pypython/geoapp1/geodjango1$ python manage.py runserver


  • maka tampil halaman django seperti sebelumnya tanpa perubahan, karena memang kita belum merubah tampilan halaman depan.
  • Dalam gambar diatas ada informasi teks warna merah yang menunjukan bahwa kit belum memuat tabel2 kedalam database. Maka selanjutnya kita akan melakukan migrasi dengan menambahkan tabel2 yang dibutuhkan untuk aplikasi kita misal tabel user, admin, session dsb.
  • Untuk melakukan migrasi ketika perintah: migarte dan makemigrations
   (venv) wawanhn@Linux1:~/pypython/geoapp1/geodjango1$ python manage.py migrate
       (venv) wawanhn@Linux1:~/pypython/geoapp1/geodjango1$ python manage.py makemigrations


    •  Selanjutnya jalankan lagi server dan cek browser, dan buka juga alamat 127.0.0.1:8000/admin maka akan menampilkan halaman admin.

    • Selanjutnya kita akan buat user admin, ketikan perintah python manage.py createsuperuser
    (venv) wawanhn@Linux1:~/pypython/geoapp1/geodjango1$ python manage.py createsuperuser


    • Silahkan coba lagi masuk ke halaman 127.0.0.1/admin dan masukan username dan password yang sudah dibuat, sehingga tanpil halaman admin

    Oke sekian dulu nanti dilanjut, dan mohon maaf tulisan masih berantakan karena. Nanti akan dirapihkan dan disusun ulang supaya enak dibaca dan terstruktur.

    Semoga bermanfaat. @wawanhn






    referensi:
    Previous Post
    Next Post

    0 comments: