How to Install Searx Meta Search Engine on Ubuntu 18.04 LTS

Searx is a free and open source metasearch engine with the aim of protecting the privacy of its users. Searx can fetch search results from about 70 different engines, like Bing and Google. Searx does not share users' IP addresses or search history with the search engines.

In this tutorial, we will learn how to install Searx on Ubuntu 18.04 server.

Requirements

  • A server running Ubuntu 18.04.
  • A static IP address 172.20.10.8 is set up to your server.
  • A non-root user with sudo privileges.

Getting Started

Before starting, you will need to update your system with the latest version. You can do this by running the following command:

sudo apt-get update -y
sudo apt-get upgrade -y

Once your system is updated, restart the system to apply the changes.

Next, you will need to install some dependencies required by Searx. You can install all of them by running the following command:

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

Install Searx Meta Search Engine

First, you will need to download the latest version of Searx from the Git repository. You can download it with the following command:

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

By default, Searx is accessible only from the local system. So, you will need to configure Searx to access from the remote system. You can do this by editing /opt/searx/searx/settings.yml file:

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

Change the line:

From

bind_address : "127.0.0.1"

To

bind_address : "192.168.1.100"

Replace 192.168.1.100 with the public IP of your server. Save and close the file, when you are finished.

Next, change the directory to searx and activate the Searx virtual environment:

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

Next, update the Searx with the following command:

sudo ./manage.sh update_packages

Next, start the Searx with the following command:

sudo python searx/webapp.py

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

Access Searx Web Interface

Searx is now up and listening on port 8888. Open your web browser and type the URL http://192.168.1.100:8888 (change Ip to your IP here). You will be redirected to the Searx default page as shown below:

Search search interface

Share this page:

8 Comment(s)