Kolejny mini-tutorial: prosta instalacja serwera www Nginx z działającym PHP5 (PHP5-FPM) i podstawową konfiguracją virtualhosta.

Nginx (czy też „Apache killer”) staje się ostatnimi czasy bardzo popularny. Nie będę się rozpisywał dlaczego, bo wystarczy zapytać Wujka G ;). Podam jedynie, że kluczowym czynnikiem jest jego lekkość i o wiele mniejsze zżeranie RAM’ów.

Niestety (albo i dobrze) nie ma „w sobie” modułu do komunikacji z PHP (tak jak Apache mod_php). Dlatego właśnie zainstalujemy gotowe „rozwiązanie” o nazwie PHP5-FPM (FastCGI Process Manager).


Zakładam, że każdy ma zaktualizowany system…

W Debianie Nginx zostanie zainstalowany z Backports, natomiast w Ubuntu z podstawowych repo.

1. Dodanie repozytoriów

Pierwsze co należy zrobić to dodać odpowiednie repozytoria do pliku sources.list (/etc/apt/sources.list).

W zależności od dystrybucji:

Debian:

(Cały plik sources.list):

Po zapisaniu pliku, musimy ściągnąć odpowiednie klucze GPG:

gpg –keyserver keys.gnupg.net –recv-key 89DF5277
gpg -a –export 89DF5277 | apt-key add –

W przypadku Ubuntu wystarczy wpisać w konsoli:

add-apt-repository ppa:brianmercer/php

(Jeżeli wyskoczy jakiś błąd i nie doda nam się to repozytorium, należy zainstalować python-software-properties).

aptitude install python-software-properties

2. Aktualizacja repozytoriów

aptitude update

Ew. można zrobić upgrade:

aptitude upgrade

3. Instalacja MySQL

aptitude install mysql-server mysql-client

Zostaniemy poproszeni o podanie hasła oraz o jego powtórzenie.

4. Instalacja Nginx

Debian:

aptitude -t lenny-backports install nginx

Ubuntu

aptitude install nginx

5. VirtualHost

Teraz musimy stworzyć podstawowy virtualhost dla Nginxa. Zatem musimy wyedytować plik default z /etc/nginx/sites-available.

vim /etc/nginx/sites-available/default

(Gotowy VH):

To jest przykładowa konfiguracja hosta dla podstawowej domeny na serwerze. Inne konfiguracje znajdziecie w necie :).

6. Instalacja PHP

Tak jak wcześniej wspomniałem, zainstalujemy pakiet PHP5-FPM:

aptitude install php5-fpm

7. Restart serwisów

Zainstalowaliśmy serwer www i php, teraz należy je zrestartować:

/etc/init.d/nginx restart
/etc/init.d/php5-fpm restart

8. Moduły PHP

aptitude install php5-mysql php5-ldap php5-imap php5-curl php-pear

Po zainstalowaniu modułów restartujemy PHP5-FPM:

/etc/init.d/php5-fpm restart

9. Test

Aby sprawdzić czy PHP działa nam tak jak powinno, tworzymy nowy plik:

vim /var/www/www.domena.pl/index.php

i wpisujemy:

Po zapisaniu, wpisujemy w przeglądarce swój adres i powinniśmy „otrzymać” konfigurację PHP na serwie.

10. Instalacja phpMyAdmin

Jeżeli wszystko działa, zainstalujemy phpMyAdmin, który pomaga w zarządzaniu bazą MySQL :).

aptitude install phpmyadmin

Gdy wyskoczy komunikat o „rekonfigurację” serwera, zostawiamy bez zaznaczania jakiegokolwiek (chyba, że będzie w przyszłości możliwość wybrania nginx 😉 ).

11. Konfiguracja VirtualHosta dla phpMyAdmin

Aby uzyskać dostęp do skryptu musimy stworzyć: albo alias, albo VH. Wg mnie odrobinę bezpieczniejsza jest właśnie ta druga opcja.

Tak więc ponownie edytujemy plik default

vim /etc/nginx/sites-available/default

I dodajemy między konfiguracją pierwszego „servera”, a upstream’em:

Po zapisaniu pliku restartujemy nginxa:

/etc/init.d/nginx restart

Sprawdzamy czy działa wpisując w przeglądarce adres: http://phpmyadmin.domena.pl

12. Inne

Tak jak napisałem na wstępie, jest to podstawowa konfiguracja. Każdy jak chce, może zainstalować dodatkowe moduły PHP, jednak od razu uprzedzę, że niektóre nie są dostosowane do PHP5.3.

Strony, z których wykorzystałem jakieś informacje oraz warte odwiedzenia:


Komentarze (2)

Dodaj komentarz

Twój adres email nie zostanie opublikowany.


*