Instalasi Ghiro, Digital Image Forensics untuk Production Environment

logo_1_B_original

Ghiro adalah forensic tools yang memiliki fitur image analysis, metadata extraction, dan automation. Salah satu kemudahan Ghiro adalah kemungkinan diakses melalui web. Artikel ini akan membahas cara instalasi Ghiro, yang sangat sedikit diulas di internet, untuk lingkup production environment.

Ghiro akan dikonfigurasikan diatas Ubuntu 12.10 32-bit. Pada awalnya dicoba pula di Ubuntu 12.04, namun mengalami kendala pada pemasangan modul gexiv2. Petunjuk dibawah jauh lebih rinci daripada standar manual yang diberikan oleh Ghiro, plus beberapa perubahan.

Langkah-langkah : 

1. Update Ubuntu dan pasang tools dasar (nano, sejenis sesuai selera)

apt-get update
apt-get install nano

2. Pasang MongoDB

apt-get install mongodb

3. Pasang paket-paket dependensi yang diperlukan

apt-get install python-pip libgexiv2-1 python-imaging python-dateutil
apt-get install build-essential python-dev python-gi

4. Pasang Django, PyMongo, dan Python Magic

pip install django
pip install pymongo
pip install python-magic

5. Sampai disini, langkah masih sesuai panduan resmi Ghiro. Namun Anda juga memerlukan dua tambahan paket untuk dipasang. Python-chardet dan GeXiv2.

apt-get install python-chardet
apt-get install gir1.2-gexiv2-0.4

6. Karena paket akan diambil dari Git, maka pasang juga git.

apt-get install git

7. Ubah folder, kemudian ambil berkas Ghiro dari git.

cd /var/www
git clone https://github.com/ghirensics/ghiro.git

8. Langkah dibawah khusus untuk non-production-environment, yaitu dengan memberdayakan SQLite3 dan MongoDB yang sudah dipasang sebelumnya.

cd /var/www/ghiro
python manage.py syncdb
python manage.py runserver 0.0.0.0:9000

9. Bagaimana dengan production environtment? Untuk kebutuhan ini, akan digunakan Apache serta MySQL. Dimulai dengan instalasi MySQL. Isi root password sesuai preferensi.

apt-get install mysql-server python-mysqldb

10. Jalankan MySQL

/etc/init.d/mysql start

11. Masuk ke MySQL kemudian buat database untuk Ghiro.

mysql -u root --password=passrootmysql

create database ghirodb;
use mysql;
grant all privileges on ghirodb.* to 'ghirodb'@'localhost' identified by 'passwordghiro' with grant option ; 
flush privileges;
quit

12. Masuk ke file konfigurasi database, kemudian sesuaikan dengan detail database MySQL yang baru.

nano /var/www/ghiro/ghiro/local_setting.py

DATABASES = {
    'default': {
        # Engine type. Ends with 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'ENGINE': 'django.db.backends.mysql', #DIUBAH
        # Database name or path to database file if using sqlite3.
        'NAME': 'ghirodb', #DISESUAIKAN
        # Credntials. The following settings are not used with sqlite3.
        'USER': 'ghirodb', #DISESUAIKAN
        'PASSWORD': 'passwordghirodb', #DISESUAIKAN
        # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'HOST': '',
        # Set to empty string for default port.
        'PORT': '',
    }
}

13. Masuk ke direktori Ghiro dan sinkronkan database dengan detail MySQL yang sudah dibuat sebelumnya.

cd /var/www/ghiro/ghiro

python manage.py syncdb

You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
username : 
email : 
pass :

14. Install Apache (bila belum) dan wsgi.

apt-get install apache2 libapache2-mod-wsgi

15. Saatnya mengonfigurasi virtual host, anggap akan menggunakan domain abcde.org

nano /etc/apache2/sites-available/abcde.org #DISESUAIKAN

#isikan : 

<VirtualHost *:80>
    ServerName abcde.org #DISESUAIKAN
    ServerAdmin webmaster@localhost
    WSGIProcessGroup ghiro
    WSGIDaemonProcess ghiro processes=5 threads=10 user=nobody group=nogroup python-path=/var/www/ghiro/ home=/var/www/ghiro/ display-name=local
    WSGIScriptAlias / /var/www/ghiro/ghiro/wsgi.py
    Alias /static/ /var/www/ghiro/static/
    <Location "/static/">
        Options -Indexes
    </Location>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

15. Aktifkan konfigurasi dan reload Apache

cd
sudo a2ensite abcde.org
service apache2 reload

16. Buat script upstart untuk Ghiro

nano  /etc/init/ghiro.conf

description     "Ghiro"

start on started mysql
stop on shutdown
script
        chdir /var/www/ghiro/
        exec /usr/bin/python manage.py process
end script

17. Jalankan script, dan ketika client mengakses abcde.org, telah dapat menjumpai aplikasi Ghiro.

service ghiro stop
service ghiro start

 

linuxajacapgh

Semoga bermanfaat!