Instalacja Nginx, PHP5, MySQL, phpMyAdmin
: 04 listopada 2010, 20:48
Poradnik przewiduje zainstalowanie:
Oryginał (wraz z wersją dla Ubuntu na http://www.piotrdyduch.pl/debian-ubuntu ... cja-nginx/).
A więc do roboty.
- Nginx
- PHP 5.3 (php-fpm)
- MySQL
- phpMyAdmin
Oryginał (wraz z wersją dla Ubuntu na http://www.piotrdyduch.pl/debian-ubuntu ... cja-nginx/).
A więc do roboty.
- Repozytoria
Pierwsze co należy zrobić, to dodać odpowiednie repozytoria. Edytujemy plik /etc/apt/sources.list.
Tutaj podam cały mój plik:
Następnie musimy dodać klucze. W konsoli wpisujemy:Kod: Zaznacz cały
deb [url]http://ftp.pl.debian.org/debian/[/url] lenny main non-free contrib deb-src [url]http://ftp.pl.debian.org/debian/[/url] lenny main non-free contrib deb [url]http://security.debian.org/[/url] lenny/updates main contrib non-free deb-src [url]http://security.debian.org/[/url] lenny/updates main contrib non-free deb [url]http://volatile.debian.org/debian-volatile[/url] lenny/volatile main contrib non-free deb-src [url]http://volatile.debian.org/debian-volatile[/url] lenny/volatile main contrib non-free deb [url]http://backports.debian.org/debian-backports[/url] lenny-backports main deb [url]http://php53.dotdeb.org[/url] stable all deb-src [url]http://php53.dotdeb.org[/url] stable all
Kod: Zaznacz cały
gpg –keyserver keys.gnupg.net –recv-key 89DF5277 gpg -a –export 89DF5277 | apt-key add -
- Aktualizacja
Teraz musimy zaktualizować system:Kod: Zaznacz cały
apt-get update apt-get upgrade
- MySQL
Instalujemy bazę danych MySQL
Kod: Zaznacz cały
apt-get install mysql-server mysql-client
- Instalacja Nginx
Nginxa zainstalujemy z backportów (bardziej aktualny niż z podstawowych repozytoriów).Kod: Zaznacz cały
apt-get -t lenny-backports install nginx
- VirtualHost
Tworzymy VirtualHosta dla:Kod: Zaznacz cały
[url]www.domena.pl[/url]
(z przedrostkiem www)Kod: Zaznacz cały
vim /etc/nginx/sites-available/default
Kod: Zaznacz cały
server { listen 80; server_name [url]www.domena.pl;[/url] access_log /var/log/nginx/www.domena.pl.access.log; ## Lokacja strony: location / { root /var/www/www.domena.pl; index index.php; } ## „Inne” traktowanie obrazkow i plikow statycznych location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ { access_log off; expires 30d; root /var/www; } ## Parsowanie wszystkich plikow .php w katalogu strony: /var/www/www.domena.pl location ~ .php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass backend; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/www.domena.pl$fastcgi_script_name; include fastcgi_params; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } ## Blokowanie widzenia plików .htaccess & .htpassword location ~ /\.ht { deny all; } } ## Ustawienie portu, na którym będzie się odbywać komunikacja z PHP upstream backend { server 127.0.0.1:9000; }
- Instalacja PHP
PHP-FPM jest gotowym ,,rozwiązaniem'' do komunikacji między nginx a PHP w wersji FastCGI.Kod: Zaznacz cały
apt-get install php5-fpm
- Restart
Restartujemy Nginx i PHP-FPM:Kod: Zaznacz cały
/etc/init.d/nginx restart /etc/init.d/php5-fpm restart
- Moduły PHP
Zainstalujemy podstawowe moduły PHP.Po zainstalowaniu należy zrestartować PHP-FPM (j.w.)Kod: Zaznacz cały
apt-get install php5-mysql php5-ldap php5-imap php5-curl php-pear
- Test
Sprawdzamy, czy poprawnie zainstalowaliśmy PHP. W tym celu tworzymy plik index.php w:i wpisujemy:Kod: Zaznacz cały
vim /var/www/www.domena.pl/index.php
Jeżeli wszystko działa poprawnie to zobaczymy stronę z konfiguracją PHP.Kod: Zaznacz cały
<?php phpinfo(); ?>
- phpMyAdmin
Standardowa instalacja:Podczas instalacji wyświetli się pytanie o to, jaki serwer www chcemy konfigurować. Zostawiamy puste.Kod: Zaznacz cały
apt-get install phpmyadmin
- VirtualHost dla phpMyAdmin
Ponownie edytujemy plik default w /etc/nginx/sites-available i dodajemy między pierwszym "serverem", a "upstream":Kod: Zaznacz cały
vim /etc/nginx/sites-available/default
Po zapisaniu pliku restartujemy program nginx:Kod: Zaznacz cały
server { listen 80; server_name phpmyadmin.domena.pl; access_log /var/log/nginx/phpmyadmin.access.log; location / { root /usr/share/phpmyadmin; index index.php; } location ~ .php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass backend; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$fastcgi_script_name; include fastcgi_params; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } location /phpMyAdmin { rewrite ^/* /phpmyadmin last; } }
i wchodzimy na stronę:Kod: Zaznacz cały
/etc/init.d/nginx restart
To byłoby na tyle.Kod: Zaznacz cały
http://phpmyadmin.domena.pl