Don't be bored, do something!

LEMP su Ubuntu Server

LEMP (Linux, nginx, MySQL, and PHP) è uno stack come LAMP (Linux, Apache, MySQL, and PHP)

Il web server nginx (pronunciato come “engine-x” e che prende la lettera E all’interno di LEMP) sostituisce il web server Apache (all’interno di LAMP).

E’ possibile installare nginx seguendo il semplice post descritto qui

Inoltre si possono installare gli altri componenti come PHP, MySQL e phpmyadmin. nginx, a differenza di Apache, richiede qualche configurazione ulteriore.

lemp

Dopo aver installato nginx e verificato che tutto funzioni correttamente, procediamo con l’installazione di PHP dando da terminale:

sudo apt-get install php5-cli php5-fpm php5-mysql

Per aprire file PHP dobbiamo effettuare delle modifiche. Da terminale diamo:

sudo nano /etc/nginx/sites-available/default

e aggiungiamo index.php alla riga

index index.html index.htm;

in modo da ottenere questo:

inoltre, prima di salvare il file, lo scorriamo fino ad arrivare al blocco di codice

# location ~ \.php$ {
#   fastcgi_split_path_info ^(.+\.php)(/.+)$;
#   NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

#    # With php5-cgi alone
#    fastcgi_pass 127.0.0.1:9000;
#    # With php5-fpm;
#    fastcgi_pass unix:/var/run/php5-fpm.sock;
#    fastcgi_index index.php;
#    include fastcgi_params;
#  }

che modifichiamo ottenendo la schermata successiva:

 

Al termine salviamo il file, usciamo dall’editor nano e riavviamo nginx con

sudo /etc/init.d/nginx restart

A questo punto testiamo se tutto è andato a buon fine, creando un file php_info.php

sudo nano /usr/share/nginx/www/php_info.php

ed all’interno scriviamo:

<?php phpinfo(); ?>

Salviamo il file, usciamo dall’editor e da un browser interno alla LAN, daremo:

http://indirizzo.ip.del.server/php_info.php

ottenendo qualcosa simile alla schermata

Gli ultimi due passaggi risultano essere l’installazione di MySQL e di phpmyadmin (al fine di facilitare l’utilizzo di MySQL).

Da terminale diamo:

sudo apt-get install mysql-server

e durante l’installazione ci verrà richiesta di inserire la password di root

Ultimo passaggio è l’installazione e la configurazione di phpmyadmin; da terminale diamo:

sudo apt-get install phpmyadmin

e nella schermata successiva non selezioniamo nessuna delle voci che ci vengono proposte

Alla fine dell’installazione del pacchetto, bisogna effettuare un’ultima modifica:

sudo nano /etc/nginx/sites-available/default

ed aggiungere il seguente pezzo di codice:

location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                       include /etc/nginx/fastcgi_params;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

Di seguito una schermata di esempio, che mostra la posizione in cui ho inserito il blocco di codice:

Alla fine salvare il file e riavviare nginx con

sudo /etc/init.d/nginx restart

Aprendo un browser all’interno della LAN possiamo digitare

http://indirizzo.ip.del.server/phpmyadmin

in alcuni casi potremmo ottenere una schermata di errore come segue

Schermata del 2013-03-12 12:11:03

che possiamo risolvere modificando il file php.ini, togliendo il commento alla riga mysqli.allow_local_infile = On

 sudo nano /etc/php5/cli/php.ini

Tagged under: , , , , , , , , ,

Rispondi

Back to top