Meng-Compile SearXNG Di Mesin Lokal Kita
Panduan ini mengasumsikan Anda menggunakan sistem operasi berbasis Linux (Ubuntu/Debian), tetapi sebagian besar langkah juga berlaku untuk macOS (dengan sedikit penyesuaian paket).
1. Persiapan Lingkungan
a. Pasang dependensi sistem
sudo apt update
sudo apt install -y git python3 python3-pip python3-venv \
build-essential libssl-dev libffi-dev python3-dev \
redis-server nginx curl
git – untuk meng‑clone repositori.
python3‑venv – membuat virtual environment terisolasi.
redis‑server – backend cache yang digunakan SearXNG (opsional, tapi disarankan).
nginx – untuk men‑serve front‑end lewat reverse proxy (jika Anda ingin men‑deploy secara produksi).
Catatan macOS: gunakan brew install git python3 redis nginx dan aktifkan virtual environment dengan python3 -m venv.
b. Buat akun sistem khusus (opsional, tapi baik untuk keamanan)
sudo adduser --system --group --home /opt/searxng searxng
Ini memastikan proses SearXNG tidak berjalan dengan hak root.
2. Meng‑clone repositori SearXNG
git clone https://github.com/searxng/searxng.git /opt/searxng
cd /opt/searxng
Jika Anda menggunakan akun non‑root, pastikan folder berada di dalam home directory Anda.
3. Membuat Virtual Environment dan meng‑install dependensi Python
python3 -m venv .venv # buat environment di dalam folder proyek
source .venv/bin/activate # aktifkan environment
pip install --upgrade pip
pip install -r requirements.txt
Tip: Jika muncul error terkait psycopg2 atau cryptography, pastikan paket dev‑library sudah terpasang (libpq-dev, libssl-dev, libffi-dev).
4. Konfigurasi dasar
a. Salin file contoh konfigurasi
cp searx/settings.yml.example searx/settings.yml
cp searx/uwsgi.ini.example searx/uwsgi.ini
b. Edit settings.yml
Buka file dengan editor (misalnya nano atau vim) dan sesuaikan beberapa bagian penting:
Kunci Penjelasan
server.base_url URL dasar tempat SearXNG akan diakses (mis. https://search.example.com).
server.secret_key String acak panjang (gunakan openssl rand -hex 32).
ui.default_locale Bahasa default (mis. id untuk Indonesia).
search.engines Pilih mesin pencari yang ingin Anda aktifkan; hapus yang tidak diperlukan untuk meningkatkan privasi.
general.use_cache Aktifkan cache Redis (true) dan atur redis_url bila diperlukan (redis://localhost:6379/0).
Contoh menghasilkan secret key:
openssl rand -hex 32
c. (Opsional) Sesuaikan uwsgi.ini
Jika Anda menjalankan lewat uWSGI, pastikan jalur ke virtual environment benar:
virtualenv = /opt/searxng/.venv
module = searx.webapp
master = true
processes = 4
socket = /run/uwsgi/searxng.sock
chmod-socket = 660
vacuum = true
die-on-term = true
5. Menjalankan SearXNG secara lokal (mode development)
source .venv/bin/activate
./manage.sh run
Server akan muncul di http://127.0.0.1:8888. Buka di browser untuk memastikan semuanya berfungsi.
6. Deploy ke produksi (opsional)
a. Gunakan uWSGI + Nginx
Instal uWSGI di dalam virtual environment:
pip install uwsgi
Buat service systemd (/etc/systemd/system/searxng.service):
[Unit]
Description=SearXNG
After=network.target
[Service]
User=searxng
Group=searxng
WorkingDirectory=/opt/searxng
Environment="PATH=/opt/searxng/.venv/bin"
ExecStart=/opt/searxng/.venv/bin/uwsgi --ini searx/uwsgi.ini
[Install]
WantedBy=multi-user.target
Reload systemd dan start service:
sudo systemctl daemon-reload
sudo systemctl enable --now searxng
b. Konfigurasi Nginx sebagai reverse proxy
Buat file /etc/nginx/sites-available/searxng:
server {
listen 80;
server_name search.example.com;
location / {
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/searxng.sock;
}
# Optional: redirect HTTP → HTTPS (set up certbot first)
}
Aktifkan dan reload:
sudo ln -s /etc/nginx/sites-available/searxng /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
c. (Opsional) Tambahkan TLS dengan Certbot
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d search.example.com
7. Memeriksa Log & Debugging
uWSGI log: journalctl -u searxng -f
Nginx log: /var/log/nginx/error.log & /var/log/nginx/access.log
Redis (jika dipakai): redis-cli ping harus mengembalikan PONG.
Jika ada error “ImportError: No module named …”, pastikan Anda berada dalam virtual environment (source .venv/bin/activate) dan semua paket ter‑install (pip install -r requirements.txt).
8. Update versi SearXNG di masa depan
cd /opt/searxng
git pull origin master
source .venv/bin/activate
pip install -U -r requirements.txt
sudo systemctl restart searxng
Ringkasan singkat
Pasang dependensi sistem (git, python3, redis, nginx).
Clone repo ke direktori pilihan.
Buat virtual environment, install requirements.txt.
Copy & edit settings.yml (secret key, base URL, engine list).
Jalankan ./manage.sh run untuk tes lokal.
Untuk produksi, setup uWSGI + systemd + Nginx + TLS.
Dengan mengikuti langkah‑langkah di atas, Anda akan memiliki SearXNG yang berfungsi penuh—baik untuk penggunaan pribadi di komputer lokal maupun sebagai layanan pencarian privat yang dapat diakses publik. Selamat mencoba! 😀
Happy Freedom Access Internet And Keep Your Privacy ✅
Comments
Post a Comment