Konfiguracja phpBB3 pod nginx w chroocie

Portret użytkownika bluszcz

Ta ściągawka być może przyda się komuś potrzebującemu takiej specyficznej konfiguracji:

  • ubuntu server
  • nginx
  • chroot + daemon tools
  • phpBB3

Opiś środowiska:

  • system bazowy dapper lts (działa tam nginx oraz daemon tools)
  • system w chroocie /chroots/example.com/hardy lts, tutaj będziemy startować procesy fcgi

W chroocie musimy zainstalować paczkę php5-cgi. Celowo pomijam tutaj wszystkie inne detale związane z konfiguracją phpBB3 - konfiguracja bazy danych etc. Aplikacja będzie chodzić jako procesy fastcgi na użytkowniku example. W jego katalogu domowym leżą rozpakowane źródła phpBB3.

W base systemie plik /etc/nginx/sites-enabled/example.com:

server {
        listen 80;
        server_name example.com www.example.com;

        access_log /var/log/nginx/example.com-access.log;
        error_log  /var/log/nginx/example.com-error.log;

        root    /chroots/example.com/home/example/phpBB3;
        index  index.html index.htm index.php;

        keepalive_timeout 0;

        location ~ \.php$ {
          include /etc/nginx/fastcgi_params;
          fastcgi_param   SCRIPT_FILENAME  /home/example/phpBB3$fastcgi_script_name;
          fastcgi_pass    127.0.0.1:40080;
          fastcgi_index index.php;
        }
}

plik /etc/nginx/fastcgi_params:

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

Zawartość pliku /service/example.com/run jest następująca:

#!/bin/sh
exec chroot /chroots/po50.info/ \ 
  sudo -u example php5-cgi -b 127.0.0.1:40080
Bookmark and Share