SearXNG adalah mesin pencarian meta yang kuat yang dapat Anda host di mana saja. Tidak seperti mesin pencari tradisional, SearXNG adalah agregator mesin: alih-alih memproses pencarian, SearXNG menggunakan mesin lain untuk melakukan pencarian. Selanjutnya, SearXNG sangat ringan dan mudah diatur, dan Anda dapat menyimpannya di sistem sesederhana Raspberry Pi!
Mengapa Memasang SearXNG
Mesin pencari membuatnya sangat nyaman untuk menjelajah dan menemukan Web. Namun, menggunakan mesin pencari publik ada harganya: perusahaan pencarian modern seperti Google menggunakan data pencarian Anda untuk membuat profil Anda yang sangat akurat.
Perilaku ini dapat mengganggu individu yang ingin merahasiakan pencarian mereka dan anonim. Misalnya, jurnalis yang melaporkan tentang topik sensitif dan kontroversial mungkin tidak ingin kueri penelusurannya dikaitkan dengan nama mereka.
Salah satu cara untuk mengatasi masalah privasi ini adalah menginstal dan menghosting instance SearXNG Anda sendiri untuk memastikan bahwa hanya Anda yang memiliki akses ke log pencarian Anda.
Apa yang Anda Butuhkan
SearXNG mengharuskan Anda menyiapkan beberapa hal sebelum Anda dapat menginstalnya:
- Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN) : untuk menggunakan SearXNG, Anda harus menghostingnya melalui server web yang tepat dengan domain.
- Mesin yang dapat diakses dari luar jaringan rumah Anda : ini bisa berupa komputer di rumah Anda yang memiliki alamat IP Statis atau Server Pribadi Virtual (VPS) khusus yang Anda sewa.
- Akses root ke mesin Anda : SearXNG mengharuskan Anda menginstal beberapa alat sistem untuk mengonfigurasi dan menghostingnya dengan benar.
Tutorial ini berfokus pada penginstalan dan pengaturan SearXNG pada VPS Debian 11 dari DigitalOcean.
Menginstal Ketergantungan SearXNG
Sebelum Anda dapat menginstal SearXNG, Anda perlu membuat akun pengguna terpisah di sistem Anda:
sudo useradd -s / bin / bash -D / rumah / searx -m -G sudo searx sudo passwd searx
Melakukan hal ini memungkinkan Anda untuk mengisolasi semua perintah dan file saat menginstal dan mengonfigurasi SearXNG. Ini bisa sangat berguna jika Anda bermaksud menghosting mesin pencari di VPS dengan banyak layanan.
Beralih ke akun pengguna baru dengan menjalankan su searx , lalu instal semua dependensi yang diperlukan untuk SearXNG:
sudo tepat Install git nginx iptables iptables-persisten ufw certbot python3-certbot-nginx
Mengonfigurasi Firewall Anda
Meskipun ini bukan langkah yang diperlukan, mengonfigurasi firewall Anda memastikan bahwa sistem luar apa pun hanya akan dapat mengakses port yang Anda otorisasi untuk membantu mencegah aktor jahat membanjiri mesin Anda dengan permintaan tanpa henti.
Anda dapat menggunakan iptables dan ufw untuk mengaktifkan hanya port yang dibutuhkan SearXNG:
sudo iptables -I INPUT -m state –state NEW -p tcp –dport 80 -j TERIMA sudo iptables -I INPUT -m status –status BARU -p tcp –dport 443 -j TERIMA Sudo netfilter-persistent save Sudo ufw memungkinkan 80 sudo ufw izinkan 443
- Dua perintah iptables membuat aturan baru yang menerima koneksi HTTP dan HTTPS baru yang masuk, memungkinkan sistem Anda untuk melayani halaman web SearXNG ke pengguna Anda.
- Perintah netfilter-persistent menyimpan dan memuat ulang setiap perubahan yang Anda buat pada firewall Anda untuk memastikan bahwa mesin Anda memiliki pengaturan yang benar di antara restart sistem.
- Dua perintah ufw memastikan bahwa setiap koneksi saat ini baik HTTP atau HTTPS tetap terbuka selama sesi berlangsung.
Kloning dan Instalasi SearXNG
Pengembang SearXNG menawarkan skrip instalasi sederhana yang menangani sebagian besar langkah konfigurasi yang rumit.
Dapatkan skrip instalasi ini dengan menggandakan repositori GitHub program:
git clone https: // github.com / searxng / searxng searxng && cd searxng
Setelah kloning selesai, mulailah proses instalasi:
sudo -H . / utils / searxng.sh instal semua
Meskipun proses ini sebagian besar otomatis, ada beberapa kejadian di mana skrip meminta Anda untuk mengonfirmasi perubahan yang dibuatnya. Misalnya, saat skrip SearXNG mencetak daftar program yang akan diinstal, Anda perlu menekan Y untuk melanjutkan.
Mengkonfigurasi SearXNG
Anda perlu mengonfigurasi server web yang akan menyiarkan SearXNG, karena mesin pencari hanyalah proses yang menerima permintaan dan memposting hasil. Tanpa server web yang tepat, tidak mungkin untuk berinteraksi dan menggunakan SearXNG.
Saat ini, SearXNG secara resmi mendukung Apache dan Nginx. Bagian ini berfokus pada mengonfigurasi SearXNG sebagai layanan mandiri menggunakan Nginx.
Konfigurasi Nginx
Buat file konfigurasi baru di bawah “/etc/nginx/sites-available/â€:
sudo nano / etc / nginx / situs-tersedia / searxng
Tulis blok server di dalam file yang akan berisi konfigurasi server web. Misalnya, ini adalah blok dasar yang saya gunakan untuk instance SearXNG saya:
pelayan {Â Â Â Â Â Â # Pelabuhan. dengarkan 80 ; dengarkan [ :: ] : 80 ; # Nama host. server_name yetanothersearxserver.xyz; # Pencatatan. access_log / dev / null; error_log / dev / null; # Searx Redirect. lokasi / { uwsgi_pass unix: /// usr / local / searxng / run / socket; sertakan uwsgi_params; uwsgi_param HTTP_HOST $host ; uwsgi_param HTTP_CONNECTION $http_connection ; # lihat flaskfix.py uwsgi_param HTTP_X_SCHEME $scheme ; uwsgi_param HTTP_X_SCRIPT_NAME / searxng; # lihat limiter.py uwsgi_param HTTP_X_REAL_IP $remote_addr ; uwsgi_param HTTP_X_FORWARDED_FOR $proxy_add_x_forwarded_for ; } }
- Variabel mendengarkan memberi tahu Nginx bahwa server web menyiarkan layanan di port 80. Penting untuk mengubah nilai ini jika Anda sudah menjalankan host virtual yang berbeda di sistem Anda.
- server_name adalah variabel yang harus berisi FQDN yang menunjuk ke mesin Anda. Dalam kasus saya, server web saya menggunakan “yetanothersearxserver.xyz.â€
- Variabel access_log dan error_log memberi tahu Nginx tempat menyimpan informasi tentang permintaan pencarian Anda. Misalnya, menyetelnya ke “/dev/null†memastikan bahwa Anda tidak menyimpan log apa pun di mesin.
- Blok lokasi memberi tahu Nginx apa yang harus dilakukan setiap kali pengguna terhubung ke server web.
Menginstal SSL dan Mengaktifkan SearXNG
Membuat sertifikat SSL untuk instans SearXNG Anda memastikan bahwa setiap koneksi yang Anda lakukan ke situs web Anda aman.
Mudah mengaktifkan SSL secara gratis dengan mendaftar menggunakan certbot Lets Encrypt. Misalnya, saya dapat menjalankan perintah berikut untuk mengeluarkan sertifikat untuk host SearXNG saya:
certbot –nginx yetanothersearxserver.xyz
Aktifkan situs web Anda melalui Nginx dengan membuat tautan simbolis ke folder “sites_enabled” server web:
sudo di -S / etc / nginx / situs-tersedia / searx / etc / nginx / situs-diaktifkan /
Muat ulang SearXNG dan Nginx untuk menerapkan dan mengaktifkan konfigurasi Anda:
sudo systemctl reload nginx sudo service uwsgi restart searxng
Pertanyaan yang Sering Diajukan
Apakah mungkin untuk memperbarui SearXNG setelah saya menginstalnya?
Ya! Meskipun Anda tidak dapat menginstal SearXNG melalui pengelola paket tradisional, Anda dapat memperbarui dan memigrasikan mesin pencari dari baris perintah. Misalnya, Anda dapat memperbarui SearXNG dengan menjalankan perintah berikut: sudo /home/$USER/searxng/utils/searxng.sh instance update .
Skrip instalasi memberi tahu saya bahwa Redis tidak tersedia. Apakah instalasi saya gagal?
Tidak. Tetapi kesalahan ini kemungkinan besar akan menyebabkan instans SearXNG Anda menjadi tidak stabil, karena kegagalan Redis di SearXNG berarti ia berjalan dalam sistem non-SystemD dan daemon pemfilteran anti-botnya tidak berjalan.
hapus instalan SearXNG dengan menjalankan perintah sudo /home/$USER/searxng/u
tils/searxng.sh hapus semua untuk memperbaiki masalah dan pastikan Anda menggunakan SystemD dengan menjalankan sudo systemctl –version .
Apakah mungkin untuk melihat apa yang sedang dilakukan SearXNG?
Ya! Meskipun SearXNG adalah daemon tanpa kepala yang berjalan di latar belakang, Anda dapat memeriksa apa yang sedang dilakukannya. Ini berguna jika SearXNG mengalami beberapa masalah, dan Anda tidak yakin apa yang menyebabkan masalah. Misalnya, saya dapat memasuki layar debug SearXNG dengan menjalankan sudo /home/$USER/searxng/utils/searxng.sh instance inspect .
Kredit gambar: Isaac Quesada via Unsplash, diubah oleh Ramces Red dengan SearXNG Logo dan Wordmark. Semua tangkapan layar oleh Ramces Red.