Cómo instalar un servidor LAMP en Ubuntu/Debian

LAMPAl finalizar este mini-tutorial tendremos instalado un servidor LAMP (es decir Linux + Apache + MySQL + PHP) en nuestra computadora. Me he basado/traducido en el tutorial de HowtoForge.
Instalaremos: Apache 2 (servidor web), MySQL 5 (base de datos), PHP 5 (lenguaje de scripting) y phpMyAdmin / Webmin para la administración via web. Se asume que ya se tiene instalado Linux (en este caso Debian o algún Ubuntu), si deseas una guía para instalar Ubuntu, te puede servir esto.

Cubriré sólo los aspectos básicos de la instalación de cada componente, quedando la configuración de los mismos de acuerdo a las necesidades de cada uno. En principio yo uso mi servidor LAMP para pruebas locales del Wordpress y Joomla y algo de PHP, cuando digo pruebas, me refiero a que sólo son accesibles desde mi red local (no dan servicios al exterior).

Instalando Apache + PHP

Se hará por consola, mediante apt-get:

apt-get install apache2 php5 libapache2-mod-php5

Nota: si se desea la versión 4 de apache, cambiar el número a php4, libapache2-mod-php4.

El archivo de configuración de Apache está en /etc/apache2/apache2.conf y debemos colocar nuestras carpetas web en /var/www/ . Si por ejemplo queremos que al entrar a http://localhost/blog entremos a nuestro blog, debemos crear la carpeta /var/www/blog/ y dentro de ésta colocar los archivos respectivos (como la instalación de Wordpress por ejemplo).

Instalando MySQL

Para instalar el motor de base de datos MySQL, ingresamos en consola:

apt-get install mysql-server mysql-client php5-mysql

Si hemos instalado PHP 4, reemplazamos el número por php4-mysql.

El archivo de configuración está en /etc/mysql/my.cnf

Por defecto, MySQL crea el usuario root sin contraseña, para poner una contraseña (recomendable), en consola:

mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD('nuevo-password') WHERE user='root';
mysql> FLUSH PRIVILEGES;

Instalando phpMyAdmin

phpMyAdmin es una aplicación web que usaremos para administrar MySQL, para su instalación:

apt-get install phpmyadmin

Los archivos de configuración están en /etc/phpmyadmin/

Para poder usar phpMyAdmin con Apache, editamos el archivo /etc/apache2/apache2.conf y agregamos la siguiente línea:

Include /etc/phpmyadmin/apache.conf

Ahora debemos reiniciar Apache, desde consola:

/etc/init.d/apache2 restart

Para probar el phpMyAdmin, abrimos un navegador e ingresamos la dirección: http://localhost/phpmyadmin con el usuario root y la contraseña elegida.

Instalando Webmin

Webmin también es una aplicación web para administrar nuestro sistema. Con esta aplicación podremos administrar no sólo Apache y MySQL, sino también muchos otras cosas de nuestro equipo (servicios, servidores de correo, Samba, parámetros de red, etc.) en verdad es muy recomendable.

Para instalarlo, descargamos la última versión desde http://www.webmin.com/download.html , al momento de escribir esto, la última versión es la 1.310, por lo que descargué el archivo webmin_1.310_all.deb que sirve para Debian, (K)Ubuntu.

Para instalarlo, desde consola en la carpeta que descargamos el archivo:

dpkg --install webmin_1.310_all.deb

Para ingresar a Webmin, usaremos el usuario root del sistema (con su contraseña). Los usuario de (K)Ubuntu sabrán que por defecto, el usuario root viene desabilitado. Crearemos un usuario llamado “root” para Webmin:

sudo /usr/share/webmin/changepass.pl /etc/webmin root contraseña

Para ingresar a Webmin: https://localhost:10000/

Desde Webmin podremos configurar nuestro servidor, por ejemplo, configurar que los servicios de Apache y MySQL arranquen o no al iniciar nuestro sistema, iniciar/detener los servicios, etc.

Con esto ya tenemos un servidor LAMP instalado en nuestro sistema, ahora es sólo cuestión de configurar cada aspecto de acuerdo a lo que necesitemos. Próximamente indicaré los pasos para instalar Wordpress usando los servicios que acabamos de instalar.

Perublogs tags:

Entradas Relacionadas:
  • Hace un año: Primera quincena de enero 2007
  • Cómo instalar Drupal
  • Activar la aceleración gráfica en tarjetas nVIDIA
  • 57 Respuestas a “Cómo instalar un servidor LAMP en Ubuntu/Debian”


    1. 1 Gabriel

      Hola a todos. Estoy intentando instalar el phpmyadmin tal como indican aqui, pero me sale un mensaje de error diciendo que no se puede encontarar el paquete phpmyadmin. Probe con un update, pero tampoco funciono.. alquien tiene idea? gracias de antemano. Gabriel

    2. 2 Koki

      Hola Gabriel,

      Es raro que no encuentre el phpmyadmin. Mira si en tu /etc/apt/sources.list tienes estas líneas:

      deb http://archive.ubuntu.com/ubuntu edgy universe
      deb-src http://archive.ubuntu.com/ubuntu edgy universe

      Luego de agregarlas, si es que no las tienes, haces sudo apt-get update

      Sino, prueba con el administrador de paquetes, en Kubuntu es Adept, en Ubuntu creo que es Synaptic. Si es que no lo encuentra, me avisas y te envío mi archivo sources.list

      Saludos

    3. 3 Gabriel

      Funciono! muchas gracias!

      Saludos
      Gabriel

    4. 4 Koki

      Gabriel, tal vez te interese usar Automatix para tener tu sources.list con repositorios muy útiles:

      http://www.elmodem.com/archivo/2006/09/07/simplificando-las-cosas-en-kubuntu-con-automatix/

    5. 5 Gabriel

      Gracias nuevamente, lo voy a probar…

      Saludos
      Gabriel

    6. 6 carlitox

      hola, una consulta, cuando haces apt-get install mysql-server, esto no te instala el mysql 4 en vez del 5?? gracias

    7. 7 Koki

      Hola Carlitox, el comando te instala el Mysql 5.0.24 (al momento de escribir el post)

    8. 8 juanito

      hola a todos soy nuevo en esto de linux ubuntu, y estoy tratando tambien de instalar el servidor apache y al momento de querer instalar el phpmyadmin me aparece el mismo error, intente agregar las dos direcciones que sugirieron ahi, pero quizas soy muy indio que la neta no supe como agregarlas alguien me puede ayudar y decirme como, se los agradecer.

    9. 9 Koki

      Juanito,

      Para agregar los 2 repositorios (los del 2do comentario):

      abre consola, si usas Ubuntu, tipea: sudo gedit (te pedirá tu contraseña), eso abrirá el editor de texto en modo gráfico.
      Agrega al final los dos repositorios y graba el archivo.
      En consola, ingresa: sudo apt-get update
      Luego ya podrás hacer sudo apt-get install phpmyadmin

    10. 10 juanito

      jajajajaj si que soy bruto la neta, bueno eso me sirvio koki pero tengo problemas aun, digo el nombre con el que lo grabe realmente importa, y si puedo hacer hasta el momento lo que me indicaste solo que no se como guardarlo en la ubicacion necesaria. sigo sin poder :(

    11. 11 juanito

      ALGUIEN ME PUEDE AYUDAR PLIS

    12. 12 Koki

      Juanito, fue un error mio.

      Lo que tienes que hacer es:

      ejecutar sudo gedit /etc/apt/sources.lst (es decir, abrir para edición el archivo sources.lst), el comando que di al inicio creaba un archivo nuevo (error mio).

      luego agregas los repositorios al final del archivo
      luego sudo apt-get update
      luego sudo apt-get install phpmyadmin

      saludos

    13. 13 juanito

      mmmmm :( no koki fijate que no pude haciendolo asi como dices tu. de hecho me manda un error checate el error que me manda
      tecleo
      sudo gedit/etc/apt/sources.list
      y este error es el que me manda
      sudo: gedit/etc/apt/sources.list: command not found
      checo en el equipo si esta ese archivo y de hecho si esta intente teclearlo como dices tu con sources.lst pero no sale tampoco ,, mmm k hago??

    14. 14 Koki

      Te falta un espacio luego del gedit:

      sudo gedit /etc/apt/sources.list

    15. 15 juanito

      mmmmmmmmmmmm no se que estoy haciendo mal porque hice lo mismo pero al parecer las direcciones que copio y pego me dice que hay un error
      tecleo
      sudo apt-get update
      y aparece eeste error
      E: Tipo ‘http://archive.ubuntu.com/ubuntu’ desconocido en la línea 34 de lista de fuentes /etc/apt/sources.list

      tengo que ponerle algo adicional oh que ondas

    16. 16 juanito

      ya gracias ya le encontre lo estaba haciendo mal muchas gracias por auxiliarme la neta

    17. 17 juanito

      mmm no salgo de una cuando caigo en otra, ya tengo funcionando el phpmyadmin pero ahora me pide un usuario y contraseña trate de hacerlos oh configurarlos entrando a terminal y de ahi hacerlo con los comandos para mysql pero no puedo porque no se la verdad

    18. 18 juanito

      ahora tengo otro problema mas grande aun,, mm cuando intento ingresar como dije al phpmyadmin me pide contraseña y usuario, y al tratar de configurar contraseña y usuario para la base de datos en terminal me aparece lo siguiente
      yo tecleo esto para acceder a mysql
      mysql -u root
      y este es el error
      ERROR 1045 (28000): Access denied for user ‘root’@'localhost’ (using password: NO)

      bien ahora intente instalarlo nuevamente pero me aparece el siguiente error
      apt-get install mysql-server mysql-client php5-mysql
      E: No se pudo abrir el fichero de bloqueo ‘/var/lib/dpkg/lock’ - open (13 Permiso denegado)
      E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
      se que doy mucha lata pero que puedo hacer??

    19. 19 Susan

      veras yo kiero saber configurar,instalar y hacer funcionar estos cuatro servicios que son:
      -Drupal
      -Apache (httpd)
      -vsftpd
      -sshd

      el apache con el webmin (bind9) que puedes crear zonas maestras en lo dns y servidores web apache.
      si podeis decirme algun consejo o alguna guia en concreto a parte de esta os lo agradeceria

      un saludo a todos

      la web sta muy bien

    20. 20 Susan

      otra duda que tengo que no se que distro de linux o ubuntu tengo instalada kiero decir yo me baje ubuntu 6.10 y se supone q es el q instale pq hay una actualizacion para el ubuntu 7.10 pero como tarda 1 dia y pico en instalarse aun no la he puesto y instale algo de debian y aora me sale y cuando dejo mensajes en foros en vez de ponerme ubuntu linux me pone linux pq?
      saludos cordiales

    21. 21 Koki

      Susan:

      para vsftpd puedes leer este

      para drupal. creo que este, es el que yo usé para otra web que tengo.

      En Wikilearning encuentras configuraciones de Apache y SSH.

      Sobre lo del sistema: Seguro sigues con Ubuntu 6.10, a no ser que hayas actualizado. Lo que instalaste de Debian seguramente fue algún paquete. No se puede cambiar de distro así de fácil.

      Lo de que salga “Linux” como SO detectado por el plugin de este Blog, debe de ser por tu navegador (el navegador es el que envía la info al plugin). A mi me pasa lo mismo al usar Swiftfox y no Firefox (me cambia “Kubuntu” por “Linux”)

    22. 22 Susan

      hola a todos ….
      tengo problemas con apache, instale el webmin y con el puedo crear zonas dns y servidores web apache ,los creo y todo bien me funciona.

      Pero aora kiero crear alias en alguno de los servidores web apache por ejemplo tengo http://www.yonkie.net pos ponerle al final ~paco por ejemplo y asi para cada usuario tengo q tener dos usuarios pero no se como hacer alias para q cada web vaya a un usuario.

      Tambien lo de personalizar errores concretamente los errores 403 y 404 es decir q cuando ponga mal una direccion de los servidores q e creado en vez de salirme error 403 me salga una web q haya creado yo anteriormente.

      Espero una respuesta por favor necesito ayuda tengo un examen de recuperacion en nada el 1 de junio o asi

      saludos cordiales

    23. 23 Susan

      hola acabo de ver q koki me contesto muxas gracias por la respuesta es que e estado un poco desconectada ultimamente

      el ssh me funcionaba aunke no tenia muy claro lo de copiar y enviar las claves pero mas o menos si

      lo del apache solo tengo las dos dudas de antes y lo del vsftpd vere si me ayuda la web q me as dixo muxisimas gracias

      por cierto alguien tiene idea de como borrar la distro de linux q instale y dejar esa espacio libre para instalar fedora sin tocar windows
      es q hice una particion mi disco dura es de 1
      60 gigas creo y puse 70 y 80 o asi en la primera particion tengo windows y en la otra linux como puedo borrar linux e instalar fedora sin borrar windows? se puede hacer?
      en fin mil gracias dios os bendiga

      saludos cordiales

    24. 24 juanito

      yo se que este es un foro donde mayormente se preguntan cosas acerca de linux, pero io tengo una gran duda acerca de windows, mi pregunta es como se hace un enlace remoto, porque eh visto varios tutoriales aqui en linea pero ninguno explica bien los pasos a seguir. agradeceria si alguien me contesta y mas si lo hace ahorita mismo ya que tengo prisa.

    25. 25 Reiniel

      Hola, soy un estudiante de informatica y en realidad antes no me gustaba el sistema operativo linux pero hace poco me mandaron un proyecto que tiene que ver con el y ahora veo que es mejor que windows. Quisiera instalar un servidor apache2 en debian, en internet busque y me salian algunas cosas que no entiendo muy bien. Quisiera que alguien me dijera primeramente como instalo una interfaz grafica en debian y despues que tengo que hacer para instalar el servidor apache2. En una pagina de internet me salia algo como esto para instalar la interfaz grafica:

      apt-get install x-window-system

      Esto es correcto……
      necesito que me digan de que forma configuro el servidor apache2 para exigirle a cada usuario un pass de seguridad por si quieren ver una pagina ya que el mismo tiene que estar registrado.
      Y de que forma configuro un servidor samba para que se comuniquen pcs con sistema operativo linux y windows.
      espero que me ayuden

    26. 26 Jose Rodriguez

      Uff… Hermano muchisimas gracias por el tutorial… Excelente sin lugar a dudas… Particularmente me sirvio de mil maravillas, Eternamente agradecido.

    27. 27 Koki

      Me alegro que te haya servido :D

    28. 28 Pisto

      para instalar el LAMP , ubuntu necesita estar preinstalado como version para servidor?

      Agradecere sus respuestas, gracias

    29. 29 Koki

      Pisto, no es necesario que la versión instalada sea la de servidor.

    30. 30 juan ruiz

      Hola segui todos los pasos para poder instalar los paquetes para php pero tengo un leve problema instale webadmin y no puedo entrar en el porque me pide usuario y contraseña trato de crearlo con los comandos escritos ahi pero tampoco me deja este es el error que me arroja.

      juan@juan-desktop:~$ sudo /usr/share/webmin/changepass.pl /etc/webmin root contraseña
      Updated password of Webmin user root

      saludos.

    31. 31 juan ruiz

      Hola segui todos los pasos para poder instalar los paquetes para php pero tengo un leve problema instale webadmin y no puedo entrar en el porque me pide usuario y contraseña trato de crearlo con los comandos escritos ahi pero tampoco me deja este es el error que me arroja.

      juan@juan-desktop:~$ sudo /usr/share/webmin/changepass.pl /etc/webmin root contraseña
      Updated password of Webmin user root

      saludos.

    32. 32 Koki

      Juan, prueba ejecutando:

      $sudo su
      [te pide tu contraseña]
      #passwd
      Introduzca la nueva contraseña de UNIX:
      Vuelva a escribir la nueva contraseña de UNIX:
      passwd: password updated successfully
      #exit
      

      Luego vuelve intentar ingresar por tu navegador

    33. 33 Karda

      - Hola segui los pasos de instalacion y no me dio poblema instalarlos pero cuando trate de configurar la contraseña del mysql me di el siguienete error

      root@karda:~# mysql -u root
      ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

      - Otra duda, en que lugar del archivo coloco esta linea:

      Include /etc/phpmyadmin/apache.conf

      cuando trato abrir el phpmyadmin desde el navegador no pasa nada no se abre.

      gracias por la informacion ojala me puedas ayudar con las dudas que he planteado.

    34. 34 Koki

      Hola Karda,

      Por lo que he podido leer, ese error se da cuando se intenta conectar a un servidor que no está corriendo. Trata de reiniciar el servicio e intenta nuevamente. Si no funciona, fíjate si mysqld.sock está en la ruta que te indica.

      Tal vez pueda servirte: este enlace (en español) y este hilo del foro de MySQL (en inglés)

      Sobre la línea a agregar. Tienes que agregarla en /etc/apache2/apache2.conf y luego reiniciar Apache.

      Espero puedas solucionar tu problema

      /etc/apache2/apache2.conf

    35. 35 Fer

      Hola, apenas me estoy adentrando en esto del software libre y e instalado
      un ubuntu para probar.

      Pregunta: ¿ Podria instalar algun servidor LAMP en ubuntu 5.04 ?

      Si es posible cual es y como lo instalo

    36. 36 Koki

      Fer,

      Si puedes instalar el servidor LAMP. Debes seguir los mismos pasos. La diferencia será que instalará las versiones de Apache, MySQL y PHP que tenga en sus repositorios (que probablemente no sea la última). Los pasos a seguir serían los mismos

    37. 37 SgtChinicuil

      Excelente

    38. 38 arnoldo

      hola amigo veo que de verdad aqui uno puede realizar preguntas y los mas destacados en conocimiento le responden eso es valioso que los que mas saben nos puedan brindar una mano de ayuda. tengo istalado ubunto en modo de servidor y ya le instale el Lamp (xampp) y todo me funciona sin problema ahora bien mis dudas caules son las rutas y el archivo que debo modificar cuando voy a direccionar varios sitios web que ya tengo registrados que archivo edito y donde para decirle que http://www.laplaya.com va a responder a la direccion ip de mi servidor esa es la primera, la segunda es conde le coloco la ip fija a mi servidor para que la todo el xampp o lamp cual es el procedimiento, tercera el sitio es web es dinamico estoy utilizando una plantilla de php-nuke donde coloco la carpeta con la web y como direccion la base de datos que utiliza este sitio dinamico de verdad si me pueden ayudar correctamente se los agradeceria no tengo mayor conocimiento de ubuntu esperando una respuesta de su parte,
      gracias

    39. 39 Javier

      Yo hago todos los pasos … pero tengo un problema y esque en /etc/phpmyadmin el fichero apache.conf NO EXISTE, entonces claro al hacer el comando /etc/init.d/apache2 restart, me dice que falta ese fichero.

      ¿Por que en la carpeta phpmyadmin no esta ese fichero “apache.conf”?

    40. 40 smoker

      Hola yo soy nuevo en lo de Linux
      tengo joomla en windows y lo estoy pasando a linux
      pero disculpen mi ignorancia pero no encuentro la carpeta de las bases de mysql,
      que en windows (en wamp es data)

      Si alguien sabe please
      respondanme a este e-mail

      antoniomtnez@gmail.com
      Saludos a la comunidad

    41. 41 Dante

      Hola

      Muchas Gracias por tu aporte!!!

    42. 42 Javier Letelier

      Hola, segí tu tutorial y me fue bastante bien. PEro tengo un error.
      Es que cuando intento meterme a phpmyadmin en vez de pedirme la clave o algo me sale el tipico cartel de firefox para descargar algo.
      Preguntando si quiero abrirlo con, o guardarlo.
      Es extraño.
      ¿Que puedo hacer?
      Ojala me ayudes. Gracias.
      PD: Tengo ubuntu 7.10, instale php5, apache2, Mysql, etc..todo ok..menos el php myadmin.

      Respecto a los que al poner mysql -u root les da error…
      intenten esto:
      mysql -u root -p
      Les preguntara una passwyword, y intenten con las claves que les perecieran que ustedes habrían puesto. (en mi caso, yo una vez habia instaalo mysql, sin tener exito y le habia puesto una clave… Esa misma fue la que necesite para iniciar.
      )

    43. 43 Javier Letelier

      Miento.. php tampoco funciona xD

    44. 44 Juan Lugo

      Saludos hermano,

      Segui tu tutorial y todo salio perfecto.

      Lo instale en ubuntu version 7.04.

      Gracias por esta informacion.

    45. 45 Silvio

      Excelente howto, me fue muy útil!!!!
      Gracias!
      Silvio

    46. 46 Burns

      viejo muy bueno
      gracias a tu tutorial supe por que no me estaba rulando el myadmin
      gracias men

    47. 47 Koki

      Me alegra que haya sido de utilidad :)

    48. 48 JC EL BRAVO

      Saludos

      tengo una pregunta ojala puedan ayudarme.
      He instalado y configuradomi servidor web apache en mi SO ubuntu, ademas he instalado ddclient y creado mi dominio en dyndns ya que mi ip publica es dinamica.
      Todo esta debidamente configurado, pero, cuando quiero ver mi web a traves de una pc fuera de mi red (pc conectada a internet), aparece una pagina que pide usuario y clave.
      Quisiera saber por que sucede esto, por que no se ve mi web que esta alojada en el directorio raiz de apache y el puerto 80 esta liberado.

      Saludos y gracias de antemano

    49. 49 gogoy

      tengo un proble que los paquetes que tengo no se pueden actulisar y cuando le doy /etc/apt/sources.lis me dice permiso denegado

    50. 50 Rodolfo

      Hola, tengo un problema con un servidor ubuntu he instalado todos los programas y corre de maravilla en la red interna, pero no puedo hacer que se vea en internet, que tengo que configurar?

    51. 51 Koki

      Rodolfo,

      Tal vez sea configuración del cortafuegos (firewall), permite conexiones desde fuera al puerto web? cómo accedes desde internet a tu servidor?

    52. 52 Rodolfo

      Soy nuevo en linux y no se como configurar un firewall, tengo una conexion adsl y los puertos abiertos del 80 al 120 para la direccion ip del servidor

    53. 53 Koki

      Rodolfo, va a ser un como más complejo de lo que te imaginas.

      Tendrás que configurar: Firewall (puedes revisar el tutorial de Firestarter), puertos del router (al parecer esto ya lo hiciste) y tener una IP Pública (puedes usar Dyn DNS o No-IP)

    54. 54 Rodolfo

      Koki, tengo una ip pública, con Dyn DNS o No-IP te refieres a programas que debo instalar? , pude ver que el tutorial de firestarter es un aplicación gráfica, el servidor que instale es una ubuntu server 8.04, puedo tener una consola gráfica en este servidor que la pueda conectar (accesar) o desconectar según se quiera? veras una maquina con una pantalla negra con letras blancas disuade de tocarla a la mayoría de los traviesos.

    55. 55 Koki

      Rodolfo,

      Si no tienes interfaz gráfica puedes leer algún manual de IP Tables (firewall) para configurar el acceso desde internet a tu servidor.

      http://iptables-tutorial.frozentux.net/iptables-tutorial.html
      http://www.esdebian.org/foro/19190/configuracion-iptables-maquina-propia

      Si ya tienes IP pública, olvida lo que dije de No-IP y DynDNS.

      Hay un par de muy buenos tutoriales que explican cómo montar un servidor web

      http://www.vicente-navarro.com/blog/2008/03/09/hosting-casero-howto/
      http://www.forat.info/2008/03/05/como-montar-un-servidor-web-con-linux-debian/

    56. 56 albermillan69

      Pana Buen post!! ya insatale todo para tener un servidor en un compu!!! instale hasta el wibmin! mi pregunta es: como puedo hacer para accesar a la pagina q tengo en mi servidor? por ejemplo http://www.albermillan69.com!!! q tengo q configurar y como??

      Espero me puedan ayudar!!!

    57. 57 Luis

      Hola soy nuevo en esto… estoy intentando montar mi web… yo instale Xampp , pero no se como y donde modificarpara poder tener varios dominios en la misma máquina… ya intente lo de arriba, pero a mí no me aparece una carpeta apache… sin embargo el servidosde Xampp si me funciona y ya hice pruebas con mis paginas… me pueden apoyar?.

      Gracias.

    1. 1 El Módem » Blog Archive » Cómo instalar Drupal
      Dirección Pingback a 12 Jun, 2007, 1:57 am
    2. 2 Instalación de LAMP (Linux + Apache + MySQL + Php) | No se me escapa ni una
      Dirección Pingback a 4 Abr, 2008, 7:22 am
    3. 3 Con mis movidas… y mis lios » Una de servidores
      Dirección Pingback a 23 Jul, 2008, 5:20 am

    Añade un Comentario