Instalar Lamp, Apache - MySQL - PHP, en Linux

  • Por
  • Linux
Cómo instalar todos los programas que necesitas para comenzar a desarrollar con PHP en entornos Linux: Apache, PHP y MySQL, lo que se conoce como Lamp. Para Distribuciones basadas en Debian como Ubuntu o Linux Mint.

En DesarrolloWeb.com hemos explicado en diversos artículos cómo instalar todos los programas necesarios para empezar a trabajar con PHP en local sobre sistemas Windows, pues tradicionalmente hemos orientado nuestros tutoriales a los usuarios de dicho sistema. Sin embargo, no debemos de olvidarnos de los usuarios de cualquiera de los otros sistemas operativos y en este artículo le toca a GNU/Linux.

De hecho, si se me permite la apreciación, aunque PHP es multiplataforma, su entorno más natural para ejecución es Linux, ya que la mayoría de los servidores PHP corren bajo ese sistema operativo. Por ello, para los que somos desarrolladores y que además nos interesa aprender un poco de administración de servidores, no nos vendría nada mal tener nuestro PHP ejecutando bajo una instalación de Linux. Además, se trata de algo realmente sencillo.

Nota: Existen otros tutoriales diversos en DesarrolloWeb.com que pueden interesarte si lo que quieres es instalar PHP en otros sistemas operativos.

Debe haber decenas de maneras de instalar Apache, PHP y MySQL sobre GNU/Linux y en Internet encontraremos una gran cantidad de información a este respecto. Nosotros vamos a destacar una a continuación que nos ha funcionado siempre bien, con algunos detalles adicionales que nos pueden facilitar diversas labores de desarrollo en nuestros sistemas. Además, complementaremos la información comentando los pasos para instalar otra herramienta fundamental, como es el PhpMyAdmin.

Instalar los paquetes por línea de comandos con apt-get

Vamos a instalar todos los paquetes necesarios para poder trabajar con PHP y lo haremos sobre línea de comandos, que es un método que difícilmente podrá fallarnos. Para ello utilizaremos el comando apt-get de sistemas basados en Debian.

Nota: Yo estoy trabajando sobre Ubuntu, por ello voy a utilizar un comando que viene de sistemas Debian para la descarga de paquetes que es el apt-get. Ese comando, como decía, está disponible en las distros Debian, pero también en aquellas basadas en Debian, como Ubuntu o Linux Mint. Ubuntu es el tercer sistema operativo más utilizado, creado por Canonical, y Mint sería el cuarto en importancia a nivel mundial. Si utilizas otro sistema GNU/Linux que no esté basado en Debian, esta información quizás no te servirá de mucho.

Conviene decir que esta receta la hemos obtenido del sitio web HowtoForge. Yo la he traducido libremente y la he complementado con explicaciones adicionales y algunos pasos extra que he considerado de interés.

Como un primer paso, podemos lanzar un comando para obtener los privilegios de root para la administración a través de la línea de comandos.

sudo su

Nos pedirá la clave de nuestro usuario, que es la misma clave que usamos al arrancar el equipo.

Paso 1: Instalación de MySQL

Ahora instalaremos MySQL, para lo que ejecutamos el siguiente comando:

apt-get install mysql-server mysql-client

Durante el proceso de instalación tendrás que introducir la clave que deseas configurar al usuario root de MySQL.

Paso 2: Instalar Apache

Ahora toca instalar el servidor web Apache, en su versión 2. Para instalar Apache2 lanzamos el siguiente comando:

apt-get install apache2

En este punto, una vez instalado Apache, puedes hacer una primera comprobación, que nos permitirá saber si el servidor web está funcionado correctamente. Para ello abre un navegador cualquiera e introduce la URL de localhost o la IP local de tu ordenador:

http://localhost

O bien:

http://192.168.0.55 (sustituye esa IP por la IP de tu máquina)
Nota: Si no sabes cuál es tu IP de red local, tienes a tu disposición en Linux el comando ifconfig.

Al acceder a cualquiera de esas dos URL debería salirte el mensaje de Apache diciendo que está funcionado (It works!).

Para tu información, el directorio predeterminado donde se guardan los documentos del servidor web en Apache es /var/www y el fichero de configuración del servidor está en /etc/apache2/apache2.conf. Otras configuraciones están almacenadas en otros subdirectorios de /etc/apache2 como /etc/apache2/mods-enabled para los módulos habilitados, /etc/apache2/sites-enabled para los "virtual hosts" y /etc/apache2/conf.d para las configuraciones globales que afectarán a todos los virtual host.

Nota: Existe en DesarrolloWeb.com un manual sobre la instalación de Apache en Windows, que no te ayudará mucho si estás en Linux, pero que tiene mucha información sobre la configuración de Apache. Te servirá de ayuda puesto que la mayoría de los archivos de configuración funcionan exactamente igual y las variables de configuración son exactamente las mismas.

Paso 3: Instalar PHP

El siguiente paso es Instalar PHP. La versión actual en el momento de escribir este artículo es la 5, que se instalaría con el siguiente comando.

