<spanid="installation-basic"></span><h1>Step by step installation<aclass="headerlink"href="#step-by-step-installation"title="Permalink to this headline">¶</a></h1>
<p>Step by step installation with virtualenv. For Ubuntu, be sure to have enable
universe repository.</p>
<divclass="section"id="install-packages">
<spanid="id1"></span><h2><aclass="toc-backref"href="#id2">Install packages</a><aclass="headerlink"href="#install-packages"title="Permalink to this headline">¶</a></h2>
<divclass="admonition hint">
<pclass="admonition-title">Hint</p>
<p>This installs also the packages needed by <aclass="reference internal"href="installation-uwsgi.html#searx-uwsgi"><spanclass="std std-ref">uwsgi</span></a></p>
</div>
</div>
<divclass="section"id="create-user">
<spanid="create-searx-user"></span><h2><aclass="toc-backref"href="#id3">Create user</a><aclass="headerlink"href="#create-user"title="Permalink to this headline">¶</a></h2>
<spanid="searx-src"></span><h2><aclass="toc-backref"href="#id4">install searx & dependencies</a><aclass="headerlink"href="#install-searx-dependencies"title="Permalink to this headline">¶</a></h2>
<p>Start a interactive shell from new created user and clone searx:</p>
<p>In the same shell create <em>virtualenv</em>:</p>
<p>To install searx’s dependencies, exit the searx <em>bash</em> session you opened above
and restart a new. Before install, first check if your <em>virualenv</em> was sourced
from the login (<em>~/.profile</em>):</p>
<divclass="admonition tip">
<pclass="admonition-title">Tip</p>
<p>Open a second terminal for the configuration tasks and left the <codeclass="docutils literal notranslate"><spanclass="pre">(searx)$</span></code>
terminal open for the tasks below.</p>
</div>
</div>
<divclass="section"id="configuration">
<h2><aclass="toc-backref"href="#id5">Configuration</a><aclass="headerlink"href="#configuration"title="Permalink to this headline">¶</a></h2>
<p>Create a copy of the <aclass="reference external"href="https://github.com/searx/searx/blob/master/searx/settings.yml">git://searx/settings.yml</a> configuration file in system’s
<em>/etc</em> folder. Configure like shown below – replace <codeclass="docutils literal notranslate"><spanclass="pre">searx@\$(uname</span><spanclass="pre">-n)</span></code> with
a name of your choice –<em>and/or</em> edit <codeclass="docutils literal notranslate"><spanclass="pre">/etc/searx/settings.yml</span></code> if necessary.</p>
</div>
<divclass="section"id="check">
<h2><aclass="toc-backref"href="#id6">Check</a><aclass="headerlink"href="#check"title="Permalink to this headline">¶</a></h2>
<p>To check your searx setup, optional enable debugging and start the <em>webapp</em>.
Searx looks at the exported environment <codeclass="docutils literal notranslate"><spanclass="pre">$SEARX_SETTINGS_PATH</span></code> for a
configuration file.</p>
<p>If everything works fine, hit <codeclass="docutils literal notranslate"><spanclass="pre">[CTRL-C]</span></code> to stop the <em>webapp</em> and disable the
debug option in <codeclass="docutils literal notranslate"><spanclass="pre">settings.yml</span></code>. You can now exit searx user bash (enter exit
command twice). At this point searx is not demonized; uwsgi allows this.</p>