Installing Searx Meta Search Engine on Ubuntu 18.04

Searx is a free and open source metasearch engine designed to protect its users’ privacy. It can aggregate search results from around 70 different search engines, including Bing and Google, without sharing users’ IP addresses or search histories with these engines.

This tutorial will guide you through the process of installing Searx on an Ubuntu 18.04 server.

Requirements

  • An Ubuntu 18.04 server.
  • A static IP address, e.g., 172.20.10.8, assigned to your server.
  • A non-root user with sudo privileges.

Getting Started

Begin by ensuring your system is up-to-date with the latest packages. Execute the following commands:

sudo apt-get update -y

sudo apt-get upgrade -y

After updating, restart the system to apply the changes.

Next, install the required dependencies for Searx using:

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

Installing Searx Meta Search Engine

First, download the latest version of Searx from the Git repository:

cd /opt/

sudo git clone https://github.com/asciimoo/searx.git

By default, Searx is set to be accessible only locally. To allow remote access, edit the Searx configuration file located at /opt/searx/searx/settings.yml:

sudo nano /opt/searx/searx/settings.yml

Find and modify the following line:

From:

bind_address : "127.0.0.1"

To:

bind_address : "your_server_public_IP"

Replace your_server_public_IP with the public IP of your server. Save and close the file.

Now, navigate to the Searx directory and activate the Searx virtual environment:

cd /opt/searx
sudo virtualenv searx-ve
sudo source searx-ve/bin/activate

Update Searx by running:

sudo ./manage.sh update_packages

Finally, start Searx with:

sudo python searx/webapp.py

Expected output:

 * Serving Flask app "webapp" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off

Accessing Searx Web Interface

Searx should now be active and listening on port 8888. Launch your web browser and enter the URL http://your_server_public_IP:8888.

Useful Links

FAQ

  • What is the purpose of Searx?Searx is a metasearch engine aimed at enhancing user privacy by not storing personal data or users’ search history.
  • Can Searx replace my usual search engine?Yes, Searx can be used as a primary search engine. However, because it fetches results from multiple engines, the experience might differ from mainstream search engines.
  • Is Searx safe to use?Yes, Searx is considered safe as it doesn’t track your activity or store personal data.
  • What should I do if Searx is not accessible after installation?Ensure the bind_address in the configuration is correctly set to your server’s public IP and that your firewall settings allow connections to port 8888.