Instalacja Nginx, PHP5, MySQL, phpMyAdmin

Archiwalne, stare wpisy FAQ i HowTo Użytkowników
piotrd14
Posty: 27
Rejestracja: 03 października 2010, 13:40
Lokalizacja: Kraków

Instalacja Nginx, PHP5, MySQL, phpMyAdmin

Post autor: piotrd14 »

Poradnik przewiduje zainstalowanie:
  • Nginx
  • PHP 5.3 (php-fpm)
  • MySQL
  • phpMyAdmin
Nie będzie potrzebne żadne kompilowanie czy to programu nginx czy PHP. Wszystko po poprawnym zainstalowaniu będzie od razu działać.

Oryginał (wraz z wersją dla Ubuntu na http://www.piotrdyduch.pl/debian-ubuntu ... cja-nginx/).

A więc do roboty.
  1. Repozytoria

    Pierwsze co należy zrobić, to dodać odpowiednie repozytoria. Edytujemy plik /etc/apt/sources.list.

    Tutaj podam cały mój plik:

    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
    Następnie musimy dodać klucze. W konsoli wpisujemy:

    Kod: Zaznacz cały

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

    Teraz musimy zaktualizować system:

    Kod: Zaznacz cały

    apt-get update
    apt-get upgrade
  3. MySQL

    Instalujemy bazę danych MySQL

    Kod: Zaznacz cały

    apt-get install mysql-server mysql-client
  4. 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
  5. 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;
    }
  6. 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
  7. Restart

    Restartujemy Nginx i PHP-FPM:

    Kod: Zaznacz cały

    /etc/init.d/nginx restart
    /etc/init.d/php5-fpm restart
  8. Moduły PHP

    Zainstalujemy podstawowe moduły PHP.

    Kod: Zaznacz cały

    apt-get install php5-mysql php5-ldap php5-imap php5-curl php-pear
    Po zainstalowaniu należy zrestartować PHP-FPM (j.w.)
  9. Test

    Sprawdzamy, czy poprawnie zainstalowaliśmy PHP. W tym celu tworzymy plik index.php w:

    Kod: Zaznacz cały

    vim /var/www/www.domena.pl/index.php
    i wpisujemy:

    Kod: Zaznacz cały

    <?php
    phpinfo();
    ?>
    Jeżeli wszystko działa poprawnie to zobaczymy stronę z konfiguracją PHP.
  10. phpMyAdmin

    Standardowa instalacja:

    Kod: Zaznacz cały

    apt-get install phpmyadmin
    Podczas instalacji wyświetli się pytanie o to, jaki serwer www chcemy konfigurować. Zostawiamy puste.
  11. 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

    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;
    }
    
    }
    Po zapisaniu pliku restartujemy program nginx:

    Kod: Zaznacz cały

    /etc/init.d/nginx restart
    i wchodzimy na stronę:

    Kod: Zaznacz cały

    http://phpmyadmin.domena.pl
    To byłoby na tyle.
Zablokowany