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: