Line 108: |
Line 108: |
| apt-get install nginx | | apt-get install nginx |
| | | |
| + | ===== nginx configuration ===== |
| + | |
| + | <pre> |
| + | /etc/nginx/sites-available# more off |
| + | ## |
| + | # You should look at the following URL's in order to grasp a solid understanding |
| + | # of Nginx configuration files in order to fully unleash the power of Nginx. |
| + | # http://wiki.nginx.org/Pitfalls |
| + | # http://wiki.nginx.org/QuickStart |
| + | # http://wiki.nginx.org/Configuration |
| + | # |
| + | # Generally, you will want to move this file somewhere, and start with a clean |
| + | # file but keep this around for reference. Or just disable in sites-enabled. |
| + | # |
| + | # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. |
| + | ## |
| + | |
| + | # Default server configuration |
| + | # |
| + | server { |
| + | listen 80 default_server; |
| + | listen [::]:80 default_server; |
| + | |
| + | server_name openfoodfacts.eu *.openfoodfacts.eu; |
| + | |
| + | # SSL configuration |
| + | # |
| + | # listen 443 ssl default_server; |
| + | # listen [::]:443 ssl default_server; |
| + | # |
| + | # Self signed certs generated by the ssl-cert package |
| + | # Don't use them in a production server! |
| + | # |
| + | # include snippets/snakeoil.conf; |
| + | |
| + | root /home/off/html; |
| + | |
| + | # Add index.php to the list if you are using PHP |
| + | index index.html index.htm index.nginx-debian.html; |
| + | |
| + | location ~ ^/(images|js|rss|data|files|resources|foundation)/ { |
| + | # First attempt to serve request as file, then |
| + | # as directory, then fall back to displaying a 404. |
| + | try_files $uri $uri/ =404; |
| + | } |
| + | |
| + | location = /robots.txt { |
| + | try_files $uri $uri/ =404; |
| + | } |
| + | |
| + | location / { |
| + | proxy_set_header Host $host; |
| + | proxy_set_header X-Real-IP $remote_addr; |
| + | proxy_pass http://127.0.0.1:8001/cgi/display.pl?; |
| + | } |
| + | |
| + | location /cgi/ { |
| + | proxy_set_header Host $host; |
| + | proxy_set_header X-Real-IP $remote_addr; |
| + | proxy_pass http://127.0.0.1:8001; |
| + | } |
| + | |
| + | # deny access to .htaccess files, if Apache's document root |
| + | # concurs with nginx's one |
| + | # |
| + | #location ~ /\.ht { |
| + | # deny all; |
| + | #} |
| + | } |
| + | </pre> |
| + | |
| + | /etc/nginx/sites-enabled# ln -s /etc/nginx/sites-available/off off |
| + | rm default |
| + | |
| + | service nginx restart |
| + | |
| + | To check for errors: |
| + | |
| + | systemctl -l status nginx.service |
| + | |
| + | ===== Apache configuration ===== |
| + | |
| + | off.conf: |
| + | |
| + | <pre> |
| + | /etc/apache2/sites-available# cat off.conf |
| + | # LoadModule perl_module modules/mod_perl.so |
| + | |
| + | PerlWarn Off |
| + | PerlRequire /home/off/cgi/startup.pl |
| + | |
| + | |
| + | <Location /cgi> |
| + | SetHandler perl-script |
| + | PerlResponseHandler ModPerl::Registry |
| + | PerlOptions +ParseHeaders |
| + | Options +ExecCGI |
| + | Require all granted |
| + | </Location> |
| + | |
| + | |
| + | <VirtualHost *> |
| + | DocumentRoot /home/off/html |
| + | ServerName openfoodfacts.eu |
| + | ErrorLog /home/off/logs/error_log |
| + | CustomLog /home/off/logs/access_log combined |
| + | LogLevel debug |
| + | ScriptAlias /cgi/ "/home/off/cgi/" |
| + | |
| + | <Directory /home/off/html> |
| + | Require all granted |
| + | </Directory> |
| + | |
| + | </VirtualHost> |
| + | |
| + | PerlPostReadRequestHandler My::ProxyRemoteAddr |
| + | |
| + | </pre> |
| + | |
| + | |
| + | <pre> |
| + | /etc/apache2/sites-enabled# ls -lrt |
| + | total 0 |
| + | lrwxrwxrwx 1 root root 35 Jun 13 22:12 000-default.conf -> ../sites-available/000-default.conf |
| + | /etc/apache2/sites-enabled# rm 000-default.conf |
| + | /etc/apache2/sites-enabled# ln -s ../sites-available/off.conf off.conf |
| + | </pre> |
| + | |
| + | Port 8001 |
| + | |
| + | <pre> |
| + | |
| + | /etc/apache2# vi ports.conf |
| + | |
| + | #Listen 80 |
| + | Listen 8001 |
| + | |
| + | </pre> |
| + | |
| + | service apache2 restart |
| + | |
| + | To check for errors: |
| + | |
| + | systemctl -l status apache2.service |
| + | |
| + | mkdir /home/off/logs |
| | | |
| ==== Product Opener ==== | | ==== Product Opener ==== |
Line 153: |
Line 299: |
| vi /home/cgi/Config2.pm | | vi /home/cgi/Config2.pm |
| -> put right values for server domain, home path, and mongodb database name | | -> put right values for server domain, home path, and mongodb database name |
| + | </pre> |
| + | |
| + | |
| + | ===== robots.txt ===== |
| + | |
| + | Since we will run a copy of OFF on a separate domain, add a line to forbid robots completely. |
| + | |
| + | <pre> |
| + | /home/off/html# vi robots.txt |
| + | User-agent: * |
| + | Disallow: / |
| + | Disallow: /cgi |
| + | Disallow: /code |
| + | ~ |
| </pre> | | </pre> |