mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-03 19:17:07 -05:00 
			
		
		
		
	[docs] corrections from @tiekoetter's review
This commit is contained in:
		
							parent
							
								
									6fbffe9d20
								
							
						
					
					
						commit
						e5323b8aa2
					
				@ -19,7 +19,7 @@ SearXNG infrastructures.
 | 
				
			|||||||
uWSGI Setup
 | 
					uWSGI Setup
 | 
				
			||||||
===========
 | 
					===========
 | 
				
			||||||
 | 
					
 | 
				
			||||||
We start with a *reference* setup for public SearXNG instances which can build
 | 
					We start with a *reference* setup for public SearXNG instances which can be build
 | 
				
			||||||
up and maintained by the scripts from our :ref:`toolboxing`.
 | 
					up and maintained by the scripts from our :ref:`toolboxing`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. _arch public:
 | 
					.. _arch public:
 | 
				
			||||||
 | 
				
			|||||||
@ -40,8 +40,8 @@ Apache
 | 
				
			|||||||
    https://httpd.apache.org/docs/current/mod/mod_proxy.html
 | 
					    https://httpd.apache.org/docs/current/mod/mod_proxy.html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This section explains how to set up a SearXNG site using the HTTP server Apache_.
 | 
					This section explains how to set up a SearXNG instance using the HTTP server Apache_.
 | 
				
			||||||
If you have used the :ref:`installation scripts` and do not have any preference
 | 
					If you did use the :ref:`installation scripts` and do not have any special preferences
 | 
				
			||||||
you can install the :ref:`SearXNG site <apache searxng site>` using
 | 
					you can install the :ref:`SearXNG site <apache searxng site>` using
 | 
				
			||||||
:ref:`searxng.sh <searxng.sh overview>`:
 | 
					:ref:`searxng.sh <searxng.sh overview>`:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -99,8 +99,8 @@ Directives`_ documentation gives first orientation.  There is also a list of
 | 
				
			|||||||
         sudo -H systemctl enable httpd
 | 
					         sudo -H systemctl enable httpd
 | 
				
			||||||
         sudo -H systemctl start httpd
 | 
					         sudo -H systemctl start httpd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Now at http://localhost you should see any kind of *Welcome* or *Test* page.
 | 
					Now at http://localhost you should see some kind of *Welcome* or *Test* page.
 | 
				
			||||||
How this default intro site is configured, depends on the linux distribution
 | 
					How this default site is configured, depends on the linux distribution
 | 
				
			||||||
(compare `Apache directives`_).
 | 
					(compare `Apache directives`_).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. tabs::
 | 
					.. tabs::
 | 
				
			||||||
@ -322,11 +322,11 @@ mod_proxy_ module (:ref:`apache modules`).
 | 
				
			|||||||
   With ProxyPreserveHost_ the incoming ``Host`` header is passed to the proxied
 | 
					   With ProxyPreserveHost_ the incoming ``Host`` header is passed to the proxied
 | 
				
			||||||
   host.
 | 
					   host.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Depending on what your SearXNG installation is listen, you need a http
 | 
					Depending on what your SearXNG installation is listening on, you need a http
 | 
				
			||||||
mod_proxy_http_) or socket (mod_proxy_uwsgi_) communication to upstream.
 | 
					mod_proxy_http_) or socket (mod_proxy_uwsgi_) communication to upstream.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The :ref:`installation scripts` installs by default the :ref:`reference setup
 | 
					The :ref:`installation scripts` installs the :ref:`reference setup
 | 
				
			||||||
<use_default_settings.yml>` and a :ref:`uwsgi setup` that listens on a socket.
 | 
					<use_default_settings.yml>` and a :ref:`uwsgi setup` that listens on a socket by default.
 | 
				
			||||||
You can install and activate your own ``searxng.conf`` like shown in
 | 
					You can install and activate your own ``searxng.conf`` like shown in
 | 
				
			||||||
:ref:`apache sites`.
 | 
					:ref:`apache sites`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -383,6 +383,6 @@ one of the lines and `restart apache`_:
 | 
				
			|||||||
   SetEnvIf Request_URI "/searxng" dontlog
 | 
					   SetEnvIf Request_URI "/searxng" dontlog
 | 
				
			||||||
   # CustomLog /dev/null combined env=dontlog
 | 
					   # CustomLog /dev/null combined env=dontlog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The ``CustomLog`` directive disable logs of the entire (virtual) server, use it
 | 
					The ``CustomLog`` directive disables logs for the entire (virtual) server, use it
 | 
				
			||||||
when the URL of the service does not have a path component (``/searxng``), when
 | 
					when the URL of the service does not have a path component (``/searxng``), so when
 | 
				
			||||||
SearXNG is located at root (``/``).
 | 
					SearXNG is located at root (``/``).
 | 
				
			||||||
 | 
				
			|||||||
@ -51,8 +51,8 @@ of this container:
 | 
				
			|||||||
Get Docker
 | 
					Get Docker
 | 
				
			||||||
==========
 | 
					==========
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you plan to build and maintain a docker image by your own, make sure you have
 | 
					If you plan to build and maintain a docker image by yourself, make sure you have
 | 
				
			||||||
`Docker installed <https://docs.docker.com/get-docker/>`_ and on Linux, don't
 | 
					`Docker installed <https://docs.docker.com/get-docker/>`_. On Linux don't
 | 
				
			||||||
