Cara install Searx metasearch engine di Ubuntu 18.04

Searx adalah sebuah metasearch engine, yang tampilan hasil pencariannya adalah gabungan data pencarian milik beberapa search engine sekaligus.
0

Searx adalah sebuah metasearch engine, yang tampilan hasil pencariannya adalah gabungan data pencarian milik beberapa search engine sekaligus. Cara kerjanya adalah, sesaat ketika pengguna mengirimkan input berupa keyword (kata kunci), pada saat bersamaan data dari beberapa search engine langsung diminta (query), untuk kemudian setelah selesai dikumpul akan langsung ditampilkan. Proses ini berjalan dengan sangat cepat.

Searx merupakan produk opensoure, dan siapapun bisa dengan mudah membangun platformnya sendiri, untuk keperluan pribadi maupun bisnis.

Untuk keperluan penyusunan artikel ini, penulis membangun platform Searx sendiri, yang bisa diakses di alamat https://searx.my.id dan sudah terdaftar sebagai instance resmi di https://searx.space

Konfigurasi VPS yang digunakan adalah sebagai berikut,

Instalasi paket yg dibutuhkan

Jalankan perintah berikut ini.

sudo apt-get install git build-essential libxslt-dev python-dev python-virtualenv python-babel zlib1g-dev libffi-dev libssl-dev

Instalasi searx

Untuk instalasi searx, jalankan dibawah ini secara berurutan.

cd /usr/local
sudo git clone https://github.com/asciimoo/searx.git
sudo useradd searx -d /usr/local/searx
sudo chown searx:searx -R /usr/local/searx

Selanjutnya untuk instalasi dependencies, jalankan perintah dibawah secara berurutan.

cd searx/
sudo -u searx -i

Dalam bash menu user searx, jalankan perintah berikut secara berurutan.

virtualenv searx-ve
. ./searx-ve/bin/activate
./manage.sh update_packages

Konfigurasi searx

Masih dalam bash user searx, jalankan perintah berikut,

sed -i -e "s/ultrasecretkey/`openssl rand -hex 16`/g" searx/settings.yml

Edit file settings.yml

vim searx/settings.yml

Cari bagian bind_address dan ubah nomor IP standar dengan IP server.

bind_address : "ISI_IP_SERVER_ANDA"

Simpan perubahan pada file ini, kemudian jalankan searx dengan perintah berikut.

python searx/webapp.py

Akan muncul output seperti dibawah ini.

WARNING:searx.webapp: *** Deprecation Warning ***
WARNING:searx.webapp: Python2 is deprecated
 * Serving Flask app "webapp" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
INFO:werkzeug: * Running on http://NO_IP_SERVER_ANDA:8888/ (Press CTRL+C to quit)

Cek instalasi Searx

Buka alamat http://NO_IP_SERVER_ANDA:8888 pada browser, pastikan searx sudah berjalan. Jika sudah, tekan CTRL+C untuk menghentikan searx dan langsung eksekusi perintah berikut.

sed -i -e "s/debug : True/debug : False/g" searx/settings.yml

Keluar dari bash searx, dengan mengetik exit.

Instalasi uwsgi

Jalankan perintah berikut untuk menginstalasi uwsgi dan komponen pendukung lainnya.

sudo apt-get install uwsgi uwsgi-plugin-python -y

Lalu buat sebuah file

sudo vim /etc/uwsgi/apps-available/searx.ini

Isi dengan baris konten dibawah ini.

[uwsgi]
# Who will run the code
uid = searx
gid = searx

# disable logging for privacy
disable-logging = true

# Number of workers (usually CPU count)
workers = 4

# The right granted on the created socket
chmod-socket = 666

# Plugin to use and interpretor config
single-interpreter = true
master = true
plugin = python
lazy-apps = true
enable-threads = true

# Module to import
module = searx.webapp

# Support running the module from a webserver subdirectory.
route-run = fixpathinfo:

# Virtualenv and python path
virtualenv = /usr/local/searx/searx-ve/
pythonpath = /usr/local/searx/
chdir = /usr/local/searx/searx/

Simpan perubahan pada file diatas, kemudian jalankan perintah dibawah ini secara berurutan, guna mengaktifkan dan menjalankan uwsgi.

cd /etc/uwsgi/apps-enabled
sudo ln -s ../apps-available/searx.ini
sudo /etc/init.d/uwsgi restart

Instalasi berhasil, jika outputnya terlihat seperti ini.

[ ok ] Restarting uwsgi (via systemctl): uwsgi.service.

Instalasi Nginx

Uwsgi tidak dapat berjalan, apabila tidak ada webserver seperti Apache atau Nginx. Pada tutorial ini, webserver yang digunakan adalah Nginx.

Instal nginx dengan perintah berikut.

sudo apt-get install nginx -y

Selanjutnya buatlah sebuah file yang berfunsgi sebagai block server untuk searx.

sudo vim /etc/nginx/sites-available/searx

Isilah dengan baris konten dibawah ini.

server {
    listen 80;
    server_name searx.contoh.com;
    root /usr/local/searx/searx;

    location /static {
    }

    location / {
            include uwsgi_params;
            uwsgi_pass unix:/run/uwsgi/app/searx/socket;
    }
}

Jangan lupa mengganti bagian server_name diatas, dengan URL yang ingin digunakan, tanpa menambahkan protokol seperti http. Simpan perubahannya.

Langkah selanjutnya membuat symlink dengan perintah,

sudo ln -s /etc/nginx/sites-available/searx /etc/nginx/sites-enabled/searx

Restart Nginx dan uwsgi.

sudo service nginx restart
sudo service uwsgi restart

Langkah melindungi privasi (optional)

Untuk keperluan privacy, nonaktifkan kemampuan untuk merekam penggunaan searx dengan cara memblokir log file. Jalankan langkah berikut.

Edit file /etc/nginx/sites-available/default

sudo vim /etc/nginx/sites-available/searx

Tambahkan baris dibawah ini persis dibawah baris uwsgi_pass

access_log /dev/null;
error_log /dev/null;

Hasil akhirnya akan terlihat seperti ini.

server {
    listen 80;
    server_name searx.contoh.com;
    root /usr/local/searx/searx;

    location /static {
    }

    location / {
            include uwsgi_params;
            uwsgi_pass unix:/run/uwsgi/app/searx/socket;
            access_log /dev/null;
            error_log /dev/null;
    }
}

Restart kembali Nginx.

sudo service nginx restart

Sampai tahap ini, searx sudah bisa diakses dengan menggunakan URL domain yang baru.

0

Leave a Reply