mirror of https://github.com/searxng/searxng
docs: revision of the installation instructions
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>pull/1/head
parent
a5eefea61d
commit
eedd63ccd5
@ -0,0 +1,94 @@
|
||||
.. _installation apache:
|
||||
|
||||
===================
|
||||
Install with apache
|
||||
===================
|
||||
|
||||
.. sidebar:: public HTTP servers
|
||||
|
||||
On public searx instances use an application firewall (:ref:`filtron
|
||||
<filtron.sh>`).
|
||||
|
||||
.. contents:: Contents
|
||||
:depth: 2
|
||||
:local:
|
||||
:backlinks: entry
|
||||
|
||||
Add wsgi mod
|
||||
============
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Ubuntu / debian
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H apt-get install libapache2-mod-uwsgi
|
||||
sudo -H a2enmod uwsgi
|
||||
|
||||
Add this configuration in the file ``/etc/apache2/apache2.conf``. To limit
|
||||
acces to your intranet replace ``Allow from all`` directive and replace
|
||||
``192.168.0.0/16`` with your subnet IP/class.
|
||||
|
||||
.. _inranet apache site:
|
||||
|
||||
Note that if your instance of searx is not at the root, you should change
|
||||
``<Location />`` by the location of your instance, like ``<Location /searx>``:
|
||||
|
||||
.. code:: apache
|
||||
|
||||
# CustomLog /dev/null combined
|
||||
|
||||
<IfModule mod_uwsgi.c>
|
||||
|
||||
<Location />
|
||||
|
||||
Options FollowSymLinks Indexes
|
||||
SetHandler uwsgi-handler
|
||||
uWSGISocket /run/uwsgi/app/searx/socket
|
||||
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
# Allow from fd00::/8 192.168.0.0/16 fe80::/10 127.0.0.0/8 ::1
|
||||
Allow from all
|
||||
|
||||
</Location>
|
||||
|
||||
</IfModule>
|
||||
|
||||
Enable apache mod_uwsgi and restart apache:
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Ubuntu / debian
|
||||
|
||||
.. code:: sh
|
||||
|
||||
a2enmod uwsgi
|
||||
sudo -H systemctl restart apache2
|
||||
|
||||
disable logs
|
||||
============
|
||||
|
||||
For better privacy you can disable Apache logs. Go back to
|
||||
``/etc/apache2/apache2.conf`` :ref:`[example] <inranet apache site>` and above
|
||||
``<Location />`` activate directive:
|
||||
|
||||
.. code:: apache
|
||||
|
||||
CustomLog /dev/null combined
|
||||
|
||||
Restart apache:
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Ubuntu / debian
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H systemctl restart apache2
|
||||
|
||||
.. warning::
|
||||
|
||||
You can only disable logs for the whole (virtual) server not for a specific
|
||||
path.
|
@ -0,0 +1,141 @@
|
||||
.. _installation nginx:
|
||||
|
||||
==================
|
||||
Install with nginx
|
||||
==================
|
||||
|
||||
.. sidebar:: public HTTP servers
|
||||
|
||||
On public searx instances use an application firewall (:ref:`filtron
|
||||
<filtron.sh>`).
|
||||
|
||||
.. contents:: Contents
|
||||
:depth: 2
|
||||
:local:
|
||||
:backlinks: entry
|
||||
|
||||
If nginx is not installed (uwsgi will not work with the package
|
||||
nginx-light):
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Ubuntu / debian
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H apt-get install nginx
|
||||
|
||||
Hosted at ``/``
|
||||
===============
|
||||
|
||||
Create the configuration file ``/etc/nginx/sites-available/searx`` with this
|
||||
content:
|
||||
|
||||
.. code:: nginx
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name searx.example.com;
|
||||
root /usr/local/searx/searx;
|
||||
|
||||
location /static {
|
||||
}
|
||||
|
||||
location / {
|
||||
include uwsgi_params;
|
||||
uwsgi_pass unix:/run/uwsgi/app/searx/socket;
|
||||
}
|
||||
}
|
||||
|
||||
Create a symlink to sites-enabled:
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H ln -s /etc/nginx/sites-available/searx /etc/nginx/sites-enabled/searx
|
||||
|
||||
Restart service:
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Ubuntu / debian
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H systemctl restart nginx
|
||||
sudo -H systemctl restart uwsgi
|
||||
|
||||
from subdirectory URL (``/searx``)
|
||||
==================================
|
||||
|
||||
Add this configuration in the server config file
|
||||
``/etc/nginx/sites-enabled/default``:
|
||||
|
||||
.. code:: nginx
|
||||
|
||||
location /searx/static {
|
||||
alias /usr/local/searx/searx/static;
|
||||
}
|
||||
|
||||
location /searx {
|
||||
uwsgi_param SCRIPT_NAME /searx;
|
||||
include uwsgi_params;
|
||||
uwsgi_pass unix:/run/uwsgi/app/searx/socket;
|
||||
}
|
||||
|
||||
|
||||
**OR** using reverse proxy (Please, note that reverse proxy advised to be used
|
||||
in case of single-user or low-traffic instances.)
|
||||
|
||||
.. code:: nginx
|
||||
|
||||
location /searx/static {
|
||||
alias /usr/local/searx/searx/static;
|
||||
}
|
||||
|
||||
location /searx {
|
||||
proxy_pass http://127.0.0.1:8888;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Scheme $scheme;
|
||||
proxy_set_header X-Script-Name /searx;
|
||||
proxy_buffering off;
|
||||
}
|
||||
|
||||
Enable ``base_url`` in ``searx/settings.yml``
|
||||
|
||||
.. code:: yaml
|
||||
|
||||
base_url : http://your.domain.tld/searx/
|
||||
|
||||
Restart service:
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Ubuntu / debian
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H systemctl restart nginx
|
||||
sudo -H systemctl restart uwsgi
|
||||
|
||||
|
||||
disable logs
|
||||
============
|
||||
|
||||
For better privacy you can disable nginx logs about searx. How to proceed:
|
||||
below ``uwsgi_pass`` in ``/etc/nginx/sites-available/default`` add:
|
||||
|
||||
.. code:: nginx
|
||||
|
||||
access_log /dev/null;
|
||||
error_log /dev/null;
|
||||
|
||||
Restart service:
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Ubuntu / debian
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H systemctl restart nginx
|
Loading…
Reference in New Issue