Jump to content

Product Opener/Installation/Debian or Ubuntu: Difference between revisions

added configuration of apache + reverse proxy
(added configuration of apache + reverse proxy)
Line 105: Line 105:


=== Apache 2.2 + mod_perl: Product Opener backend ===
=== Apache 2.2 + mod_perl: Product Opener backend ===
==== Build ====


<pre>
<pre>
Line 125: Line 127:
make
make
make install
make install
</pre>
==== Configuration ====
In apache/conf/httpd.conf:
Change the port to something else than 80 (the reverse proxy will listen on 80 and forward to the backend on another port).
<pre>
Listen 8001
</pre>
If you are installing several Product Openers on the same machine, use different ports.
Change the Apache user to your user:
<pre>
User stephane
Group stephane
</pre>
Add to apache/conf/httpd.conf:
<pre>
LoadModule perl_module modules/mod_perl.so
PerlWarn Off
PerlRequire /home/stephane/product-opener/cgi/startup.pl
<Location /cgi>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
Order allow,deny
Allow from all
</Location>
<VirtualHost *>
DocumentRoot /home/stephane/product-opener/html
ServerName openfoodfacts.ovh
ErrorLog /home/stephane/logs/error_log
CustomLog /home/stephane/logs/access_log combined
ScriptAlias /cgi/ "/home/stephane/product-opener/cgi/"
</VirtualHost>
PerlPostReadRequestHandler My::ProxyRemoteAddr
</pre>
</pre>




=== Apache 2.4 - light weight reverse proxy ===
=== Apache 2.4 - light weight reverse proxy ===
==== Build ====


<pre>
<pre>
Line 153: Line 206:
</pre>
</pre>


==== Configuration ====


in proxy/conf/httpd.conf :
in proxy/conf/httpd.conf :
    uncomment #LoadModule rewrite_module modules/mod_rewrite.so
* uncomment #LoadModule rewrite_module modules/mod_rewrite.so
    uncomment #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
* uncomment #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so


Add:
Add in httpd.conf :


<pre>
<VirtualHost *>
DocumentRoot /home/stephane/product-opener/html
ServerName world.openfoodfacts.ovh
ServerAlias *.openfoodfacts.ovh
ErrorLog /home/stephane/logs/proxy_error_log
CustomLog /home/stephane/logs/proxy_access_log combined
ServerAdmin stephane@openfoodfacts.org
<Directory "/home/stephane/product-opener/html">
    Options Indexes FollowSymLinks
    Require all granted
</Directory>
ProxyPreserveHost On
RewriteEngine on
RewriteCond  %{REQUEST_URI}  !/./
RewriteRule ^(/cgi/.*)$ http://localhost:8001$1 [P,L]
RewriteMap escape int:escape
RewriteRule ^/favicon.ico$ /favicon.ico [L]
RewriteCond  %{REQUEST_URI}  !^/images/
RewriteCond  %{REQUEST_URI}  !^/js/
RewriteCond  %{REQUEST_URI}  !^/rss/
RewriteCond  %{REQUEST_URI}  !^/robots
RewriteCond  %{REQUEST_URI}  !^/clicks/
RewriteCond  %{REQUEST_URI}  !^/data/
RewriteCond  %{REQUEST_URI}  !^/files/
RewriteRule  ^(.*)$ http://localhost:8001/cgi/display.pl?${escape:$1} [P,L,QSA]
</VirtualHost>
<VirtualHost *>
DocumentRoot /home/stephane/product-opener/html
ServerName openfoodfacts.ovh
ErrorLog /home/stephane/logs/proxy_error_log
CustomLog /home/stephane/logs/proxy_access_log combined
DirectoryIndex index.html index.shtml
<Directory "/home/stephane/product-opener/html">
    Options -Indexes +FollowSymLinks +Includes
    Require all granted
</Directory>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^stephane\.openfoodfacts\.ovh
RewriteRule ^/products$ /products.shtml [L]
</VirtualHost>
</pre>