web
This commit is contained in:
parent
7249394f3d
commit
968484ddf6
@ -29,9 +29,18 @@
|
||||
|
||||
<div class="content">
|
||||
|
||||
<h1>Contributing to Recoll developement and availability</h1>
|
||||
|
||||
<p>If you are not a software developer, or have no time
|
||||
available for testing the application of thinking about how it
|
||||
could be improved, there is always the possibility of
|
||||
contributing a donation, which will be much appreciated !<br/>
|
||||
<a href="/donations/index.html">
|
||||
<img src="/donations/btn_donate_LG.gif" /></a>
|
||||
</p>
|
||||
|
||||
<p>If you wish to become involved in the development of <span
|
||||
class="application">Recoll</span>, you are very much welcome,
|
||||
please send me an <a
|
||||
class="application">Recoll</span>, please send me an <a
|
||||
href="mailto:jfd@recoll.org">email</a>.</p>
|
||||
|
||||
<h1><a name="translation">Translation</a></h1>
|
||||
|
||||
@ -69,7 +69,7 @@
|
||||
<div id="general">
|
||||
<h2><a name="general">General information</a></h2>
|
||||
|
||||
<p>The current version is 1.22.3. <a href="release-1.22.html">Release
|
||||
<p>The current version is 1.22.4. <a href="release-1.22.html">Release
|
||||
notes</a>.</p>
|
||||
|
||||
<p>Recoll <a href="usermanual/usermanual.html#RCL.INSTALL">Installation / building
|
||||
@ -116,12 +116,12 @@
|
||||
<div id="source">
|
||||
<h2><a name="source">Source</a></h2>
|
||||
|
||||
<h3>Current release distribution: 1.22.3:</h3>
|
||||
<h3>Current release distribution: 1.22.4:</h3>
|
||||
<!-- Attention: source packages must remain here, not in a
|
||||
subdirectory, because of all the places they're referred from
|
||||
(package watches) -->
|
||||
|
||||
<p><a href="recoll-1.22.3.tar.gz">recoll-1.22.3.tar.gz</a>.</p>
|
||||
<p><a href="recoll-1.22.4.tar.gz">recoll-1.22.4.tar.gz</a>.</p>
|
||||
<p><a href="release-1.22.html">The release notes</a>.</p>
|
||||
|
||||
<h3>Previous production release 1.21.7:</h3>
|
||||
|
||||
@ -59,14 +59,14 @@
|
||||
</ul>
|
||||
|
||||
<p>The current <span class="application">Recoll</span> version is
|
||||
<a href="download.html">1.22.3</a>
|
||||
<a href="download.html">1.22.4</a>
|
||||
(<a href="release-1.22.html">Release notes</a>,
|
||||
<a href="BUGS.html">known
|
||||
bugs</a>, <a href="release-history.html">Release history</a>).</p>
|
||||
|
||||
|
||||
<p><span class="application">Recoll</span> is based on the very
|
||||
strong <a href="http://www.xapian.org">Xapian</a> search
|
||||
capable <a href="http://www.xapian.org">Xapian</a> search
|
||||
engine library, for which it provides a powerful text
|
||||
extraction layer and a complete, yet easy to use, Qt graphical
|
||||
interface.</p>
|
||||
@ -98,7 +98,10 @@
|
||||
<div class="news">
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>2016-11-25</dt><dd>Release 1.22.4 is available and fixes
|
||||
an ennoying qt5 glitch (advanced search 'start search'
|
||||
button doing nothing).</dd>
|
||||
|
||||
<dt>2016-06-21</dt><dd>Release 1.22.3 is available. This is
|
||||
going to replace 1.21 as the main release. See
|
||||
the <a href="release-1.22.html">the release
|
||||
@ -112,7 +115,8 @@
|
||||
Web UI</a> with Apache, and found out
|
||||
that <a href="pages/recoll-webui-install-wsgi.html">this
|
||||
is really easy</a>, actually both easier to set up and
|
||||
more useful than running it standalone.</dd>
|
||||
more useful than running it standalone. Recently added:
|
||||
instructions for running with Nginx instead of Apache.</dd>
|
||||
|
||||
<dt>2016-04-18</dt><dd>Found a <a href="BUGS.html#GUIADV">GUI
|
||||
crash bug</a> with a reasonably easy workaround.</dd>
|
||||
|
||||
@ -106,7 +106,7 @@
|
||||
<h2>Nouvelles: </h2>
|
||||
|
||||
<dl>
|
||||
|
||||
<td>2016-11-23</td><dd>Version 1.22.4.</dd>
|
||||
<dt>2016-06-15</dt><dd>La version 1.22.3 est disponible et va
|
||||
progressivement remplacer 1.21 comme version
|
||||
principale. <a href="release-1.22.html">Notes de version</a>
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
= Recoll WebUI Apache installation from scratch
|
||||
= Recoll WebUI Apache and nginx installation from scratch
|
||||
|
||||
NOTE: thanks to Michael L. Wilson for the `nginx` part.
|
||||
|
||||
The https://github.com/koniu/recoll-webui[Recoll WebUI] offers an
|
||||
alternative, WEB-based, interface for querying a Recoll index.
|
||||
@ -22,7 +24,7 @@ and, especially can't efficiently leverage the now ubiquitous
|
||||
multiprocessors.
|
||||
|
||||
In multi-user situations, you can get better performance and ease of use
|
||||
from the Recoll WebUI by running it under Apache rather than as a
|
||||
from the Recoll WebUI by running it under Apache or Nginx rather than as a
|
||||
standalone process. With this approach, a few requests per second can
|
||||
easily be handled even in the presence of long-running ones.
|
||||
|
||||
@ -34,20 +36,24 @@ The instructions about using the WebUI under Apache as given in the
|
||||
repository README are a bit terse, and are missing a few details,
|
||||
especially ones which impact performance.
|
||||
|
||||
Here follows the synopsis of two WebUI installations on initially
|
||||
Apache-less Ubuntu (14.04) and DragonFly BSD systems. The first should
|
||||
extend easily to other Debian-based systems, the second at least to
|
||||
FreeBSD. rpm-based systems are left as an exercise to the reader, at least
|
||||
for now...
|
||||
Here follows the synopsis of three WebUI installations on initially
|
||||
Apache-less Ubuntu (14.04) and DragonFly BSD systems, and for
|
||||
Nginx/BSD. The first should extend easily to other Debian-based systems,
|
||||
the second at least to FreeBSD. rpm-based systems are left as an exercise
|
||||
to the reader, at least for now...
|
||||
|
||||
|
||||
CAUTION: THE CONFIGURATIONS DESCRIBED HAVE NO ACCESS CONTROL. ANYONE WITH
|
||||
ACCESS TO THE NETWORK WHERE THE SERVER IS LOCATED CAN RETRIEVE ANY
|
||||
DOCUMENT.
|
||||
|
||||
== On a Debian/Ubuntu system
|
||||
link:#nginx[Jump to the nginx section].
|
||||
|
||||
=== Install recoll
|
||||
[[apache]]
|
||||
== Apache
|
||||
=== On a Debian/Ubuntu system
|
||||
|
||||
==== Install recoll
|
||||
|
||||
sudo apt-get install recoll python-recoll
|
||||
|
||||
@ -60,13 +66,13 @@ Take care to be logged in as the user you want to run the web search as
|
||||
while you do this.
|
||||
|
||||
|
||||
=== Install the WebUI
|
||||
==== Install the WebUI
|
||||
|
||||
Clone the github repository, or extract the master tar installation, and
|
||||
move it to '/var/www/recoll-webui-master/'. Take care that it is read/execute
|
||||
accessible by your user.
|
||||
|
||||
=== Install Apache and mod-wsgi
|
||||
==== Install Apache and mod-wsgi
|
||||
|
||||
|
||||
sudo apt-get install apache2 libapache2-mod-wsgi
|
||||
@ -75,7 +81,7 @@ I then got the following message:
|
||||
|
||||
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
|
||||
|
||||
To clear it, I added a ServerName directive to the apache config, maybe you
|
||||
To clear it, I added a ServerName directive to the Apache config, maybe you
|
||||
won't need it. Edit '/etc/apache2/sites-available/000-default.conf' and add
|
||||
the following at the top (globally). Things work without this fix anyway,
|
||||
this is just to suppress the error message. You probably need to adjust the
|
||||
@ -106,7 +112,7 @@ specify multiple threads on the WSGIDaemonProcess line. Specify multiple
|
||||
processes instead to put multiple CPUs to work on simultaneous requests.
|
||||
|
||||
|
||||
Then run the following to restart apache:
|
||||
Then run the following to restart Apache:
|
||||
|
||||
sudo apachectl restart
|
||||
|
||||
@ -120,9 +126,9 @@ not found (the page looks weird and the search does not work).
|
||||
CAUTION: THERE IS NO ACCESS CONTROL. ANYONE WITH ACCESS TO THE NETWORK
|
||||
WHERE THE SERVER IS LOCATED CAN RETRIEVE ANY DOCUMENT.
|
||||
|
||||
== Variant for BSD/ports
|
||||
=== Apache Variant for BSD/ports
|
||||
|
||||
=== Packages
|
||||
==== Packages
|
||||
|
||||
As root:
|
||||
|
||||
@ -142,7 +148,7 @@ Add apache24_enable="YES" in /etc/rc.conf
|
||||
pkg install ap24-mod_wsgi4
|
||||
pkg install git
|
||||
|
||||
=== Clone the webui repository
|
||||
==== Clone the webui repository
|
||||
|
||||
cd /usr/local/www/apache24/
|
||||
git clone https://github.com/koniu/recoll-webui.git recoll-webui-master
|
||||
@ -159,7 +165,7 @@ the 'import os' line:
|
||||
|
||||
|
||||
|
||||
=== Configure apache
|
||||
==== Configure Apache
|
||||
|
||||
Edit /usr/local/etc/apache24/modules.d/270_mod_wsgi.conf
|
||||
|
||||
@ -191,10 +197,84 @@ Contents of the file:
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
=== Restart apache
|
||||
==== Restart Apache
|
||||
|
||||
As root:
|
||||
|
||||
apachectl restart
|
||||
|
||||
|
||||
[[nginx]]
|
||||
== Nginx
|
||||
=== Nginx for BSD/ports
|
||||
|
||||
As root:
|
||||
|
||||
pkg install recoll
|
||||
|
||||
Do what you need to do to configure the indexing and check that the normal
|
||||
search works. Take care to be logged in as the user you want to run the web
|
||||
search as while you do this.
|
||||
|
||||
Install required packages:
|
||||
|
||||
pkg install nginx uwsgi git
|
||||
|
||||
=== Nginx: clone the webui repository
|
||||
|
||||
rm /usr/local/www/nginx
|
||||
mkdir /usr/local/www/nginx
|
||||
cd /usr/local/www/nginx
|
||||
git clone https://github.com/koniu/recoll-webui.git recoll-webui-master
|
||||
|
||||
Important: most input handler helper applications (e.g. 'pdftotext') are
|
||||
installed in '/usr/local/bin' which is not in the PATH as seen by Nginx
|
||||
(at least on DragonFly). The simplest way to fix this is to modify the
|
||||
launcher module for the webui app so that it fixes the PATH.
|
||||
|
||||
Edit 'recoll-webui-master/webui-wsgi.py' and add the following line after
|
||||
the 'import os' line:
|
||||
|
||||
os.environ['PATH'] = os.environ['PATH'] + ':' + '/usr/local/bin'
|
||||
|
||||
Also change the following to find the correct path:
|
||||
|
||||
#os.chdir(os.path.dirname(__file__))
|
||||
os.chdir('/usr/local/www/nginx/recoll-webui-master')
|
||||
|
||||
|
||||
=== Nginx: configure uWSGI
|
||||
|
||||
Assuming the user running the search is "dockes" (change it to your user),
|
||||
|
||||
sysrc uwsgi_uid=$(id -u dockes)
|
||||
sysrc uwsgi_gid=$(id -g dockes)
|
||||
sysrc uwsgi_flags="-M -L --wsgi-file /usr/local/www/nginx/recoll-webui-master/webui-wsgi.py"
|
||||
|
||||
(ALTERNATIVELY)
|
||||
|
||||
Add the following to rc.conf
|
||||
|
||||
uwsgi_uid="dockes"
|
||||
uwsgi_gid="dockes"
|
||||
uwsgi_flags="-M -L --wsgi-file /usr/local/www/nginx/recoll-webui-master/webui-wsgi.py"
|
||||
|
||||
|
||||
=== Configure nginx
|
||||
|
||||
Edit /usr/local/etc/nginx/nginx.conf and set up a proxy to uwsgi service:
|
||||
|
||||
location / {
|
||||
include uwsgi_params;
|
||||
uwsgi_pass unix:///tmp/uwsgi.sock;
|
||||
}
|
||||
|
||||
=== Enable and start both services
|
||||
|
||||
As root:
|
||||
|
||||
sysrc uwsgi_enable=YES #Or uwsgi_enable="YES" (in rc.conf)
|
||||
sysrc nginx_enable=YES #Or nginx_enable="YES" (in rc.conf)
|
||||
|
||||
service uwsgi start
|
||||
service nginx start
|
||||
|
||||
@ -106,6 +106,15 @@
|
||||
|
||||
<h2>Minor releases</h2>
|
||||
<ul>
|
||||
<li>1.22.4:
|
||||
<ul>
|
||||
<li>Fix advanced search 'start search' button doing
|
||||
nothing under qt5.</li>
|
||||
<li>Fix html escaping with newer versions of
|
||||
pdftotext.</li>
|
||||
<li>New Danish and Dutch messages.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>1.22.3:
|
||||
<ul>
|
||||
<li>Python module: do not limit result fetches to initial
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user