apt-get install php5 libapache2-mod-php5

Después de la instalación de PHP5 como módulo de Apache, debemos reiniciar el servidor web y para ello lanzamos este otro comando.

/etc/init.d/apache2 restart

Como puedes ver, hacemos un "restart", pero también podrías hacer primero un "stop" y luego un "start".

Llegado este punto, podemos crear ya un documento web que nos sirva para comprobar si PHP está correctamente instalado en nuestro sistema y para ello podemos utilizar la línea de comandos y el editor que prefieras. A algunas personas les gusta el editor llamado Vi, pero yo soy de los que prefiere otros más sencillos como el Joe.

Nota: Para conocer más acerca del programa Joe, puedes visitar la FAQ: ¿Sabéis de una alternativa a Vi?

En cualquier caso, tendrás que crear un archivo en la ruta por defecto de publicación del Apache, que ya dijimos es /var/www. Puedes llamarle como desees, por ejemplo info.php, en el que colocarás las siguientes líneas de código.

<?php 
phpinfo(); 
?>

Esa función de PHP phpinfo() te mostrará mucha información útil sobre la instalación de PHP que tienes en tu máquina, como módulos incluidos y diferentes configuraciones en funcionamiento.

Nota: para crear el archivo PHP también puedes utilizar el editor gráfico que desees, que te será incluso más cómodo que cualquier programa que trabaje con el terminal. El único detalle es aplicarle los permisos necesarios a la carpeta /var/www para que sea propiedad de tu usuario y puedas ciertas cosas con ella.
Ten en cuenta que ponerse como usuario dueño de la carpeta se recomienda solo sitios que no estén en producción. Lo harías con el comando:
sudo chown -R $USER:$USER /var/www

Si lo deseas, también puedes hacer el comando :
echo $USER

Para ver el nombre del usuario en el que estás y el que vas a poner como duelo de la carpeta /var/www.

Una vez creado el archivo de texto info.php con el código indicado, podemos acceder a él desde un navegador con una URL como esta:

http://localhost/info.php

También puedes sustituir "localhost" por tu dirección IP de red local.

Si ves toda una serie de información de tu instalación PHP, como en la imagen anterior, es que has podido instalar PHP en correctas condiciones.

Paso 4: Instalar módulo PHP5-mysql y otras extensiones PHP necesarias

Si haces scroll hacia abajo en la página del phpinfo() podrás ver el listado de módulos PHP que tienes disponibles. Puede que no tengas todos los que necesitas y en concreto podrás observar que no tienes habilitado el módulo de MySQL, por lo que podrás instalarlo.

Si haces el comando:

apt-cache search php5

Podrás encontrar el listado de extensiones de PHP disponibles en los repositorios, puedes elegir aquellos que desees e instalarlos con la línea:

apt-get install php5-mysql php5-curl php5-gd php-pear php5-imagick php5-sqlite php5-tidy php5-xmlrpc php5-xsl

A continuación debes reiniciar el servidor para que los cambios tengan efecto.

/etc/init.d/apache2 restart

Si refrescas la página del phpinfo() podrás encontrar los nuevos módulos instalados.

Paso 5 opcional: Instalar PhpMyAdmin

Seguramente agradecerás contar con una copia de PhpMyAdmin para gestionar tus bases de datos MySQL. Para ello puedes invocar el comando:

apt-get install phpmyadmin

Verás a continuación una serie de preguntas, como tu servidor web. Una vez instalado puedes acceder al gestor por medio de una URL como esta:

http://localhost/phpmyadmin/

Estas son unas indicaciones muy básicas que probablemente no sean suficientes en muchos de los casos. Por favor, para obtener una descripción completa sobre la instalación de este administrador de MySQL vía web, junto con la resolución de algunos problemas comunes, revisa con detalle el artículo Cómo instalar PhpMyAdmin en Linux.

Conclusión

Con este proceso tendrás a tu disposición todos los materiales para comenzar a desarrollar con PHP en tu Linux.

Simplemente señalar un detalle importante, que ya se apuntó de refilón, pero que quiero remarcar. Es posible que en esta instalación de Apache y PHP quieras desarrollar sitios web y utilizar para programar dichos sitios un editor para programadores con interfaz gráfica como Komodo Edit o Eclipse. En este caso recuerda que, para editar o crear archivos en la carpeta /var/www desde esos programas, tendrás que poner tu usuario como dueño de la carpeta, con chown. Eso se explicó en una nota anterior.

Referencia: Para optimizar la configuración de tu Apache en Linux de una manera muy práctica para tu servidor de desarrollo, te aconsejamos la lectura del artículo Configuración de Apache en Linux con carpetas externas.

De momento es todo! Espero que te sirva!

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

Zenen

10/5/2012
Instalar Lamp, Apache - MySQL - PHP, en Linux
Hola. Gracias por el tutorial, esta bien interesante. Pero en mi caso yo preferiria usar el gestor de paquetes synaptic

heriberto

14/5/2012
podrían usar xampp
podrían usar xampp la instalación es muy simple y funciona para lo mismo, he instala apache php y mysql de maner automatica

