Vous êtes sur la page 1sur 15

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

1 of 15

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

ZEN HUNTING FULL STACK DEVELOPER

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL


PHP
JUEVES, 4 OCT UBRE, 2012 (HT T P ://LOBOT UERT O. COM/BLOG/2012/10/04/COMO-INSTALARLEMP -EN-UBUNT U-LINUX-NGINX-MYSQL-P HP /) BY LOBO_T UERT O (HT T P ://LOBOT UERT O. COM
/BLOG/AUT HOR/LOBO_T UERT O/) 12 COMENTARIOS (HT T P ://LOBOT UERT O. COM/BLOG/2012
/10/04/COMO-INSTALAR-LEMP -EN-UBUNT U-LINUX-NGINX-MYSQL-P HP /#COMMENT S)

Instalacin de nginx
Ligero, estable, buena arquitectura, rpido para servir contenido esttico.
Aqu la gua para instalar nginx en Ubuntu:
nginx=development # usa nginx=stable para la versin estable
sudo addaptrepository ppa:nginx/$nginx
sudo aptget update
sudo aptget install nginx

Al momento de escribir este artculo nginx -v reporta:


nginx version: nginx/1.7.11

Inicia el servidor
sudo service nginx start

Ahora en tu navegador ve hacia: http://localhost

23-Abr-15 18:58 Mk

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

Deberas ver algo como esto:


Welcome to nginx on Debian!

Siguiente, MySQL.

Instalacin de MySQL
sudo aptget install mysqlserver mysqlclient libmysqlclientdev

Prueba si todo funciona bien:


mysql uroot pxxx

Donde xxx es la contrasea que especi caste durante la instalacin de MySQL.


Para cambiar la contrasea de la cuenta root, ejecuta el siguiente comando despus de
ingresar a MySQL:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yyy');

Sustituye yyy por la nueva contrasea.


Si en algn momento necesitas resetear la contrasea del root del servidor
MySQL, ejecuta el siguiente comando:
sudo dpkgreconfigure mysqlserver5.5

Puede que la versin cambie, si es as, puedes ver informacin sobre el paquete
mysql-server con:
dpkg s mysqlserver

com

2 of 15

Mejorando la seguridad

23-Abr-15 18:58 Mk

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

com

.com

3 of 15

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

Ejecuta el siguiente comando y contesta s a todas las preguntas:


mysql_secure_installation

Listo, vamos por PHP.

Instalacin de PHP
Necesito PHP para algunos sitios que utilizan WordPress (http://wordpress.com/) y los
foros de Simple Machines (http://www.simplemachines.org/).
As que, si hay que instalar PHP, hay que hacerlo con lo mejor: PHP-FPM (http://phpfpm.org/)
Sin ms, dale:
sudo aptget install php5fpm

Establece algunos valores sanos para nginx en:


sudo nano /etc/nginx/nginx.conf

Y cambia:
keepalive_timeout 65;

Por:
keepalive_timeout 5;

Esto le indica a nginx que corte cualquier peticin hecha por algn cliente que dilate
ms de 5 segundos.
Con gura nginx para que pueda servir archivos .php, modi ca:
sudo nano /etc/nginx/sitesavailable/default

Y asegrate de que estas lneas se vean as:

23-Abr-15 18:58 Mk

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

4 of 15

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

# redirect server error pages to the static page /50x.html


#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php$ {
try_files $uri =404;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# With php5cgi alone:
#fastcgi_pass 127.0.0.1:9000;
# With php5fpm:
fastcgi_pass unix:/var/run/php5fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /.ht {
deny all;
}

Reinicia nginx para que los cambios en la con guracin surtan efecto:
sudo service nginx restart

Lectura recomendada: Nginx Pitfalls (http://wiki.nginx.org/Pitfalls)

Mejorando la seguridad
Elimina un hueco de seguridad que se presenta en la con guracin por defecto de nginx
con php, slo necesitas modi car una lnea en php.ini:
sudo nano /etc/php5/fpm/php.ini

Asgurate de quitar el punto y coma del frente de la lnea y cambiar el 1 por un 0, de tal
manera que luzca as (el nmero de lnea es 765 aprox):

23-Abr-15 18:58 Mk

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

5 of 15

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

cgi.fix_pathinfo=0

Reinicia php-fpm con:


sudo service php5fpm restart

Comunicacin por medio de un socket UNIX


Normalmente, PHP-FPM escucha en el puerto 9000 en 127.0.0.1.
Dado que php-fpm y nginx estn en la misma mquina, se puede mejorar el
rendimiento si se comunican a travs de un socket UNIX en vez de usar TCP.
Get High Performance PHP-FPM with socket connections (http://voidweb.com
/2010/10/get-high-performance-php-fpm-socket-connections/)

Para indicarle a php-fpm que escuche en un socket UNIX en lugar de uno TCP, modi ca:
sudo nano /etc/php5/fpm/pool.d/www.conf

Y asegrate de que aparezcan las siguientes lneas (en este caso, el punto y coma se
utiliza para comentar):
;listen = 127.0.0.1:9000
listen = /var/run/php5fpm.sock
...
listen.owner = wwwdata
listen.group = wwwdata
listen.mode = 0666

Reinicia php-fpm con:


sudo service php5fpm restart

Ahora, para probar que PHP est funcionando perfectamente a travs de nginx, crea un
archivo de ejemplo:
sudo nano /usr/share/nginx/html/info.php

23-Abr-15 18:58 Mk

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

6 of 15

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

Y ponle este contenido:


1. <?php
2.

phpinfo();

3. ?>

Guarda el archivo y en tu navegador ve a: http://localhost/info.php


Debes ver una pgina con informacin sobre PHP.

Instala soporte para MySQL


sudo aptget install php5mysql

Reinicia php-fpm:
sudo service php5fpm restart

Instala Xcache
Xcache cachea y optimiza cdigo intermedio PHP. En pocas palabras es bueno para tu
servidor, ya que acelera la generacin de tus pginas PHP.
sudo aptget install php5xcache

Reinicia php-fpm:
sudo service php5fpm restart

Ms extensiones para PHP


Puedes encontrar ms extensiones listas para instalar con el comando:
aptcache search php5

Ejemplos:

23-Abr-15 18:58 Mk

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

7 of 15

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

php5curl php5gd php5intl phppear php5imagick php5imap php5mcrypt php5memcache php5ps php5pspel

Permitir uploads de archivos grandes


A veces requieres subir archivos grandes a tu sitio, ya sea para importar algn respaldo,
video, audio, etc. Desgraciadamente la con guracin que trae por defecto nginx y PHP
slo permite recibir cmo mximo archivos de 1MB y 2MB respectivamente.
A continuacin se muestra como incrementar este lmite.

Del lado de nginx


sudo nano /etc/nginx/nginx.conf

Dentro de la seccin http ingresa el client_max_body_size deseado:


http {
...
client_max_body_size 8m;
...

Reinicia nginx:
sudo service nginx restart

Del lado de PHP


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

Estas son las lneas que te interesan:


post_max_size = 8M
...
upload_max_filesize = 8M

Reinicia php-fpm:

23-Abr-15 18:58 Mk

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

8 of 15

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

sudo service php5fpm restart

Listo!

Referencias
Installing Nginx With PHP5 (And PHP-FPM) And MySQL Support (LEMP) On Ubuntu
12.04 LTS (http://www.howtoforge.com/installing-nginx-with-php5-and-php-fpm-andmysql-support-lemp-on-ubuntu-12.04-lts)
Setting up nginx maximum upload size (http://www.funonrails.com/2011/03/settingup-nginx-maximum-upload-size.html)
Comprtelo:

Google (http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linux-nginx-mysqlphp/?share=google-plus-1&nb=1)

Twitter

(http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linux-nginx-mysql-

php/?share=twitter&nb=1)

fpm (http://lobotuerto.com/blog/tag/fpm/)
/blog/tag/instalar/)

lemp (http://lobotuerto.com/blog/tag/lemp/)

(http://lobotuerto.com/blog/tag/mysql/)
/nginx/)

instalar (http://lobotuerto.com
mysql

nginx (http://lobotuerto.com/blog/tag

php (http://lobotuerto.com/blog/tag/php/)

ubuntu (http://lobotuerto.com

/blog/tag/ubuntu/)

Previous

Cmo instalar gitolite en Ubuntu 12.10 (http://lobotuerto.com/blog/2012/10/03/comoinstalar-gitolite-en-ubuntu/)

Next

23-Abr-15 18:58 Mk

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

9 of 15

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

Cmo descargar videos de YouTube en Ubuntu con youtubedl (http://lobotuerto.com


/blog/2012/10/05/como-descargar-videos-de-youtube-en-ubuntu-con-youtube-dl/)

12 COMMENTS

Jueves, 7 febrero, 2013 a las 3:52 pm (http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linux-nginx-

natxocc

mysql-php/#comment-3601)

Buensimo, Gran Trabajo. Gracias!


Responder (/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linuxnginx-mysql-php/?replytocom=3601#respond)

Pingback: Cmo instalar LAMP en Ubuntu 13.04 | @lobo_tuerto (http://lobotuerto.com


/blog/2012/09/09/como-instalar-lamp-en-ubuntu/)

Mircoles, 5 junio, 2013 a las 5:43 pm (http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linux-nginx-

rapaz13 (http://gravatar.com/rapaz13)

mysql-php/#comment-5762)

no muestra el php info


Responder (/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linuxnginx-mysql-php/?replytocom=5762#respond)

23-Abr-15 18:58 Mk

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

10 of 15

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

Lunes, 9 septiembre, 2013 a las 7:52 pm (http://lobotuerto.com/blog/2012/10/04/como-instalar-

Luis Miguel (https://www.facebook.com

lemp-en-ubuntu-linux-nginx-mysql-php/#comment-6723)

/luismiguelbravo)
a mi tampoco
Responder (/blog/2012/10/04/como-instalar-lemp-enubuntu-linux-nginx-mysqlphp/?replytocom=6723#respond)

Luis Miguel
(https://www.facebook.com
/luismiguelbravo)
Lunes, 9 septiembre, 2013 a las 7:59 pm
(http://lobotuerto.com/blog/2012/10/04/comoinstalar-lemp-en-ubuntu-linux-nginx-mysqlphp/#comment-6724)

resulta que haba puesto mal unas


lineas esta es la correccin, que hice
y listo, ya carga el php, solo que no
me je bien a la primera vez
sudo nano /etc/nginx/sites-available
/default
location ~ .php$ {
try_ les $uri =404;
fastcgi_pass unix:/var/run/php5fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location ~ /.ht {
deny all;
}

23-Abr-15 18:58 Mk

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

11 of 15

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

Responder (/blog/2012/10/04/comoinstalar-lemp-en-ubuntu-linux-nginxmysqlphp/?replytocom=6724#respond)

Mircoles, 18 septiembre, 2013 a las 5:42 pm (http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linux-

Lucas Tecnico PC (http://gravatar.com/lucasjavierbianchini)

nginx-mysql-php/#comment-6732)

Felicitaciones! Muy bueno y muy claro!


Responder (/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linuxnginx-mysql-php/?replytocom=6732#respond)

Domingo, 24 noviembre, 2013 a las 12:37 am (http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linux-

Carlos

nginx-mysql-php/#comment-7040)

Genial!!
Solo una duda como puedo instalar phpMyAdmin???
Responder (/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linuxnginx-mysql-php/?replytocom=7040#respond)

Lunes, 17 marzo, 2014 a las 9:17 am (http://lobotuerto.com/blog/2012/10/04/como-instalar-

FreMesA

lemp-en-ubuntu-linux-nginx-mysql-php/#comment-7331)

Me hago la misma pregunta


Responder (/blog/2012/10/04/como-instalar-lemp-enubuntu-linux-nginx-mysqlphp/?replytocom=7331#respond)

Damos Resultados
(http://www.damosresultados.com)

23-Abr-15 18:58 Mk

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

12 of 15

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

Sbado, 8 noviembre, 2014 a las 3:47 pm


(http://lobotuerto.com/blog/2012/10/04/comoinstalar-lemp-en-ubuntu-linux-nginx-mysqlphp/#comment-11377)

sudo apt-get install phpmyadmin los


archivos como php.info y de paginas
a servir deben guardarse en
/var/www/
Sin problemas en Ubuntu 14.04 y
Nginx 1.77
Responder (/blog/2012/10/04/comoinstalar-lemp-en-ubuntu-linux-nginxmysqlphp/?replytocom=11377#respond)

Damos
Resultados

(http://www.damosresultado
Sbado, 8 noviembre, 2014 a
las 4:16 pm
(http://lobotuerto.com
/blog/2012/10/04/comoinstalar-lemp-en-ubuntu-linuxnginx-mysql-php/#comment11378)

Importante para
acceder usando
localhost/phpmyadmin
editar nuevamente
sudo nano
/etc/nginx/sitesavailable/default
y agregar
location

23-Abr-15 18:58 Mk

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

13 of 15

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

/phpmyadmin {
root /usr/share/;
index index.php
index.html
index.htm;
location ~
^/phpmyadmin
/(.+\.php)$ {
try_ les $uri =404;
root /usr/share/;
fastcgi_pass
unix:/var/run/php5fpm.sock;
fastcgi_index
index.php;
fastcgi_param
SCRIPT_FILENAME
$request_ lename;
include /etc/nginx
/fastcgi_params;
fastcgi_param
PATH_INFO
$fastcgi_script_name;
fastcgi_buffer_size
128k;
fastcgi_buffers 256
4k;
fastcgi_busy_buffers_size
256k;
fastcgi_temp_ le_write_size
256k;
fastcgi_intercept_errors
on;
}
location ~*
^/phpmyadmin/(.+\.

23-Abr-15 18:58 Mk

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

14 of 15

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

(jpg|jpeg|gif|css|png|js|ico|html|x
{
root /usr/share/;
}
}
location
/phpMyAdmin {
rewrite ^/*
/phpmyadmin last;
}

reiniciar servidor
sudo service nginx
restart
Responder (/blog
/2012/10/04/comoinstalar-lemp-enubuntu-linux-nginxmysql-

php/?replytocom=11378#respon

Jueves, 3 abril, 2014 a las 9:14 pm (http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linux-nginx-

Rubn Dario Chanam Snchez (https://plus.google.com

mysql-php/#comment-7396)

/105344595973306345539)
Felicitaciones, muy claro
Responder (/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linuxnginx-mysql-php/?replytocom=7396#respond)

Jueves, 10 abril, 2014 a las 6:35 pm (http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linux-nginx-

john

mysql-php/#comment-7412)

Que buen tutorial amigo!!! alcance a sacar un par de canas resolviendo

23-Abr-15 18:58 Mk

Cmo instalar LEMP en Ubuntu 14.10 Linux nginx MySQL PHP | @lob...

15 of 15

http://lobotuerto.com/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linu...

el problema del 502 badway que me tiraba al intentar servir pginas


.php, encontr tu post y n!!! muchas gracias.
Responder (/blog/2012/10/04/como-instalar-lemp-en-ubuntu-linuxnginx-mysql-php/?replytocom=7412#respond)

DEJA UN COMENTARIO

Con la tecnologa de WordPress (http://wordpress.org/). Theme: Flat 1.6 by Themeisle (https://themeisle.com/themes/ at/).

23-Abr-15 18:58 Mk

Vous aimerez peut-être aussi