forget to add your user to the docker group (log out and log back in so that
 | 
					forget to add your user to the docker group (log out and log back in so that
 | 
				
			||||||
your group membership is re-evaluated):
 | 
					your group membership is re-evaluated):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -19,8 +19,8 @@ NGINX
 | 
				
			|||||||
.. _SCRIPT_NAME:
 | 
					.. _SCRIPT_NAME:
 | 
				
			||||||
   https://werkzeug.palletsprojects.com/en/1.0.x/wsgi/#werkzeug.wsgi.get_script_name
 | 
					   https://werkzeug.palletsprojects.com/en/1.0.x/wsgi/#werkzeug.wsgi.get_script_name
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This section explains how to set up a SearXNG site using the HTTP server nginx_.
 | 
					This section explains how to set up a SearXNG instance using the HTTP server nginx_.
 | 
				
			||||||
If you have used the :ref:`installation scripts` and do not have any preference
 | 
					If you have used the :ref:`installation scripts` and do not have any special preferences
 | 
				
			||||||
you can install the :ref:`SearXNG site <nginx searxng site>` using
 | 
					you can install the :ref:`SearXNG site <nginx searxng site>` using
 | 
				
			||||||
:ref:`searxng.sh <searxng.sh overview>`:
 | 
					:ref:`searxng.sh <searxng.sh overview>`:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -78,7 +78,7 @@ If nginx_ is not installed, install it now.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Now at http://localhost you should see a *Welcome to nginx!* page, on Fedora you
 | 
					Now at http://localhost you should see a *Welcome to nginx!* page, on Fedora you
 | 
				
			||||||
see a *Fedora Webserver - Test Page*.  The test page comes from the default
 | 
					see a *Fedora Webserver - Test Page*.  The test page comes from the default
 | 
				
			||||||
`nginx server configuration`_.  How this default intro site is configured,
 | 
					`nginx server configuration`_.  How this default site is configured,
 | 
				
			||||||
depends on the linux distribution:
 | 
					depends on the linux distribution:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. tabs::
 | 
					.. tabs::
 | 
				
			||||||
@ -134,7 +134,7 @@ site.  If nginx_ is new to you, the `nginx beginners guide`_ is a good starting
 | 
				
			|||||||
point and the `Getting Started wiki`_ is always a good resource *to keep in the
 | 
					point and the `Getting Started wiki`_ is always a good resource *to keep in the
 | 
				
			||||||
pocket*.
 | 
					pocket*.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Depending on what your SearXNG installation is listen, you need a http or socket
 | 
					Depending on what your SearXNG installation is listening on, you need a http or socket
 | 
				
			||||||
communication to upstream.
 | 
					communication to upstream.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. tabs::
 | 
					.. tabs::
 | 
				
			||||||
@ -151,8 +151,8 @@ communication to upstream.
 | 
				
			|||||||
         :start-after: START nginx http
 | 
					         :start-after: START nginx http
 | 
				
			||||||
         :end-before: END nginx http
 | 
					         :end-before: END nginx http
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The :ref:`installation scripts` installs by default the :ref:`reference setup
 | 
					The :ref:`installation scripts` installs the :ref:`reference setup
 | 
				
			||||||
<use_default_settings.yml>` and a :ref:`uwsgi setup` that listens on a socket.
 | 
					<use_default_settings.yml>` and a :ref:`uwsgi setup` that listens on a socket by default.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. tabs::
 | 
					.. tabs::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -4,12 +4,12 @@
 | 
				
			|||||||
Installation Script
 | 
					Installation Script
 | 
				
			||||||
===================
 | 
					===================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. sidebar:: Update OS first!
 | 
					.. sidebar:: Update the OS first!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   To avoid unwanted side effects, update your OS before installing SearXNG.
 | 
					   To avoid unwanted side effects, update your OS before installing SearXNG.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The following will install a setup as shown in :ref:`the reference architecture
 | 
					The following will install a setup as shown in :ref:`the reference architecture
 | 
				
			||||||