JANIOR A. MOLERO P.

21/5/2012
AGRADECIDO POR LA INFORMACIÓN...!!!
Mi gente, muchas gracias por la información, fue de gran utilidad. Dios Bendiga Grandemente a TODO el equipo de DesarrolloWeb.com

Omar Hernandez

27/5/2012
Algunos problemas resueltos.
Hola amigos de desarrolloweb, solo para comentarles que para los permisos en la carpeta de www, el comando que pusieron no me sirvio, "sudo chown -R $USER:$USER /var/www", asi que tuve que recurrir a este:

chmod -R 777 "aca va el path completo de la carpeta Compartidos"

El -R hace que el permiso lo asigne a todas la subcarpetas dentro de la carpeta "Compatidos". El 777 se debe al codigo que se le asigna al comando paraque los permisos sean totales.

Gracias por toda la infomacion, me sirvio mucho de ayuda, ademas de sus otros articulos.

Saludos

Luis Pastén

03/4/2013
Muchas gracias por el tutorial
hola que tal amigos de desarrolloweb.com estoy agradecido por este pequeño tutorial me fue de gran ayuda

ximsurraca

07/2/2014
no puedo abrir phpmyadmin
He seguido todo el artículo al pie de la letra y me a funcionado bien, hasta llegar al final.
Cuando voy a entrar a phpmyadmin desde el navegador me da el error "404 Not Found".
Ayuda por favor!

ximsurraca

07/2/2014
solucionado el comentario anterior
He seguido las instrucciones de este foro. Aunque está en ingles se puede seguir facilmente ya que son comando para poner en la terminal.
http://goo.gl/gRRbHq
Espero que les sirva de ayuda. Adiós.

grover

22/2/2014
PHP Linux
Aquí también la forma de instalar php el Red Hat/CentOS:
http://isyskernel.blogspot.com/2013/03/Instalar-configurar-MySQL-5-en-GNU-Linux-CentOS-64.html

kiko

02/4/2014
A los que les das fallo al entrar al phpmyadmin
el error reside en que cuando quieres mirar apache que pones en el buscador localhost carga el index que se encuentra en /var/www pero cuando pones localhost/phpmyadmin no lo encuentra ya que phpmyadmin lo tienes que mover a /var/www

carlosruiz

26/8/2014
no puedo intalar el paso 3
hola exelente pagina ise la descarga de la app en mi telefono
me interesa aprender a programar pero me sale este problema

sharks@sharks-desktop:~$ apt-get install php5 libapache2-mod-php5
E: No se pudo abrir el fichero de bloqueo «/var/lib/dpkg/lock» - open (13: Permiso denegado)
E: No se encontró un archivo de réplica «/var/lib/dpkg/»
sharks@sharks-desktop:~$

me podrian ayudar

carlosruiz

27/8/2014
me interesa aprender a programar pero me sale este problema
sharks@sharks-desktop:~$ apt-get install php5 libapache2-mod-php5
E: No se pudo abrir el fichero de bloqueo «/var/lib/dpkg/lock» - open (13: Permiso denegado)
E: No se encontró un archivo de réplica «/var/lib/dpkg/»
sharks@sharks-desktop:~$

me podrian ayudar

Heisler

10/11/2014
777
Movimiento contra el uso del 777
Viva el 755

Jose

10/11/2014
Y para ayudar en el debug...
...yo añadiría Maurina (http://maurina.org) para tener un sistema básico de debug.

semor

06/12/2014
ayuda porfavor....
al momento de intalar los complementos me sale este error espero y me ayudes. saludos.
apt-get install php5-mysql php5-curl php5-gd php-pear php5-imagick php5-sqlite php5-tidy php5-xmlrpc php5-xsl
E: No se pudo abrir el fichero de bloqueo «/var/lib/dpkg/lock» - open (13: Permiso denegado)
E: No se encontró un archivo de réplica «/var/lib/dpkg/»

saludos.

@Evaristo

09/12/2014
Solucion a conflictos de paquetes
Teclear con usuario ROOT o superusuario lo siguiente
para modificar el archivo de actualizaciones:

nano /etc/apt/sources.list

Y comentar la siguiente linea:

#deb cdrom:[Debian GNU/Linux 7.6.0 _Wheezy_ -Official .........

Y Agregar al fichero /etc/apt/sources.list lo siguiente:

deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

Actualizar la BD de paquetes, teclear lo siguiente:

aptitude update

Joseluiscamu

03/3/2015
Directorio base
En la instalación que he hecho el directorio donde se ha de publicar la página de prueba info.php es /var/www/html donde ya existe la página index.html
También es este el directorio cuyo propietario hay que cambiar según se comenta en la nota del autor.
Todo funciona ok.

Gilberto

04/9/2016
Error
hola me sale el error este error al instalar sudo apt-get install php5 libapache2-mod-php5

E: El paquete «php5» no tiene un candidato para la instalación
E: El paquete «libapache2-mod-php5» no tiene un candidato para la instalación

AYUDA PORFAVOR