Changes

Jump to navigation Jump to search
7,267 bytes removed ,  15:48, 11 February 2015
Dutch
Line 1: Line 1: −
Also see [[Product Opener Installation]]
+
Go back to the main [[Translations]] page.
   −
This page lists all the steps necessary to install Product Opener on Debian, including a development environment.
+
To create the front page in a new language, copy the English front page to create a new page and link it below.
   −
All instructions below are for user "stephane", please use your own name. :-)
+
* [[Translations - Front page - English]] - done
 
+
* [[Translations - Front page - French]] - done
== Open Food Facts test / development server ==
+
* [[Translations - Front page - German]] - done
 
+
* [[Translations - Front page - Hebrew]] - done
OFF test / development server is a small dedicated server ("kimsufi 2G", the cheap sub-brand of OVH).
+
* [[Translations - Front page - Italian]] - done
 
+
* [[Translations - Front page - Arabic]] - done
* Linux ks3095298.kimsufi.com 3.10.23-xxxx-std-ipv6-64 #1 SMP Tue Mar 18 14:48:24 CET 2014 x86_64 GNU/Linux
+
* [[Translations - Front page - Spanish]] - done
* CPU: Intel(R) Atom(TM) CPU 230 @ 1.60GHz - Cores: 2 - Cache: 512KB
+
* [[Translations - Front page - Polish]]
* RAM: 2 Gb
+
* [[Translations - Front page - Portuguese]] - done
* Disk: 1 Tb
+
* [[Translations - Front page - Romanian]] - done
 
+
* [[Translations - Front page - Chinese]]
== Debian install ==
+
* [[Translations - Front page - Japanese]]
 
+
* [[Translations - Front page - Russian]] - done
Fresh Debian install with OVH / kimsufi install process:
+
* [[Translations - Front page - Dutch]]
 
  −
* Step 1:
  −
** OS - Type: Basic
  −
** Debian 7.5 stable (Wheezy) - debian 7 - 64 bits
  −
* Step 3: Partitions
  −
** Default:
  −
*** / ext4 20 Gb
  −
*** /home/ ext4 979.5 Gb
  −
*** swap 1 x 512 Mb
  −
 
  −
== DNS ==
  −
 
  −
ks3095298.kimsufi.com IP address: 94.23.195.82
  −
 
  −
Create 2 A records in the DNS zone of the domain you want to use:
  −
* openfoodfacts.ovh 94.23.195.82
  −
* *.openfoodfacts.ovh 94.23.195.82
  −
 
  −
== Install ==
  −
 
  −
=== Update Debian ===
  −
 
  −
Usually done by OVH Debian install:
  −
 
  −
<pre>
  −
apt-get update
  −
apt-get upgrade
  −
</pre>
  −
 
  −
=== Security ===
  −
 
  −
Install fail2ban and sudo:
  −
 
  −
<pre>
  −
apt-get install fail2ban
  −
apt-get install sudo
  −
</pre>
  −
 
  −
Create an user and give it sudo access:
  −
 
  −
<pre>
  −
adduser stephane
  −
adduser stephane sudo
  −
</pre>
  −
 
  −
 
  −
=== Install software used by Product Opener ===
  −
 
  −
<pre>
  −
apt-get install mongodb
  −
 
  −
apt-get install memcached
  −
 
  −
apt-get install imagemagick
  −
 
  −
apt-get install tesseract-ocr
  −
apt-get install tesseract-ocr-fra
  −
 
  −
apt-get install exim4
  −
dpkg-reconfigure exim4-config
  −
- Internet Site mail is sent by smtp 
  −
- 127.0.0.1
  −
 
  −
apt-get install geoip-bin geoip-database
  −
</pre>
  −
 
  −
=== Install libraries used by Product Opener ===
  −
 
  −
<pre>
  −
apt-get install zlib1g-dev
  −
</pre>
  −
 
  −
 
  −
=== Install development tools ===
  −
 
  −
Note: the Product Opener code is currently on a private bitbucket.org repository and is in the process of being made publicly available (open source). If you want to help us to clean / document Product Opener to open it, request access to the bitbucket repository: stephane@openfoodfacts.org
  −
 
  −
<pre>
  −
apt-get install build-essential
  −
apt-get install git
  −
 
  −
git clone https://stephane@bitbucket.org/openfoodfacts/product-opener.git
  −
</pre>
  −
 
  −
(get the link for your user on bitbucket.org)
  −
 
  −
 
  −
=== Apache 2.2 + mod_perl: Product Opener backend ===
  −
 
  −
==== Build ====
  −
 
  −
<pre>
  −
apt-get install libperl-dev
  −
 
  −
cd /home/stephane
  −
mkdir src
  −
cd src
  −
wget http://apache.crihan.fr/dist//httpd/httpd-2.2.29.tar.gz
  −
