poniedziałek, 31 grudnia 2012

Ngix wraz z PHP oraz MySQL - Debian Squeeze cz.1

Ngix jest wydajnym serwerem HTTP, dzięki niewielkim wymaganiom oraz prostocie konfiguracji może zostać wykorzystany do uruchomienia Squirrel Mail (to w drugiej części).


Na początek oczywiście musimy sprawdzić jaki mamy adres IP (ifconfig). Następnie rozpoczniemy instalację podstawowych komponentów:

1) MySQL 5:

apt-get install mysql-server mysql-client

W trakcie instalacji zostaniemy poproszeni o podanie hasła dla konto root. 






2) Ngix:


apt-get install nginx

Startujemy go:


/etc/init.d/nginx start

Tworzymy domyślne katalogi dla ngix'a oraz dodajemy go do grupy www:

mkdir /var/www
chown www-data:www-data /var/www

Po wpisaniu adresu IP naszej maszyny otrzymamy co prawda błąd 403, jednak mimo wszystko będzie to oznaczało, że ngix działa.








3) PHP 5:

apt-get install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Edytujemy: /etc/php5/cgi/php.ini

nano /etc/php5/cgi/php.ini

Odszukujemy linijkę: cgi.fix_pathinfo=1 i usuwamy z niej ";"

Następnie instalujemy lighttpd:

apt-get install lighttpd

Dostaniemy błąd uruchomienia, ponieważ 80 port jest już zajęty.

Dlatego uruchomimy go na porcie, np. 9000, dodając poniższą linijkę na koniec  /etc/rc.local:

vi /etc/rc.local

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid








4) Konfiguracja ngix'a:


W pliku odnajdujemy / dopisujemy:

worker_processes  5;
keepalive_timeout   2;

Konfigurujemy Vhost:

vi /etc/nginx/sites-available/default

Dodajemy do niego:


server {
        listen   80; ## listen for ipv4
        listen   [::]:80 default ipv6only=on; ## listen for ipv6
        server_name  _; # Add your domain 
        access_log  /var/log/nginx/localhost.access.log;
        location / {
                root   /var/www;
                index  index.php index.html index.htm;
        }
        location /doc {
                root   /usr/share;
                autoindex on;
                allow 127.0.0.1;
                deny all;
        }
        location /images {
                root   /usr/share;
                autoindex on;
        }
        #error_page  404  /404.html;
        # redirect server error pages to the static page /50x.html
        #
        #error_page   500 502 503 504  /50x.html;
        #location = /50x.html {
        #       root   /var/www/nginx-default;
        #}
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
                #proxy_pass   http://127.0.0.1;
        #}
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
                include         fastcgi_params;
        }
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
                deny  all;
        }
}


Restartujemy ngix'a:

/etc/init.d/nginx restart


Sprawdzimy czy PHP działa, tworzymy index.php w /var/www:



<?
phpinfo();

?>



Brak komentarzy:

Prześlij komentarz