<arch public>`.  First you need to get a clone.  The clone is only needed for
 | 
					<arch public>`.  First you need to get a clone of the repository.  The clone is only needed for
 | 
				
			||||||
the installation procedure and some maintenance tasks.
 | 
					the installation procedure and some maintenance tasks.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. sidebar:: further read
 | 
					.. sidebar:: further read
 | 
				
			||||||
@ -41,9 +41,9 @@ including a :ref:`uWSGI setup <architecture uWSGI>` as described in the
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
   For the installation procedure, use a *sudoer* login to run the scripts.  If
 | 
					   For the installation procedure, use a *sudoer* login to run the scripts.  If
 | 
				
			||||||
   you install from ``root``, take into account that the scripts are creating a
 | 
					   you install from ``root``, take into account that the scripts are creating a
 | 
				
			||||||
   ``searxng`` user.  In the installation procedure this new created user do
 | 
					   ``searxng`` user.  In the installation procedure this new created user does
 | 
				
			||||||
   need read access to the clone of searx, which is not the case if you clone
 | 
					   need read access to the cloned SearXNG repository, which is not the case if you clone
 | 
				
			||||||
   into a folder below ``/root``!
 | 
					   it into a folder below ``/root``!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. sidebar:: further read
 | 
					.. sidebar:: further read
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -52,8 +52,8 @@ In the same shell create *virtualenv*:
 | 
				
			|||||||
   :start-after: START create virtualenv
 | 
					   :start-after: START create virtualenv
 | 
				
			||||||
   :end-before: END create virtualenv
 | 
					   :end-before: END create virtualenv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To install searx's dependencies, exit the SearXNG *bash* session you opened above
 | 
					To install SearXNG's dependencies, exit the SearXNG *bash* session you opened above
 | 
				
			||||||
and restart a new.  Before install, first check if your *virtualenv* was sourced
 | 
					and start a new one.  Before installing, check if your *virtualenv* was sourced
 | 
				
			||||||
from the login (*~/.profile*):
 | 
					from the login (*~/.profile*):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
 | 
					.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
 | 
				
			||||||
@ -127,6 +127,6 @@ configuration file.
 | 
				
			|||||||
   :end-before: END check searxng installation
 | 
					   :end-before: END check searxng installation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If everything works fine, hit ``[CTRL-C]`` to stop the *webapp* and disable the
 | 
					If everything works fine, hit ``[CTRL-C]`` to stop the *webapp* and disable the
 | 
				
			||||||
debug option in ``settings.yml``. You can now exit SearXNG user bash (enter exit
 | 
					debug option in ``settings.yml``. You can now exit SearXNG user bash session (enter exit
 | 
				
			||||||
command twice).  At this point SearXNG is not demonized; uwsgi allows this.
 | 
					command twice).  At this point SearXNG is not demonized; uwsgi allows this.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -80,7 +80,7 @@ Distributors
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
The `uWSGI Emperor`_ mode and `systemd unit template`_ is what the distributors
 | 
					The `uWSGI Emperor`_ mode and `systemd unit template`_ is what the distributors
 | 
				
			||||||
mostly offer their users, even if they differ in the way they implement both
 | 
					mostly offer their users, even if they differ in the way they implement both
 | 
				
			||||||
modes and their defaults.  Another point they might differ is the packaging of
 | 
					modes and their defaults.  Another point they might differ in is the packaging of
 | 
				
			||||||
plugins (if so, compare :ref:`install packages`) and what the default python
 | 
					plugins (if so, compare :ref:`install packages`) and what the default python
 | 
				
			||||||
interpreter is (python2 vs. python3).
 | 
					interpreter is (python2 vs. python3).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -98,8 +98,8 @@ Debian's uWSGI layout
 | 
				
			|||||||
    https://salsa.debian.org/uwsgi-team/uwsgi/-/raw/debian/latest/debian/uwsgi.README.Debian
 | 
					    https://salsa.debian.org/uwsgi-team/uwsgi/-/raw/debian/latest/debian/uwsgi.README.Debian
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Be aware, Debian's uWSGI layout is quite different from the standard uWSGI
 | 
					Be aware, Debian's uWSGI layout is quite different from the standard uWSGI
 | 
				
			||||||
configuration.  Your are familiar with :ref:`Debian's Apache layout`? .. they do
 | 
					configuration.  Your are familiar with :ref:`Debian's Apache layout`? .. they do a
 | 
				
			||||||
similar for the uWSGI infrastructure. The folders are::
 | 
					similar thing for the uWSGI infrastructure. The folders are::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /etc/uwsgi/apps-available/
 | 
					    /etc/uwsgi/apps-available/
 | 
				
			||||||
    /etc/uwsgi/apps-enabled/
 | 
					    /etc/uwsgi/apps-enabled/
 | 
				
			||||||
