2015-11-17 23:38:25 +01:00
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" / >
2016-11-04 21:56:14 +01:00
< title > Installation — searx 0.10.0 documentation< / title >
2015-11-17 23:38:25 +01:00
< link rel = "stylesheet" href = "../../_static/style.css" type = "text/css" / >
< link rel = "stylesheet" href = "../../_static/pygments.css" type = "text/css" / >
< script type = "text/javascript" >
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../',
2016-11-04 21:56:14 +01:00
VERSION: '0.10.0',
2015-11-17 23:38:25 +01:00
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
< / script >
< script type = "text/javascript" src = "../../_static/jquery.js" > < / script >
< script type = "text/javascript" src = "../../_static/underscore.js" > < / script >
< script type = "text/javascript" src = "../../_static/doctools.js" > < / script >
2016-11-04 21:56:14 +01:00
< link rel = "index" title = "Index" href = "../../genindex.html" / >
< link rel = "search" title = "Search" href = "../../search.html" / >
< link rel = "top" title = "searx 0.10.0 documentation" href = "../../index.html" / >
2016-07-09 22:32:57 +02:00
< link rel = "next" title = "Administration API" href = "../../admin/api.html" / >
2016-11-20 21:13:02 +01:00
< link rel = "prev" title = "Why use a private instance?" href = "../../user/own-instance.html" / >
2015-11-17 23:38:25 +01:00
< link media = "only screen and (max-device-width: 480px)" href = "../../_static/small_flask.css" type = "text/css" rel = "stylesheet" / >
< meta name = "viewport" content = "width=device-width, initial-scale=0.9, maximum-scale=0.9" >
< / head >
< body role = "document" >
< div class = "document" >
< div class = "documentwrapper" >
< div class = "bodywrapper" >
< div class = "body" role = "main" >
< div class = "section" id = "installation" >
2016-07-15 18:42:56 +02:00
< span id = "id1" > < / span > < h1 > < a class = "toc-backref" href = "#id3" > Installation< / a > < a class = "headerlink" href = "#installation" title = "Permalink to this headline" > ¶< / a > < / h1 >
2016-01-10 20:10:53 +01:00
< div class = "contents topic" id = "contents" >
< p class = "topic-title first" > Contents< / p >
< ul class = "simple" >
2016-07-15 18:42:56 +02:00
< li > < a class = "reference internal" href = "#installation" id = "id3" > Installation< / a > < ul >
< li > < a class = "reference internal" href = "#basic-installation" id = "id4" > Basic installation< / a > < / li >
< li > < a class = "reference internal" href = "#configuration" id = "id5" > Configuration< / a > < / li >
< li > < a class = "reference internal" href = "#check" id = "id6" > Check< / a > < / li >
< li > < a class = "reference internal" href = "#uwsgi" id = "id7" > uwsgi< / a > < / li >
< li > < a class = "reference internal" href = "#web-server" id = "id8" > Web server< / a > < ul >
< li > < a class = "reference internal" href = "#with-nginx" id = "id9" > with nginx< / a > < / li >
< li > < a class = "reference internal" href = "#with-apache" id = "id10" > with apache< / a > < / li >
2016-01-10 20:10:53 +01:00
< / ul >
< / li >
2016-07-15 18:42:56 +02:00
< li > < a class = "reference internal" href = "#how-to-update" id = "id11" > How to update< / a > < / li >
< li > < a class = "reference internal" href = "#docker" id = "id12" > Docker< / a > < / li >
2016-01-10 20:10:53 +01:00
< / ul >
< / li >
2016-11-20 21:13:02 +01:00
< li > < a class = "reference internal" href = "#references" id = "id13" > References< / a > < / li >
2016-01-10 20:10:53 +01:00
< / ul >
< / div >
2015-11-17 23:38:25 +01:00
< div class = "section" id = "basic-installation" >
2016-07-15 18:42:56 +02:00
< h2 > < a class = "toc-backref" href = "#id4" > Basic installation< / a > < a class = "headerlink" href = "#basic-installation" title = "Permalink to this headline" > ¶< / a > < / h2 >
2016-11-20 21:13:02 +01:00
< p > Step by step installation for Debian/Ubuntu with virtualenv. For Ubuntu, be sure to have enable universe repository.< / p >
2016-01-10 20:10:53 +01:00
< p > Install packages:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > sudo< / span > < span class = "n" > apt< / span > < span class = "o" > -< / span > < span class = "n" > get< / span > < span class = "n" > install< / span > < span class = "n" > git< / span > < span class = "n" > build< / span > < span class = "o" > -< / span > < span class = "n" > essential< / span > < span class = "n" > libxslt< / span > < span class = "o" > -< / span > < span class = "n" > dev< / span > < span class = "n" > python< / span > < span class = "o" > -< / span > < span class = "n" > dev< / span > < span class = "n" > python< / span > < span class = "o" > -< / span > < span class = "n" > virtualenv< / span > < span class = "n" > python< / span > < span class = "o" > -< / span > < span class = "n" > pybabel< / span > < span class = "n" > zlib1g< / span > < span class = "o" > -< / span > < span class = "n" > dev< / span > < span class = "n" > libffi< / span > < span class = "o" > -< / span > < span class = "n" > dev< / span > < span class = "n" > libssl< / span > < span class = "o" > -< / span > < span class = "n" > dev< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
2016-01-10 20:10:53 +01:00
< p > Install searx:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > cd< / span > < span class = "o" > /< / span > < span class = "n" > usr< / span > < span class = "o" > /< / span > < span class = "n" > local< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > sudo< / span > < span class = "n" > git< / span > < span class = "n" > clone< / span > < span class = "n" > https< / span > < span class = "p" > :< / span > < span class = "o" > //< / span > < span class = "n" > github< / span > < span class = "o" > .< / span > < span class = "n" > com< / span > < span class = "o" > /< / span > < span class = "n" > asciimoo< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span > < span class = "o" > .< / span > < span class = "n" > git< / span >
< span class = "n" > sudo< / span > < span class = "n" > useradd< / span > < span class = "n" > searx< / span > < span class = "o" > -< / span > < span class = "n" > d< / span > < span class = "o" > /< / span > < span class = "n" > usr< / span > < span class = "o" > /< / span > < span class = "n" > local< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span >
< span class = "n" > sudo< / span > < span class = "n" > chown< / span > < span class = "n" > searx< / span > < span class = "p" > :< / span > < span class = "n" > searx< / span > < span class = "o" > -< / span > < span class = "n" > R< / span > < span class = "o" > /< / span > < span class = "n" > usr< / span > < span class = "o" > /< / span > < span class = "n" > local< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
2016-01-10 20:10:53 +01:00
< p > Install dependencies in a virtualenv:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > sudo< / span > < span class = "o" > -< / span > < span class = "n" > u< / span > < span class = "n" > searx< / span > < span class = "o" > -< / span > < span class = "n" > i< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > cd< / span > < span class = "o" > /< / span > < span class = "n" > usr< / span > < span class = "o" > /< / span > < span class = "n" > local< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span >
< span class = "n" > virtualenv< / span > < span class = "n" > searx< / span > < span class = "o" > -< / span > < span class = "n" > ve< / span >
< span class = "o" > .< / span > < span class = "o" > ./< / span > < span class = "n" > searx< / span > < span class = "o" > -< / span > < span class = "n" > ve< / span > < span class = "o" > /< / span > < span class = "nb" > bin< / span > < span class = "o" > /< / span > < span class = "n" > activate< / span >
< span class = "o" > ./< / span > < span class = "n" > manage< / span > < span class = "o" > .< / span > < span class = "n" > sh< / span > < span class = "n" > update_packages< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
< / div >
< div class = "section" id = "configuration" >
2016-07-15 18:42:56 +02:00
< h2 > < a class = "toc-backref" href = "#id5" > Configuration< / a > < a class = "headerlink" href = "#configuration" title = "Permalink to this headline" > ¶< / a > < / h2 >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > sed< / span > < span class = "o" > -< / span > < span class = "n" > i< / span > < span class = "o" > -< / span > < span class = "n" > e< / span > < span class = "s2" > " s/ultrasecretkey/`openssl rand -hex 16`/g" < / span > < span class = "n" > searx< / span > < span class = "o" > /< / span > < span class = "n" > settings< / span > < span class = "o" > .< / span > < span class = "n" > yml< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
< p > Edit searx/settings.yml if necessary.< / p >
< / div >
< div class = "section" id = "check" >
2016-07-15 18:42:56 +02:00
< h2 > < a class = "toc-backref" href = "#id6" > Check< / a > < a class = "headerlink" href = "#check" title = "Permalink to this headline" > ¶< / a > < / h2 >
2016-01-10 20:10:53 +01:00
< p > Start searx:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > python< / span > < span class = "n" > searx< / span > < span class = "o" > /< / span > < span class = "n" > webapp< / span > < span class = "o" > .< / span > < span class = "n" > py< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
< p > Go to < a class = "reference external" href = "http://localhost:8888" > http://localhost:8888< / a > < / p >
2016-01-10 20:10:53 +01:00
< p > If everything works fine, disable the debug option in settings.yml:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > sed< / span > < span class = "o" > -< / span > < span class = "n" > i< / span > < span class = "o" > -< / span > < span class = "n" > e< / span > < span class = "s2" > " s/debug : True/debug : False/g" < / span > < span class = "n" > searx< / span > < span class = "o" > /< / span > < span class = "n" > settings< / span > < span class = "o" > .< / span > < span class = "n" > yml< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
< p > At this point searx is not demonized ; uwsgi allows this.< / p >
< p > You can exit the virtualenv and the searx user bash (enter exit command
twice).< / p >
< / div >
< div class = "section" id = "uwsgi" >
2016-07-15 18:42:56 +02:00
< h2 > < a class = "toc-backref" href = "#id7" > uwsgi< / a > < a class = "headerlink" href = "#uwsgi" title = "Permalink to this headline" > ¶< / a > < / h2 >
2016-01-10 20:10:53 +01:00
< p > Install packages:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > sudo< / span > < span class = "n" > apt< / span > < span class = "o" > -< / span > < span class = "n" > get< / span > < span class = "n" > install< / span > < span class = "n" > uwsgi< / span > < span class = "n" > uwsgi< / span > < span class = "o" > -< / span > < span class = "n" > plugin< / span > < span class = "o" > -< / span > < span class = "n" > python< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
< p > Create the configuration file /etc/uwsgi/apps-available/searx.ini with
2016-01-10 20:10:53 +01:00
this content:< / p >
2016-11-04 21:56:14 +01:00
< div class = "highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "p" > [< / span > < span class = "n" > uwsgi< / span > < span class = "p" > ]< / span >
< span class = "c1" > # Who will run the code< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > uid< / span > < span class = "o" > =< / span > < span class = "n" > searx< / span >
< span class = "n" > gid< / span > < span class = "o" > =< / span > < span class = "n" > searx< / span >
2015-11-17 23:38:25 +01:00
2016-11-04 21:56:14 +01:00
< span class = "c1" > # disable logging for privacy< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > disable< / span > < span class = "o" > -< / span > < span class = "n" > logging< / span > < span class = "o" > =< / span > < span class = "n" > true< / span >
2015-11-17 23:38:25 +01:00
2016-11-04 21:56:14 +01:00
< span class = "c1" > # Number of workers (usually CPU count)< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > workers< / span > < span class = "o" > =< / span > < span class = "mi" > 4< / span >
2015-11-17 23:38:25 +01:00
2016-11-04 21:56:14 +01:00
< span class = "c1" > # The right granted on the created socket< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > chmod< / span > < span class = "o" > -< / span > < span class = "n" > socket< / span > < span class = "o" > =< / span > < span class = "mi" > 666< / span >
2015-11-17 23:38:25 +01:00
2016-11-04 21:56:14 +01:00
< span class = "c1" > # Plugin to use and interpretor config< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > single< / span > < span class = "o" > -< / span > < span class = "n" > interpreter< / span > < span class = "o" > =< / span > < span class = "n" > true< / span >
< span class = "n" > master< / span > < span class = "o" > =< / span > < span class = "n" > true< / span >
< span class = "n" > plugin< / span > < span class = "o" > =< / span > < span class = "n" > python< / span >
2015-11-17 23:38:25 +01:00
2016-11-04 21:56:14 +01:00
< span class = "c1" > # Module to import< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > module< / span > < span class = "o" > =< / span > < span class = "n" > searx< / span > < span class = "o" > .< / span > < span class = "n" > webapp< / span >
2015-11-17 23:38:25 +01:00
2016-11-04 21:56:14 +01:00
< span class = "c1" > # Virtualenv and python path< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > virtualenv< / span > < span class = "o" > =< / span > < span class = "o" > /< / span > < span class = "n" > usr< / span > < span class = "o" > /< / span > < span class = "n" > local< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span > < span class = "o" > -< / span > < span class = "n" > ve< / span > < span class = "o" > /< / span >
< span class = "n" > pythonpath< / span > < span class = "o" > =< / span > < span class = "o" > /< / span > < span class = "n" > usr< / span > < span class = "o" > /< / span > < span class = "n" > local< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span > < span class = "o" > /< / span >
< span class = "n" > chdir< / span > < span class = "o" > =< / span > < span class = "o" > /< / span > < span class = "n" > usr< / span > < span class = "o" > /< / span > < span class = "n" > local< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span > < span class = "o" > /< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
2016-01-10 20:10:53 +01:00
< p > Activate the uwsgi application and restart:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > cd< / span > < span class = "o" > /< / span > < span class = "n" > etc< / span > < span class = "o" > /< / span > < span class = "n" > uwsgi< / span > < span class = "o" > /< / span > < span class = "n" > apps< / span > < span class = "o" > -< / span > < span class = "n" > enabled< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > ln< / span > < span class = "o" > -< / span > < span class = "n" > s< / span > < span class = "o" > ../< / span > < span class = "n" > apps< / span > < span class = "o" > -< / span > < span class = "n" > available< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span > < span class = "o" > .< / span > < span class = "n" > ini< / span >
< span class = "o" > /< / span > < span class = "n" > etc< / span > < span class = "o" > /< / span > < span class = "n" > init< / span > < span class = "o" > .< / span > < span class = "n" > d< / span > < span class = "o" > /< / span > < span class = "n" > uwsgi< / span > < span class = "n" > restart< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
< / div >
< div class = "section" id = "web-server" >
2016-07-15 18:42:56 +02:00
< h2 > < a class = "toc-backref" href = "#id8" > Web server< / a > < a class = "headerlink" href = "#web-server" title = "Permalink to this headline" > ¶< / a > < / h2 >
2015-11-17 23:38:25 +01:00
< div class = "section" id = "with-nginx" >
2016-07-15 18:42:56 +02:00
< h3 > < a class = "toc-backref" href = "#id9" > with nginx< / a > < a class = "headerlink" href = "#with-nginx" title = "Permalink to this headline" > ¶< / a > < / h3 >
2015-11-17 23:38:25 +01:00
< p > If nginx is not installed (uwsgi will not work with the package
2016-01-10 20:10:53 +01:00
nginx-light):< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > sudo< / span > < span class = "n" > apt< / span > < span class = "o" > -< / span > < span class = "n" > get< / span > < span class = "n" > install< / span > < span class = "n" > nginx< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
< div class = "section" id = "hosted-at" >
< h4 > Hosted at /< a class = "headerlink" href = "#hosted-at" title = "Permalink to this headline" > ¶< / a > < / h4 >
< p > Create the configuration file /etc/nginx/sites-available/searx with this
2016-01-10 20:10:53 +01:00
content:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code nginx highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > server< / span > < span class = "p" > {< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > listen< / span > < span class = "mi" > 80< / span > < span class = "p" > ;< / span >
< span class = "n" > server_name< / span > < span class = "n" > searx< / span > < span class = "o" > .< / span > < span class = "n" > example< / span > < span class = "o" > .< / span > < span class = "n" > com< / span > < span class = "p" > ;< / span >
< span class = "n" > root< / span > < span class = "o" > /< / span > < span class = "n" > usr< / span > < span class = "o" > /< / span > < span class = "n" > local< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span > < span class = "p" > ;< / span >
2015-11-17 23:38:25 +01:00
2016-04-21 13:16:18 +02:00
< span class = "n" > location< / span > < span class = "o" > /< / span > < span class = "p" > {< / span >
< span class = "n" > include< / span > < span class = "n" > uwsgi_params< / span > < span class = "p" > ;< / span >
< span class = "n" > uwsgi_pass< / span > < span class = "n" > unix< / span > < span class = "p" > :< / span > < span class = "o" > /< / span > < span class = "n" > run< / span > < span class = "o" > /< / span > < span class = "n" > uwsgi< / span > < span class = "o" > /< / span > < span class = "n" > app< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span > < span class = "o" > /< / span > < span class = "n" > socket< / span > < span class = "p" > ;< / span >
< span class = "p" > }< / span >
< span class = "p" > }< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
2016-01-10 20:10:53 +01:00
< p > Restart service:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > sudo< / span > < span class = "n" > service< / span > < span class = "n" > nginx< / span > < span class = "n" > restart< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > sudo< / span > < span class = "n" > service< / span > < span class = "n" > uwsgi< / span > < span class = "n" > restart< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
2016-01-10 20:10:53 +01:00
< / div >
2015-11-17 23:38:25 +01:00
< div class = "section" id = "from-subdirectory-url-searx" >
2016-01-10 20:10:53 +01:00
< h4 > from subdirectory URL (/searx)< a class = "headerlink" href = "#from-subdirectory-url-searx" title = "Permalink to this headline" > ¶< / a > < / h4 >
2015-11-17 23:38:25 +01:00
< p > Add this configuration in the server config file
2016-11-20 21:13:02 +01:00
/etc/nginx/sites-enabled/default:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code nginx highlight-default" > < div class = "highlight" > < pre > < span > < / span > location = /searx { rewrite ^ /searx/; }
2015-11-17 23:38:25 +01:00
location /searx {
try_files $uri @searx;
}
location @searx {
uwsgi_param SCRIPT_NAME /searx;
include uwsgi_params;
uwsgi_modifier1 30;
uwsgi_pass unix:/run/uwsgi/app/searx/socket;
}
< / pre > < / div >
< / div >
2016-04-21 14:30:17 +02:00
< p > OR< / p >
< p > using reverse proxy
(Please, note that reverse proxy advised to be used in case of single-user or low-traffic instances.)< / p >
2016-11-04 21:56:14 +01:00
< div class = "code nginx highlight-default" > < div class = "highlight" > < pre > < span > < / span > location /searx {
2016-04-21 14:30:17 +02:00
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;
}
< / pre > < / div >
< / div >
2015-11-17 23:38:25 +01:00
< p > Enable base_url in searx/settings.yml< / p >
2016-11-04 21:56:14 +01:00
< div class = "highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > base_url< / span > < span class = "p" > :< / span > < span class = "n" > http< / span > < span class = "p" > :< / span > < span class = "o" > //< / span > < span class = "n" > your< / span > < span class = "o" > .< / span > < span class = "n" > domain< / span > < span class = "o" > .< / span > < span class = "n" > tld< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span > < span class = "o" > /< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
2016-01-10 20:10:53 +01:00
< p > Restart service:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > sudo< / span > < span class = "n" > service< / span > < span class = "n" > nginx< / span > < span class = "n" > restart< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > sudo< / span > < span class = "n" > service< / span > < span class = "n" > uwsgi< / span > < span class = "n" > restart< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
< div class = "section" id = "disable-logs" >
< h5 > disable logs< a class = "headerlink" href = "#disable-logs" title = "Permalink to this headline" > ¶< / a > < / h5 >
< p > for better privacy you can disable nginx logs about searx.< / p >
2016-01-10 20:10:53 +01:00
< p > how to proceed: below < code class = "docutils literal" > < span class = "pre" > uwsgi_pass< / span > < / code > in
2015-11-17 23:38:25 +01:00
/etc/nginx/sites-available/default add< / p >
2016-11-04 21:56:14 +01:00
< div class = "highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > access_log< / span > < span class = "o" > /< / span > < span class = "n" > dev< / span > < span class = "o" > /< / span > < span class = "n" > null< / span > < span class = "p" > ;< / span >
2015-11-17 23:38:25 +01:00
< span class = "n" > error_log< / span > < span class = "o" > /< / span > < span class = "n" > dev< / span > < span class = "o" > /< / span > < span class = "n" > null< / span > < span class = "p" > ;< / span >
< / pre > < / div >
< / div >
2016-01-10 20:10:53 +01:00
< p > Restart service:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > sudo< / span > < span class = "n" > service< / span > < span class = "n" > nginx< / span > < span class = "n" > restart< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
< / div >
< / div >
< / div >
< div class = "section" id = "with-apache" >
2016-07-15 18:42:56 +02:00
< h3 > < a class = "toc-backref" href = "#id10" > with apache< / a > < a class = "headerlink" href = "#with-apache" title = "Permalink to this headline" > ¶< / a > < / h3 >
2016-01-10 20:10:53 +01:00
< p > Add wsgi mod:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > sudo< / span > < span class = "n" > apt< / span > < span class = "o" > -< / span > < span class = "n" > get< / span > < span class = "n" > install< / span > < span class = "n" > libapache2< / span > < span class = "o" > -< / span > < span class = "n" > mod< / span > < span class = "o" > -< / span > < span class = "n" > uwsgi< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > sudo< / span > < span class = "n" > a2enmod< / span > < span class = "n" > uwsgi< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
2016-01-10 20:10:53 +01:00
< p > Add this configuration in the file /etc/apache2/apache2.conf:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code apache highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "o" > < < / span > < span class = "n" > Location< / span > < span class = "o" > /> < / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > Options< / span > < span class = "n" > FollowSymLinks< / span > < span class = "n" > Indexes< / span >
< span class = "n" > SetHandler< / span > < span class = "n" > uwsgi< / span > < span class = "o" > -< / span > < span class = "n" > handler< / span >
< span class = "n" > uWSGISocket< / span > < span class = "o" > /< / span > < span class = "n" > run< / span > < span class = "o" > /< / span > < span class = "n" > uwsgi< / span > < span class = "o" > /< / span > < span class = "n" > app< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span > < span class = "o" > /< / span > < span class = "n" > socket< / span >
< span class = "o" > < /< / span > < span class = "n" > Location< / span > < span class = "o" > > < / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
< p > Note that if your instance of searx is not at the root, you should
change < code class = "docutils literal" > < span class = "pre" > < Location< / span > < span class = "pre" > /> < / span > < / code > by the location of your instance, like
< code class = "docutils literal" > < span class = "pre" > < Location< / span > < span class = "pre" > /searx> < / span > < / code > .< / p >
2016-01-10 20:10:53 +01:00
< p > Restart Apache:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > sudo< / span > < span class = "o" > /< / span > < span class = "n" > etc< / span > < span class = "o" > /< / span > < span class = "n" > init< / span > < span class = "o" > .< / span > < span class = "n" > d< / span > < span class = "o" > /< / span > < span class = "n" > apache2< / span > < span class = "n" > restart< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
2016-07-15 18:42:56 +02:00
< div class = "section" id = "id2" >
< h4 > disable logs< a class = "headerlink" href = "#id2" title = "Permalink to this headline" > ¶< / a > < / h4 >
2015-11-17 23:38:25 +01:00
< p > For better privacy you can disable Apache logs.< / p >
2016-01-10 20:10:53 +01:00
< p > WARNING: not tested< / p >
< p > WARNING: you can only disable logs for the whole (virtual) server not
2015-11-17 23:38:25 +01:00
for a specific path.< / p >
2016-01-10 20:10:53 +01:00
< p > Go back to /etc/apache2/apache2.conf and above < code class = "docutils literal" > < span class = "pre" > < Location< / span > < span class = "pre" > /> < / span > < / code > add:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code apache highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > CustomLog< / span > < span class = "o" > /< / span > < span class = "n" > dev< / span > < span class = "o" > /< / span > < span class = "n" > null< / span > < span class = "n" > combined< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
2016-01-10 20:10:53 +01:00
< p > Restart Apache:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > sudo< / span > < span class = "o" > /< / span > < span class = "n" > etc< / span > < span class = "o" > /< / span > < span class = "n" > init< / span > < span class = "o" > .< / span > < span class = "n" > d< / span > < span class = "o" > /< / span > < span class = "n" > apache2< / span > < span class = "n" > restart< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
< / div >
2016-01-10 20:10:53 +01:00
< / div >
< / div >
2015-11-17 23:38:25 +01:00
< div class = "section" id = "how-to-update" >
2016-07-15 18:42:56 +02:00
< h2 > < a class = "toc-backref" href = "#id11" > How to update< / a > < a class = "headerlink" href = "#how-to-update" title = "Permalink to this headline" > ¶< / a > < / h2 >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > cd< / span > < span class = "o" > /< / span > < span class = "n" > usr< / span > < span class = "o" > /< / span > < span class = "n" > local< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > sudo< / span > < span class = "o" > -< / span > < span class = "n" > u< / span > < span class = "n" > searx< / span > < span class = "o" > -< / span > < span class = "n" > i< / span >
< span class = "o" > .< / span > < span class = "o" > ./< / span > < span class = "n" > searx< / span > < span class = "o" > -< / span > < span class = "n" > ve< / span > < span class = "o" > /< / span > < span class = "nb" > bin< / span > < span class = "o" > /< / span > < span class = "n" > activate< / span >
< span class = "n" > git< / span > < span class = "n" > stash< / span >
< span class = "n" > git< / span > < span class = "n" > pull< / span > < span class = "n" > origin< / span > < span class = "n" > master< / span >
< span class = "n" > git< / span > < span class = "n" > stash< / span > < span class = "n" > apply< / span >
< span class = "o" > ./< / span > < span class = "n" > manage< / span > < span class = "o" > .< / span > < span class = "n" > sh< / span > < span class = "n" > update_packages< / span >
< span class = "n" > sudo< / span > < span class = "n" > service< / span > < span class = "n" > uwsgi< / span > < span class = "n" > restart< / span >
2015-11-17 23:38:25 +01:00
< / pre > < / div >
< / div >
< / div >
2016-01-10 20:10:53 +01:00
< div class = "section" id = "docker" >
2016-07-15 18:42:56 +02:00
< h2 > < a class = "toc-backref" href = "#id12" > Docker< / a > < a class = "headerlink" href = "#docker" title = "Permalink to this headline" > ¶< / a > < / h2 >
2016-01-10 20:10:53 +01:00
< p > Make sure you have installed Docker. For instance, you can deploy searx like this:< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > docker pull wonderfall/searx
2016-01-10 20:10:53 +01:00
docker run -d --name searx -p $PORT:8888 wonderfall/searx
< / pre > < / div >
< / div >
< p > Go to < a class = "reference external" href = "http://localhost:$PORT" > http://localhost:$PORT< / a > .< / p >
< p > See < a class = "reference external" href = "https://hub.docker.com/r/wonderfall/searx/" > https://hub.docker.com/r/wonderfall/searx/< / a > for more informations.< / p >
< p > It’ s also possible to build searx from the embedded Dockerfile.< / p >
2016-11-04 21:56:14 +01:00
< div class = "code sh highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > git< / span > < span class = "n" > clone< / span > < span class = "n" > https< / span > < span class = "p" > :< / span > < span class = "o" > //< / span > < span class = "n" > github< / span > < span class = "o" > .< / span > < span class = "n" > com< / span > < span class = "o" > /< / span > < span class = "n" > asciimoo< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span > < span class = "o" > .< / span > < span class = "n" > git< / span >
2016-04-21 13:16:18 +02:00
< span class = "n" > cd< / span > < span class = "n" > searx< / span >
< span class = "n" > docker< / span > < span class = "n" > build< / span > < span class = "o" > -< / span > < span class = "n" > t< / span > < span class = "n" > whatever< / span > < span class = "o" > /< / span > < span class = "n" > searx< / span > < span class = "o" > .< / span >
2016-01-10 20:10:53 +01:00
< / pre > < / div >
< / div >
< / div >
2015-11-17 23:38:25 +01:00
< / div >
2016-11-20 21:13:02 +01:00
< div class = "section" id = "references" >
< h1 > < a class = "toc-backref" href = "#id13" > References< / a > < a class = "headerlink" href = "#references" title = "Permalink to this headline" > ¶< / a > < / h1 >
< blockquote >
< div > < ul class = "simple" >
< li > < a class = "reference external" href = "https://about.okhin.fr/posts/Searx/" > https://about.okhin.fr/posts/Searx/< / a > with some additions< / li >
< li > How to: < a class = "reference external" href = "https://www.reddit.com/r/privacytoolsIO/comments/366kvn/how_to_setup_your_own_privacy_respecting_search/" > Setup searx in a couple of hours with a free SSL certificate< / a > < / li >
< / ul >
< / div > < / blockquote >
< / div >
2015-11-17 23:38:25 +01:00
< / div >
< / div >
< / div >
< div class = "sphinxsidebar" role = "navigation" aria-label = "main navigation" >
< div class = "sphinxsidebarwrapper" > < div class = "sidebar_container body" >
< h1 > Searx< / h1 >
< ul >
< li > < a href = "../../index.html" > Home< / a > < / li >
< li > < a href = "https://github.com/asciimoo/searx" > Source< / a > < / li >
< li > < a href = "https://github.com/asciimoo/searx/wiki" > Wiki< / a > < / li >
< li > < a href = "https://github.com/asciimoo/searx/wiki/Searx-instances" > Public instances< / a > < / li >
< / ul >
< hr / >
< ul >
< li > < a href = "https://twitter.com/Searx_engine" > Twitter< / a > < / li >
< li > < a href = "https://flattr.com/submit/auto?user_id=asciimoo&url=https://github.com/asciimoo/searx&title=searx&language=&tags=github&category=software" > Flattr< / a > < / li >
< li > < a href = "https://gratipay.com/searx" > Gratipay< / a > < / li >
< / ul >
< / div >
< / div >
< / div >
< div class = "clearer" > < / div >
< / div >
< div class = "footer" >
2016-07-09 22:32:57 +02:00
© Copyright 2015-2016, Adam Tauber.
2015-11-17 23:38:25 +01:00
< / div >
< / body >
< / html >