Difference between pages "User:Javichu/Temp 9" and "Product Opener/Installation"

From Open Food Facts wiki
< User:Javichu(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
<div style="color:red; font-size:xx-large; text-align:center">
+
Installation instructions for Product Opener (see [[Project:Product Opener]]).
'''''Merging & updating: Vegetables and their products'''''
 
</div>
 
  
= FR - EN - ES =
+
== Before you start ==
<pre>
 
en:Vegetables
 
es:Hortalizas
 
fr:Légumes
 
</pre>
 
 
 
== Pickled vegetables ==
 
<pre>
 
< en:Pickled vegetables
 
en:Pickled beets
 
es:Remolacha encurtida
 
 
 
< en:Pickled vegetables
 
en:Pickled caper berries
 
es:Alcaparrones encurtidos
 
 
 
< en:Pickled vegetables
 
en:Pickled capers
 
es:Alcaparras encurtidas
 
 
 
< en:Pickled vegetables
 
en:Pickled carrots
 
es:Zanahorias encurtidas
 
 
 
< en:Pickled vegetables
 
en:Pickled cucumbers
 
es:Pepinillos encurtidos
 
 
 
< en:Pickled vegetables
 
en:Pickled eggplants
 
es:Berenjenas encurtidas
 
 
 
< en:Pickled vegetables
 
en:Pickled garlic
 
es:Ajos encurtidos
 
</pre>
 
 
 
<pre>
 
< en:Pickled vegetables
 
en:Pickled onions
 
es:Cebollas encurtidas, Cebollitas encurtidas
 
 
 
< en:Pickled vegetables
 
en:Pickled peppers
 
es:Pimientos encurtidos
 
 
 
< en:Pickled peppers
 
en:Pickled guindilla peppers, Pickled guindilla chillis
 
es:Guindillas encurtidas
 
</pre>
 
 
 
= FR - EN =
 
== Fresh vegetables ==
 
<pre>
 
en:Tomatoes
 
fr:Tomates
 
 
 
< en:Tomatoes
 
fr:Tomate olivette, Tomates olivettes
 
 
 
< en:Tomatoes
 
fr:Tomates cerise
 
 
 
< en:Tomatoes
 
fr:Tomates pelées
 
 
 
< en:Tomatoes
 
fr:Tomates séchées
 
</pre>
 
 
 
<pre>
 
< en:Vegetables
 
en:Fresh vegetables
 
fr:Légumes frais
 
 
 
< en:Fresh vegetables
 
en:Potatoes
 
fr:Pommes de terre, patates, Solanum tuberosum
 
 
 
< en:Potatoes
 
fr:Pommes de terre Agata
 
 
 
< en:Potatoes
 
fr:Pommes de terre Béa
 
 
 
< fr:Pommes de terre Béa
 
fr:Béa du Roussillon, pomme de terre primeur du Roussillon
 
 
 
< en:Potatoes
 
fr:Pommes de terre catégorie 1, Pommes de terre Cat. 1
 
 
 
< en:Potatoes
 
fr:Pommes de terre Charlotte
 
 
 
< en:Potatoes
 
< fr:Pommes de terre de l'île de Ré
 
fr:Pommes de terre primeurs, Pommes de terre de primeur
 
 
 
< en:Potatoes
 
fr:Pommes de terre labellisées
 
 
 
< en:Fresh vegetables
 
fr:Salades, Salade
 
</pre>
 
 
 
<pre>
 
< fr:Légumes AOC
 
< fr:Pommes de terre de l'île de Ré
 
< fr:Pommes de terre labellisées
 
fr:Pommes de terre AOC
 
</pre>
 
 
 
<pre>
 
< en:Vegetables
 
en:Vegetable rods
 
fr:Légumes tiges
 
 
 
< en:Vegetable rods
 
< en:Vegetables
 
en:Asparagus
 
fr:Asperges, asperge
 
 
 
< en:Asparagus
 
< en:Fresh vegetables
 
fr:Asperges fraîches
 
 
 
< en:Asparagus
 
en:German Asparagus
 
fr:Asperges allemandes
 
 
 
< en:Asparagus
 
fr:Asperges autrichiennes
 
 
 
< en:Asparagus
 
fr:Asperges blanches
 
 
 
< en:Asparagus
 
en:Spanish Asparagus
 
fr:Asperges espagnoles
 
 
 
< en:Asparagus
 
en:French Asparagus
 
fr:Asperges françaises
 
 
 
< en:Asparagus
 
en:Italian Asparagus
 
fr:asperges italiennes
 
 
 
< en:Asparagus
 
fr:Asperges miniatures
 
 
 
< en:Asparagus
 
fr:Asperges pelées à la main
 
 
 
< en:Asparagus
 
en:Wild asparagus
 
fr:Asperges sauvages
 
 
 
< en:Asparagus
 
en:Green Asparagus
 
fr:Asperges vertes
 
 
 
< en:Asparagus
 
en:Purple Asparagus
 
fr:Asperges violettes
 
 
 
< en:Vegetable rods
 
fr:Artichauts, artichaut
 
 
 
< en:Vegetable rods
 
fr:Blettes, bettes
 
 
 
< fr:Blettes
 
fr:poirées
 
 
 
< en:Vegetable rods
 
fr:Cardons
 
 
 
< en:Vegetable rods
 
fr:céleris
 
 
 
< en:Vegetable rods
 
fr:Coeurs de palmier, choux palmistes, chou palmiste
 
 
 
< en:Vegetable rods
 
fr:fenouils
 
 
 
< en:Vegetable rods
 
fr:Poireaux, Poireau
 
 
 
< en:Vegetable rods
 
< fr:Pousses
 
fr:Pousses de bambou, Pousse de bambou
 
 
 
< en:Vegetable rods
 
fr:rhubarbes
 
</pre>
 
 
 
<pre>
 
< en:Vegetables
 
fr:Oignons
 
</pre>
 
 
 
== Canned Vegetables ==
 
<pre>
 
< en:Asparagus
 
< fr:Légumes en conserve
 
fr:Asperges en conserve
 
</pre>
 
 
 
<pre>
 
< en:Tomatoes
 
< fr:Légumes en conserve
 
fr:Tomates en conserve, conserves de tomate
 
</pre>
 
 
 
<pre>
 
< en:Canned foods
 
< en:Vegetables
 
en:Canned Vegetables
 
fr:Légumes en conserve
 
 
 
< fr:Légumes en conserve
 
en:Canned Artichokes
 
fr:Artichauts en conserve
 
 
 
< fr:Légumes en conserve
 
en:Canned Carrots
 
fr:Carottes en conserve
 
 
 
< fr:Légumes en conserve
 
fr:Céleri en conserve
 
 
 
< fr:Légumes en conserve
 
fr:Choux en conserve
 
 
 
< fr:Légumes en conserve
 
fr:Flageolets en conserve
 
 
 
< fr:Légumes en conserve
 
fr:Salsifis en conserve
 
</pre>
 
 
 
<pre>
 
fr:Choux de conserve
 
 
 
< fr:Choux de conserve
 
fr:Choux de Bruxelles en conserve
 
</pre>
 
 
 
== Légumes surgelés ==
 
<pre>
 
< en:Frozen foods
 
< en:Vegetables
 
fr:Légumes surgelés
 
</pre>
 
 
 
== Other ==
 
<pre>
 
< en:Vegetables
 
fr:Cornichons
 
 
 
< fr:Cornichons
 
fr:Cornichons au vinaigre
 
 
 
< fr:Cornichons
 
fr:Cornichons extra-fins
 
 
 
< fr:Cornichons
 
fr:Cornichons malossol
 
 
 
< en:Vegetables
 
fr:Légumes bio, Légumes biologiques
 
 
 
< en:Vegetables
 
fr:Légumes-feuilles, Légume-feuille
 
</pre>
 
 
 
<pre>
 
fr:Légumes labelisés
 
</pre>
 
 
 
<pre>
 
< fr:Purées
 
fr:Purées de pommes de terre
 
</pre>
 
 
 
<pre>
 
fr:Pommes de terre de l'île de Ré, Pomme de terre de l'île de Ré
 
</pre>
 
 
 
= ES =
 
== Hortalizas ==
 
<pre>
 
< es:Vegetales frescos
 
es:Hortalizas frescas
 
 
 
< es:Hortalizas frescas
 
es:Alcachofas
 
 
 
< es:Hortalizas frescas
 
es:Apios
 
 
 
< es:Hortalizas frescas
 
es:Berenjenas
 
 
 
< es:Hortalizas frescas
 
es:Brócolis
 
 
 
< es:Hortalizas frescas
 
es:Calabacines
 
 
 
< es:Hortalizas frescas
 
es:Coles Chinas
 
 
 
< es:Hortalizas frescas
 
es:Coles de Bruselas
 
 
 
< es:Hortalizas frescas
 
es:Coliflores
 
 
 
< es:Hortalizas frescas
 
es:Endibias
 
 
 
< es:Hortalizas frescas
 
es:Escarolas
 
 
 
< es:Hortalizas frescas
 
es:Espárragos
 
 
 
< es:Hortalizas frescas
 
es:Espinacas
 
  
< es:Hortalizas frescas
+
Product Opener is not yet released as open source. The instructions below are for reference and for early testers of Product Opener. They are very likely to change as the code will be restructured, made more independent of proprietary code and specific Open Food Facts uses etc.
es:Lechugas
 
  
< es:Hortalizas frescas
+
When it is released, Product Opener will have much easier to use install scripts and instructions.
es:Patatas
 
  
< es:Hortalizas frescas
+
== Install directory ==
es:Pepinos
 
  
< es:Hortalizas frescas
+
Instructions below use /home/obf for the install directory, replace with your install dir.
es:Pimientos
 
  
< es:Hortalizas frescas
+
== Product Opener code ==
es:Puerros
 
  
< es:Hortalizas frescas
+
=== Configuration ===
es:Repollos
 
  
< es:Hortalizas frescas
+
==== startup.pl ====
es:Tomates
 
  
< es:Hortalizas frescas
+
This file is used to preload Perl module in Apache.
es:Zanahorias
+
It contains a path that needs to be updated:
</pre>
 
  
== Hortalizas en conserva ==
 
 
<pre>
 
<pre>
< es:Vegetales en conserva
+
# Needs to be configured
es:Hortalizas en conserva
+
use lib "/home/obf/cgi/";
 
 
< es:Hortalizas en conserva
 
es:Acelgas en conserva
 
 
 
< es:Hortalizas en conserva
 
es:Alcachofas en conserva
 
 
 
< es:Hortalizas en conserva
 
es:Coles de Bruselas en conserva
 
 
 
< es:Hortalizas en conserva
 
es:Coliflores en conserva
 
 
 
< es:Hortalizas en conserva
 
es:Espárragos blancos en conserva
 
 
 
< es:Hortalizas en conserva
 
es:Espárragos verdes en conserva
 
 
 
< es:Hortalizas en conserva
 
es:Espinacas en conserva
 
 
 
< es:Hortalizas en conserva
 
es:Patatas en conserva
 
 
 
< es:Hortalizas en conserva
 
es:Pimientos en conserva
 
 
 
< es:Hortalizas en conserva
 
es:Puerros en conserva
 
 
 
< es:Hortalizas en conserva
 
es:Remolacha en conserva
 
 
 
< es:Hortalizas en conserva
 
es:Tomates en conserva
 
 
 
< es:Hortalizas en conserva
 
es:Zanahorias en conserva
 
 
</pre>
 
</pre>
  
== Hortalizas congeladas ==
+
==== Config.pm ====
<pre>
 
< es:Vegetales congelados o ultracongelados
 
es:Hortalizas congeladas
 
 
 
< es:Hortalizas congeladas
 
es:Acelgas congeladas
 
 
 
< es:Acelgas congeladas
 
es:Acelgas congeladas en hojas
 
 
 
< es:Acelgas congeladas
 
es:Acelgas congeladas troceadas
 
 
 
< es:Hortalizas congeladas
 
es:Ajos congelados troceados
 
 
 
< es:Hortalizas congeladas
 
es:Ajos tiernos congelados
 
 
 
< es:Hortalizas congeladas
 
es:Alcachofas congeladas
 
 
 
< es:Hortalizas congeladas
 
es:Brócolis congelados
 
 
 
< es:Hortalizas congeladas
 
es:Cardos congelados
 
 
 
< es:Hortalizas congeladas
 
es:Cebollas congeladas troceadas
 
 
 
< es:Hortalizas congeladas
 
es:Coles de Bruselas congeladas
 
 
 
< es:Hortalizas congeladas
 
es:Coliflores congeladas
 
 
 
< es:Hortalizas congeladas
 
es:Espárragos blancos congelados
 
 
 
< es:Hortalizas congeladas
 
es:Espárragos verdes congelados
 
 
 
< es:Hortalizas congeladas
 
es:Espinacas congeladas
 
 
 
< es:Espinacas congeladas
 
es:Espinacas congeladas en hojas
 
 
 
< es:Espinacas congeladas
 
es:Espinacas congeladas troceadas
 
  
< es:Hortalizas congeladas
+
==== Config2.pm ====
es:Menestras y mezclas de vegetales congelados
 
  
< es:Hortalizas congeladas
+
Contains info about the domain, database and path. This is separated from Config.pm so that it is easy to create test instance that share the same configuration in Config.pm but are on other domains.
es:Patatas congeladas
 
 
 
< es:Hortalizas congeladas
 
es:Zanahorias congeladas
 
</pre>
 
  
 
<pre>
 
<pre>
< es:Legumbres congeladas
+
# server constants
es:Guisantes congelados
+
$domain = "openbeautyfacts.org";
 
 
< es:Legumbres congeladas
 
es:Habas congeladas, Habitas congeladas
 
 
 
< es:Legumbres congeladas
 
es:Judías verdes congeladas
 
  
< es:Judías verdes congeladas
+
# server paths
es:Judías verdes congeladas enteras
+
$www_root = "/home/obf/html";
 +
$data_root = "/home/obf";
  
< es:Judías verdes congeladas
+
$mongodb = "obf";
es:Judías verdes congeladas troceadas
 
 
</pre>
 
</pre>
  
== Brotes frescos ==
+
== MongoDB database ==
<pre>
 
< es:Brotes frescos
 
es:Brotes de ajo frescos
 
</pre>
 
  
<pre>
+
== Apache servers ==
< es:Brotes frescos
 
es:Brotes de cebolla frescos
 
  
< es:Brotes frescos
+
In production we use a light weight Apache web server for static files (e.g. images) that does reverse proxying to a modperl Apache server that dynamically generates the HTML pages.
es:Brotes de col china frescos
 
  
< es:Brotes frescos
+
If the trafic is low or moderate, you can use only one Apache mod_perl server that also serves images etc.
es:Brotes de col lombarda frescos
 
  
< es:Brotes frescos
+
In the example below, the Apache mod_perl server listens on port 19000.
es:Brotes de espárrago frescos
 
</pre>
 
  
<pre>
+
=== Light-weight reverse proxy for static files ===
< es:Brotes frescos
 
es:Brotes de puerros frescos
 
 
 
< es:Brotes frescos
 
es:Brotes de rabanitos frescos
 
  
< es:Brotes frescos
+
Add to httpd.conf:
es:Brotes de remolacha frescos
 
</pre>
 
  
 
<pre>
 
<pre>
< es:Brotes frescos
 
es:Brotes de zanahoria frescos
 
</pre>
 
  
== Brotes en conserva ==
+
<VirtualHost *>
<pre>
+
DocumentRoot /home/obf/html
< es:Brotes en conserva
+
ServerName world.openbeautyfacts.org
es:Brotes de ajo en conserva
+
ServerAlias *.openbeautyfacts.org
</pre>
 
  
== Semillas para germinar ==
+
ErrorLog /home/obf/logs/proxy_error_log
<pre>
+
CustomLog /home/obf/logs/proxy_access_log combined
< es:Semillas para germinar
+
ServerAdmin stephane@openbeautyfacts.org
es:Semillas de berro
 
  
< es:Semillas para germinar
+
<Directory "/home/obf/html">
es:Semillas de brócoli
+
    Options -Indexes FollowSymLinks
 +
    Order allow,deny
 +
    Allow from all
 +
</Directory>
 +
RewriteEngine on
 +
RewriteCond  %{REQUEST_URI}  !/./
 +
RewriteRule ^(/cgi/.*)$ http://localhost:19000$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:19000/cgi/display.pl?${escape:$1} [P,L,QSA]
 +
</VirtualHost>
  
< es:Semillas para germinar
 
es:Semillas de col lombarda
 
</pre>
 
  
<pre>
+
<VirtualHost *>
< es:Semillas para germinar
+
DocumentRoot /home/obf/html
es:Semillas de puerro
+
ServerName openbeautyfacts.org
 +
ErrorLog /home/obf/logs/proxy_error_log
 +
CustomLog /home/obf/logs/proxy_access_log combined
 +
DirectoryIndex index.html index.shtml
 +
<Directory "/home/obf/html">
 +
    Options -Indexes FollowSymLinks Includes
 +
    Order allow,deny
 +
    Allow from all
 +
</Directory>
 +
RewriteEngine on
 +
RewriteCond %{HTTP_HOST} ^openbeautyfacts\.org
 +
RewriteRule ^/products$ /products.shtml [L]
  
< es:Semillas para germinar
+
</VirtualHost>
es:Semillas de rabanito
 
</pre>
 
  
= Common =
 
== Top category ==
 
<pre>
 
< en:Plant-based foods
 
en:Vegetables and their products
 
es:Verduras y hortalizas y sus productos, Verduras y hortalizas y derivados
 
fr:Légumes et produits dérivés
 
 
</pre>
 
</pre>
  
== Classification by vegetables raw parts and primary derivaties ==
+
=== modperl Apache server for dynamic pages ===
<pre>
 
< en:Vegetables and their products
 
en:Vegetables
 
es:Verduras y hortalizas, Hortalizas, Verduras
 
fr:Légumes
 
  
< en:Vegetables and their products
+
* download the latest version of the source of the Apache httpd server from the 2.2 branch (2.2.29 when writing this)
< en:Frozen plant-based foods
+
** do not use the 2.4 branch as mod_perl is not yet compatible with it
en:Frozen vegetables
+
* extract the source
es:Verduras y hortalizas congeladas, Hortalizas congeladas, Verduras congeladas
+
* ./configure --with-mpm=prefork --prefix=/home/obf/apache --enable-rewrite --enable-proxy --enable-proxy_http --enable-deflate --disable-userdir --enable-headers
fr:Légumes surgelés
+
* make
 +
* make install
  
< en:Vegetables and their products
+
* download the latest version of mod_perl from http://perl.apache.org/
< en:Canned plant-based foods
+
* extract the source
en:Canned vegetables
+
* perl Makefile.PL MP_APXS=/home/obf/apache/bin/apxs
es:Verduras y hortalizas en conserva, Hortalizas en conserva, Verduras en conserva
+
* make
fr:Légumes en conserve
+
* make install
  
< en:Vegetables and their products
+
==== Configuration ====
< en:Dried plant-based foods
 
en:Dried vegetables
 
es:Verduras y hortalizas deshidratadas, Verduras y hortalizas desecadas, Verduras deshidratadas, Verduras desecadas, Hortalizas deshidratadas, Hortalizas desecadas
 
fr:Légumes secs
 
  
< en:Vegetables and their products
+
In /home/obf/apache/conf/httpd.conf:
< en:Jams
 
en:Vegetable jams
 
es:Mermeladas y confituras de verduras y hortalizas, Mermeladas de verduras y hortalizas, Confituras de verduras y hortalizas
 
fr:Confitures de légumes
 
</pre>
 
  
== Vegetables ==
+
Change the port:
<pre>
 
</pre>
 
 
 
== Frozen vegetables ==
 
<pre>
 
< en:Frozen vegetables
 
en:Frozen artichokes
 
es:Alcachofas congeladas
 
fr:Artichauts surgelés
 
 
 
< en:Frozen artichokes
 
en:Frozen artichoke hearts
 
es:Corazones de alcachofas congelados
 
fr:Coeurs d'artichauts surgelés
 
 
 
< en:Frozen artichokes
 
en:Frozen baby artichokes
 
es:Alcachofas baby congeladas
 
fr:Artichauts baby surgelés
 
 
 
< en:Frozen artichokes
 
en:Frozen chopped artichokes
 
es:Alcachofas troceadas congeladas
 
fr:Artichauts hachés surgelés
 
 
 
< en:Frozen vegetables
 
en:Frozen asparagus
 
es:Espárragos congelados
 
fr:Asperges surgelés
 
  
< en:Frozen asparagus
+
Listen 19000
en:Frozen green asparagus
 
es:Espárragos verdes congelados
 
fr:Asperges vertes surgelés
 
  
< en:Frozen green asparagus
+
Add at the end:
en:Frozen chopped green asparagus
 
es:Espárragos verdes troceados congelados
 
  
< en:Frozen green asparagus
 
en:Frozen whole green asparagus
 
es:Espárragos verdes enteros congelados
 
 
< en:Frozen asparagus
 
en:Frozen white asparagus
 
es:Espárragos blancos congelados
 
fr:Asperges blanches surgelés
 
 
< en:Frozen vegetables
 
en:Frozen aubergines
 
es:Berenjenas congeladas
 
fr:Aubergines surgelés
 
 
< en:Frozen vegetables
 
en:Frozen broccoli florets
 
es:Brócoli en floretes congelado, Brócolis congelados, Brócoli congelado
 
fr:Brocolis en fleurettes surgelés, Brocolis surgelés
 
 
< en:Frozen vegetables
 
en:Frozen Brussels sprouts
 
es:Coles de Bruselas congeladas
 
fr:Choux de Bruxelles surgelés
 
 
< en:Frozen vegetables
 
en:Frozen carrots
 
es:Zanahorias congeladas
 
fr:Carottes surgelés
 
 
< en:Frozen carrots
 
en:Frozen baby carrots
 
es:Zanahorias baby congeladas
 
fr:Baby carottes surgelés
 
 
< en:Frozen carrots
 
en:Frozen chopped carrots
 
es:Zanahorias troceadas congeladas, Zanahorias en rodajas congeladas
 
fr:Carottes en rondelles surgelées
 
 
< en:Frozen vegetables
 
en:Frozen cauliflower florets
 
es:Coliflores en floretes congeladas, Coliflores congeladas
 
fr:Choux-fleurs en fleurettes surgelés
 
 
< en:Frozen vegetables
 
en:Frozen chards
 
es:Acelgas congeladas
 
fr:Bettes surgelés
 
 
< en:Frozen chards
 
en:Frozen chard leaves
 
es:Acelgas en hojas congeladas, Acelgas congeladas en hojas
 
 
< en:Frozen chards
 
en:Frozen chopped chards
 
es:Acelgas troceadas congeladas, Acelgas congeladas troceadas
 
 
< en:Frozen vegetables
 
en:Frozen cardoons, Frozen artichoke thistles
 
es:Cardos congelados
 
fr:Cardes surgelés, Cardons surgelés
 
 
< en:Frozen cardoons
 
en:Frozen chopped cardoons, Frozen chopped artichoke thistles
 
es:Cardos troceados congelados
 
fr:Cardes hachés surgelés, Cardons hachés surgelés
 
 
< en:Frozen vegetables
 
en:Frozen chopped garlic
 
es:Ajos troceados congelados, Ajos congelados troceados
 
fr:Ail haché surgelé
 
 
< en:Frozen vegetables
 
en:Frozen chopped onions
 
es:Cebollas troceadas congeladas, Cebollas congeladas troceadas
 
fr:Oignons hachés surgelés
 
 
< en:Frozen vegetables
 
< en:Frozen legumes
 
en:Frozen fresh broad beans, Frozen fresh fava beans, Frozen immature broad beans
 
es:Habas frescas congeladas, Habitas frescas congeladas, Habas inmaduras congeladas, Habitas inmaduras congeladas, Habas congeladas
 
fr:Fèves frais surgelés, Féverolles frais surgelés
 
 
< en:Frozen vegetables
 
< en:Frozen legumes
 
en:Frozen green beans, Frozen string beans
 
es:Judías verdes congeladas
 
fr:Haricots verts surgelés
 
 
< en:Frozen green beans
 
en:Frozen broad green beans
 
es:Judías verdes redondas congeladas
 
 
< en:Frozen green beans
 
en:Frozen flat green beans
 
es:Judías verdes planas congeladas
 
 
< en:Frozen green beans
 
en:Frozen chopped green beans
 
es:Judías verdes troceadas congeladas, Judías verdes congeladas troceadas
 
 
< en:Frozen green beans
 
en:Frozen whole green beans
 
es:Judías verdes enteras congeladas, Judías verdes congeladas enteras
 
 
< en:Frozen chopped green beans
 
< en:Frozen broad green beans
 
en:Frozen chopped broad green beans
 
es:Judías verdes redondas troceadas congeladas
 
 
< en:Frozen chopped green beans
 
< en:Frozen flat green beans
 
en:Frozen chopped flat green beans
 
es:Judías verdes planas troceadas congeladas
 
 
< en:Frozen whole green beans
 
< en:Frozen broad green beans
 
en:Frozen whole broad green beans
 
es:Judías verdes redondas enteras congeladas
 
 
< en:Frozen whole green beans
 
< en:Frozen flat green beans
 
en:Frozen whole flat green beans
 
es:Judías verdes planas enteras congeladas
 
 
< en:Frozen vegetables
 
en:Frozen green garlic
 
es:Ajos tiernos congelados, Brotes de ajo congelados
 
fr:Aillets surgelés
 
 
< en:Frozen vegetables
 
< en:Frozen legumes
 
en:Frozen green peas, Frozen fresh peas, Frozen immature peas
 
es:Guisantes verdes congelados, Guisantes congelados
 
fr:Pois frais surgelés, Petits pois surgelés
 
 
< en:Frozen vegetables
 
en:Frozen peppers
 
es:Pimientos congelados
 
fr:Poivrons surgelés
 
 
< en:Frozen peppers
 
en:Frozen green peppers
 
es:Pimientos verdes congelados
 
fr:Poivrons verts surgelés
 
 
< en:Frozen peppers
 
en:Frozen red peppers
 
es:Pimientos rojos congelados
 
fr:Poivrons rouges congelés
 
 
< en:Frozen peppers
 
en:Frozen yellow peppers
 
es:Pimientos amarillos congelados
 
fr:Poivrons jaunes congelés
 
 
< en:Frozen peppers
 
en:Frozen mixed peppers
 
es:Mezclas de pimientos multicolores congelados
 
fr:Mélanges de poivrons multicolores surgelés
 
 
< en:Frozen vegetables
 
en:Frozen potatoes
 
es:Patatas congeladas
 
fr:Pommes de terre surgelés
 
 
< en:Frozen vegetables
 
en:Frozen pumpkins
 
es:Calabazas congeladas
 
fr:Citrouilles surgelés
 
 
< en:Frozen vegetables
 
en:Frozen red cabbage
 
es:Lombardas congeladas, Lombarda congelada, Col lombarda congelada
 
fr:Chous rouges surgelés
 
 
< en:Frozen vegetables
 
en:Frozen romanesco, Frozen romanesco broccoli, Frozen romanesque cauliflower
 
es:Romanesco congelado, Romanescu congelado
 
fr:Chou romanesco surgelé
 
 
< en:Frozen vegetables
 
en:Frozen spinachs
 
es:Espinacas congeladas
 
fr:Épinards surgelés
 
 
< en:Frozen spinachs
 
en:Frozen chopped spinachs
 
es:Espinacas troceadas congeladas, Espinacas congeladas troceadas
 
 
< en:Frozen spinachs
 
en:Frozen spinach leaves
 
es:Espinacas en hojas congeladas, Espinacas congeladas en hojas
 
 
< en:Frozen vegetables
 
en:Frozen zucchini, Frozen courgettes
 
es:Calabacines congelados
 
fr:Courgettes surgelés
 
 
< en:Frozen zucchini
 
en:Frozen diced zucchinis, Frozen diced courgettes
 
es:Calabacines en dados congelados
 
fr:Courgettes en cubes surgelés
 
 
< en:Frozen zucchini
 
en:Frozen sliced zucchini, Frozen sliced courgettes
 
es:Calabacines en rodajas congelados
 
fr:Courgettes en rondelles surgelés
 
 
.............
 
 
< en:Frozen vegetables
 
< en:Frozen plant-based foods mixes
 
en:Frozen vegetable mixes
 
es:Mezclas de verduras y hortalizas congeladas
 
fr:Mélanges de légumes surgelés
 
</pre>
 
 
== Canned vegetables ==
 
 
<pre>
 
<pre>
</pre>
+
PerlWarn Off
 +
PerlRequire /home/obf/cgi/startup.pl
  
== Dried vegetables ==
 
<pre>
 
</pre>
 
  
== Vegetable jams ==
+
<Location /cgi>
<pre>
+
SetHandler perl-script
< en:Vegetable jams
+
PerlResponseHandler ModPerl::Registry
en:Onion jams
+
PerlOptions +ParseHeaders
es:Mermeladas y confituras de cebolla, Mermeladas de cebolla, Confituras de cebolla
+
Options +ExecCGI
fr:Confitures de oignon
+
Order allow,deny
 +
Allow from all
 +
</Location>
  
< en:Vegetable jams
 
en:Pumpkin jams
 
es:Mermeladas y confituras de calabaza, Mermeladas de calabaza, Confituras de calabaza
 
fr:Confitures de citrouille
 
  
< en:Vegetable jams
+
<VirtualHost *>
en:Rhubarb jams
+
DocumentRoot /home/obf/html
es:Mermeladas y confituras de ruibarbo, Mermeladas de ruibarbo, Confituras de ruibarbo
+
ServerName world.openbeautyfacts.org
fr:Confitures de rhubarbe
+
ErrorLog /home/obf/logs/error_log
 +
CustomLog /home/obf/logs/access_log combined
 +
ScriptAlias /cgi/ "/home/obf/cgi/"
 +
</VirtualHost>
  
< en:Vegetable jams
+
PerlPostReadRequestHandler My::ProxyRemoteAddr
en:Tomate jams
 
es:Mermeladas y confituras de tomate, Mermeladas de tomate, Confituras de tomate
 
fr:Confitures de tomates
 
 
</pre>
 
</pre>

Revision as of 13:44, 4 September 2014

Installation instructions for Product Opener (see Project:Product Opener).

Before you start

Product Opener is not yet released as open source. The instructions below are for reference and for early testers of Product Opener. They are very likely to change as the code will be restructured, made more independent of proprietary code and specific Open Food Facts uses etc.

When it is released, Product Opener will have much easier to use install scripts and instructions.

Install directory

Instructions below use /home/obf for the install directory, replace with your install dir.

Product Opener code

Configuration

startup.pl

This file is used to preload Perl module in Apache. It contains a path that needs to be updated:

# Needs to be configured
use lib "/home/obf/cgi/";

Config.pm

Config2.pm

Contains info about the domain, database and path. This is separated from Config.pm so that it is easy to create test instance that share the same configuration in Config.pm but are on other domains.

# server constants
$domain = "openbeautyfacts.org";

# server paths
$www_root = "/home/obf/html";
$data_root = "/home/obf";

$mongodb = "obf";

MongoDB database

Apache servers

In production we use a light weight Apache web server for static files (e.g. images) that does reverse proxying to a modperl Apache server that dynamically generates the HTML pages.

If the trafic is low or moderate, you can use only one Apache mod_perl server that also serves images etc.

In the example below, the Apache mod_perl server listens on port 19000.

Light-weight reverse proxy for static files

Add to httpd.conf:


<VirtualHost *>
DocumentRoot /home/obf/html
ServerName world.openbeautyfacts.org
ServerAlias *.openbeautyfacts.org

ErrorLog /home/obf/logs/proxy_error_log
CustomLog /home/obf/logs/proxy_access_log combined
ServerAdmin stephane@openbeautyfacts.org

<Directory "/home/obf/html">
    Options -Indexes FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>
RewriteEngine on
RewriteCond  %{REQUEST_URI}  !/./
RewriteRule ^(/cgi/.*)$ http://localhost:19000$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:19000/cgi/display.pl?${escape:$1} [P,L,QSA]
</VirtualHost>


<VirtualHost *>
DocumentRoot /home/obf/html
ServerName openbeautyfacts.org
ErrorLog /home/obf/logs/proxy_error_log
CustomLog /home/obf/logs/proxy_access_log combined
DirectoryIndex index.html index.shtml
<Directory "/home/obf/html">
    Options -Indexes FollowSymLinks Includes
    Order allow,deny
    Allow from all
</Directory>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^openbeautyfacts\.org
RewriteRule ^/products$ /products.shtml [L]

</VirtualHost>

modperl Apache server for dynamic pages

  • download the latest version of the source of the Apache httpd server from the 2.2 branch (2.2.29 when writing this)
    • do not use the 2.4 branch as mod_perl is not yet compatible with it
  • extract the source
  • ./configure --with-mpm=prefork --prefix=/home/obf/apache --enable-rewrite --enable-proxy --enable-proxy_http --enable-deflate --disable-userdir --enable-headers
  • make
  • make install
  • download the latest version of mod_perl from http://perl.apache.org/
  • extract the source
  • perl Makefile.PL MP_APXS=/home/obf/apache/bin/apxs
  • make
  • make install

Configuration

In /home/obf/apache/conf/httpd.conf:

Change the port:

Listen 19000

Add at the end:

PerlWarn Off
PerlRequire /home/obf/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/obf/html
ServerName world.openbeautyfacts.org
ErrorLog /home/obf/logs/error_log
CustomLog /home/obf/logs/access_log combined
ScriptAlias /cgi/ "/home/obf/cgi/"
</VirtualHost>

PerlPostReadRequestHandler My::ProxyRemoteAddr