tar xvfz httpd-2.2.29.tar.gz
  −
cd httpd-2.2.29
  −
./configure --with-mpm=prefork --prefix=/home/stephane/apache  --enable-rewrite --enable-proxy --enable-proxy_http --enable-deflate  --disable-userdir --enable-headers
  −
make
  −
make install
  −
cd ~
  −
 
  −
cd ~/src
  −
wget http://mir2.ovh.net/ftp.apache.org/dist/perl/mod_perl-2.0.8.tar.gz
  −
tar xvfz mod_perl-2.0.8.tar.gz
  −
cd mod_perl-2.0.8
  −
perl Makefile.PL MP_APXS=/home/stephane/apache/bin/apxs
  −
make
  −
make install
  −
cd ~
  −
</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>
  −
 
  −
=== Apache 2.4 - light weight reverse proxy ===
  −
 
  −
==== Build ====
  −
 
  −
<pre>
  −
apt-get install libpcre3 libpcre3-dev
  −
 
  −
cd /home/stephane/src
  −
wget http://apache.websitebeheerjd.nl//httpd/httpd-2.4.12.tar.gz
  −
tar xvfz httpd-2.4.12.tar.gz
  −
cd httpd-2.4.12
  −
 
  −
cd srclib
  −
wget http://mir2.ovh.net/ftp.apache.org/dist//apr/apr-1.5.1.tar.gz
  −
wget http://mir2.ovh.net/ftp.apache.org/dist//apr/apr-util-1.5.4.tar.gz 
  −
tar xvfz apr-1.5.1.tar.gz
  −
tar xvfz apr-util-1.5.4.tar.gz
  −
ln -s apr-1.5.1 apr
  −
ln -s apr-util-1.5.4 apr-util
  −
cd ..
  −
 
  −
./configure --prefix=/home/stephane/proxy --enable-rewrite --enable-proxy --enable-proxy_http --disable-userdir --enable-headers --enable-expires --enable-mime --enable-so --with-included-apr
  −
 
  −
make
  −
make install
  −
cd ~
  −
</pre>
  −
 
  −
==== Configuration ====
  −
 
  −
in proxy/conf/httpd.conf :
  −
* uncomment #LoadModule rewrite_module modules/mod_rewrite.so
  −
* uncomment #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
  −
 
  −
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>
  −
 
  −
 
  −
 
  −
=== Install Perl modules ===
  −
 
  −
If possible, use apt-get to install packages directly. If they are not available, you can use cpan to install the modules.
  −
 
  −
<pre>
  −
apt-get install libwww-perl libimage-magick-perl
  −
apt-get install  libxml-encoding-perl libtext-unaccent-perl libmime-lite-perl
  −
apt-get install libcache-memcached-fast-perl libjson-perl libclone-perl  libgraphviz-perl
  −
apt-get install libmime-lite-perl  # needs to be done after installing exim4
  −
apt-get install libcrypt-passwdmd5-perl libencode-detect-perl libgraphics-color-perl libbarcode-zbar-perl
  −
apt-get install libxml-feedpp-perl libmongodb-perl liburi-find-perl
  −
</pre>
  −
 
  −
Modules that could not be installed using apt-get:
  −
 
  −
<pre>
  −
cpan
  −
install URI::Escape::XS
  −
install Image::OCR::Tesseract # needs imagemagick installed first
  −
</pre>
  −
 
  −
Modules that HAVE to be installed using cpan:
  −
 
  −
As of Feb 3rd 2015, the MongoDB perl module installed through "apt-get install libmongodb-perl" is too old (0.45):
  −
 
  −
<pre>
  −
perl -MMongoDB -e 'print $MongoDB::VERSION . "\n"'
  −
0.45
  −
</pre>
  −
 
  −
This causes an error when trying to access a list of "tags" such as categories:
  −
 
  −
<pre>
  −
Software error:
  −
Not an ARRAY reference at /home/stephane/product-opener/cgi/Blogs/Display.pm line 797.
  −
</pre>
  −
 
  −
A newer MongoDB perl module needs to be installed with cpan.
  −
 
  −
<pre>
  −
cpan
  −
install MongoDB
  −
</pre>
  −
 
  −
<pre>
  −
perl -MMongoDB -e 'print $MongoDB::VERSION . "\n"'
  −
v0.708.0.0
  −
</pre>
  −
 
  −
cgi/startup.pl preloads a lot of modules, you can check that those modules are installed by running:
  −
 
  −
<pre>
  −
cd /home/stephane/product-opener/cgi
  −
perl startup.pl
  −
</pre>
  −
 
  −
=== Create some paths and links ===
  −
 
  −
<pre>
  −
cd /home/stephane/product-opener/cgi
  −
ln -s ./ Blogs
  −
ln -s S
 

Navigation menu