@ -108,7 +108,7 @@ The `uwsgi ini file`_ is enabled by a symbolic link::
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  ln -s /etc/uwsgi/apps-available/searxng.ini /etc/uwsgi/apps-enabled/
 | 
					  ln -s /etc/uwsgi/apps-available/searxng.ini /etc/uwsgi/apps-enabled/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
More details you will find in the uwsgi.README.Debian_
 | 
					More details can be found in the uwsgi.README.Debian_
 | 
				
			||||||
(``/usr/share/doc/uwsgi/README.Debian.gz``).  Some commands you should know on
 | 
					(``/usr/share/doc/uwsgi/README.Debian.gz``).  Some commands you should know on
 | 
				
			||||||
Debian:
 | 
					Debian:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -235,8 +235,8 @@ major release is from Dec. 2013, since the there had been only bugfix releases
 | 
				
			|||||||
  **In Tyrant mode, there is no way to get additional groups, and the uWSGI
 | 
					  **In Tyrant mode, there is no way to get additional groups, and the uWSGI
 | 
				
			||||||
  process misses additional permissions that may be needed.**
 | 
					  process misses additional permissions that may be needed.**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
By example, on Fedora (RHEL): If you try to install a redis DB with socket
 | 
					For example on Fedora (RHEL): If you try to install a redis DB with socket
 | 
				
			||||||
communication and you want to connect from the SearXNG uWSGI, you will see a
 | 
					communication and you want to connect to it from the SearXNG uWSGI, you will see a
 | 
				
			||||||
*Permission denied* in the log of your instance::
 | 
					*Permission denied* in the log of your instance::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ERROR:searx.shared.redis: [searxng (993)] can't connect redis DB ...
 | 
					  ERROR:searx.shared.redis: [searxng (993)] can't connect redis DB ...
 | 
				
			||||||
 | 
				
			|||||||
@ -10,7 +10,7 @@ Installation
 | 
				
			|||||||
- :ref:`installation scripts`
 | 
					- :ref:`installation scripts`
 | 
				
			||||||
- :ref:`installation basic`
 | 
					- :ref:`installation basic`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The :ref:`installation basic` is a excellent illustration of *how a SearXNG
 | 
					The :ref:`installation basic` is an excellent illustration of *how a SearXNG
 | 
				
			||||||
instance is build up* (see :ref:`architecture uWSGI`).  If you do not have any
 | 
					instance is build up* (see :ref:`architecture uWSGI`).  If you do not have any
 | 
				
			||||||
special preferences, its recommend to use the :ref:`installation docker` or the
 | 
					special preferences, its recommend to use the :ref:`installation docker` or the
 | 
				
			||||||
:ref:`installation scripts`.
 | 
					:ref:`installation scripts`.
 | 
				
			||||||
 | 
				
			|||||||
@ -18,7 +18,7 @@ How to update
 | 
				
			|||||||
=============
 | 
					=============
 | 
				
			||||||
 | 
					
 | 
				
			||||||
How to update depends on the :ref:`installation` method.  If you have used the
 | 
					How to update depends on the :ref:`installation` method.  If you have used the
 | 
				
			||||||
:ref:`installation scripts`, use ``update`` command from the :ref:`searxng.sh`
 | 
					:ref:`installation scripts`, use the ``update`` command from the :ref:`searxng.sh`
 | 
				
			||||||
script.
 | 
					script.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. code:: sh
 | 
					.. code:: sh
 | 
				
			||||||
@ -31,7 +31,7 @@ How to inspect & debug
 | 
				
			|||||||
======================
 | 
					======================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
How to debug depends on the :ref:`installation` method.  If you have used the
 | 
					How to debug depends on the :ref:`installation` method.  If you have used the
 | 
				
			||||||
:ref:`installation scripts`, use ``inspect`` command from the :ref:`searxng.sh`
 | 
					:ref:`installation scripts`, use the ``inspect`` command from the :ref:`searxng.sh`
 | 
				
			||||||
script.
 | 
					script.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. code:: sh
 | 
					.. code:: sh
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
   - :ref:`installation nginx`
 | 
					   - :ref:`installation nginx`
 | 
				
			||||||
   - :ref:`installation apache`
 | 
					   - :ref:`installation apache`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To simplify installation and maintenance of a SearXNG instance you can use the
 | 
					To simplify the installation and maintenance of a SearXNG instance you can use the
 | 
				
			||||||
script :origin:`utils/searxng.sh`.
 | 
					script :origin:`utils/searxng.sh`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Install
 | 
					Install
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user