Instalacja na Debianie (testing)/Ubuntu
sudo apt-get install nginx php5 php5-gd php5-sqlite php5-fpm
Instalacja na Bridge Linux/Archlinux
sudo pacman -S nginx php php-gd php-sqlite php-fpm
W /etc/php5/fpm/php.ini ustawiamy opcje dla php, np. włączamy wyświetlanie błędów itp. W Bridge Linux edytujemy plik /etc/php/php.ini i wyłączamy jedną opcję, aby otrzymać:
#open_basedir = /srv/http/...
W /etc/php5/fpm/pool.d/www.conf:
listen = /var/run/php5-fpm.sock
- w Ubuntu 12.04 jest domyślnie
listen = 127.0.0.1:9000
, czyli ustawienie dla php5-cgi, a nie php5-fpm, dlatego trzeba zmienić. W Ubuntu 13.04 nic nie trzeba zmieniać. W Bridge'u/Archu cała konfiguracja zawarta jest w /etc/php/php-fpm.conf i nic nie trzeba zmieniać, ale ścieżka gniazda ma inną postać: listen = /run/php-fpm/php-fpm.sock
.W /etc/nginx/sites-available tworzymy plik (wpis) definiujący nasz serwer i zapisujemy go (w Debianie, Ubuntu) pod dowolną nazwą, np. local.org. W Bridge'u/Archu edytujemy plik /etc/nginx/nginx.conf. Przykładowa zawartość:
server { listen 80; server_name localhost; charset utf-8; access_log off; root /home/lolek/public_html; index index.php; location / { try_files $uri $uri/ /index.php; #lub: try_files $uri $uri/ /index.php?id=$uri&$args } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } location ~ /\.ht { deny all; } location ~ /\. { deny all; } }- przy czym najważniejszy jest parametr root, który zawiera ścieżkę do katalogu z plikami serwisu, oraz sekcja
location ~.\.php$
definiująca sposób przetwarzania wywołań php.W przypadku Bridge'a/Archa pamiętamy o wprowadzeniu poprawnej ścieżki do gniazda (!), czyli unix:/run/php-fpm/php-fpm.sock. Zmieniamy też fastcgi_params na fastcgi.conf.
Usuwamy dowiązanie /etc/nginx/sites-enabled/default i tworzymy nowe:
ln -s /etc/nginx/sites-available/lolcal.org /etc/nginx/sites-enabled/default
Na koniec restartujemy usługi:
invoke-rc.d php5-fpm restart; invoke-rc.d nginx restart
- w Debianieservice php5-fpm restart; service nginx restart
- w Ubunturc.d restart php-fpm; rc.d restart nginx
- w Bridge LinuxUwaga: powyższa konfiguracja jest bardzo podstawowa i służyć ma do lokalnych testów, nie uwzględnia więc zagadnień bezpieczeństwa, zwłaszcza związanych z możliwością wykonywania skryptów php.
Ponieważ sporo sieciowych tutoriali zawiera błędy i/lub uproszczenia, poprawnych (czyt. bezpiecznych) konfiguracji trzeba szukać u źródła, czyli na stronie wiki projektu Nginx.
Brak komentarzy:
Prześlij komentarz
Co myślisz, co czujesz?