Un servidor LAMP se refiere a la mezcla de Linux+Apache+Mysql+PHP en este caso les voy a mostrar como configurar un servidor con los siguientes componentes:
- Apache 2 – Servidor Web de Linux
- MySQL 5 – Servidor de base de datos MySQL
- PHP4/5 – Lenguaje interpretado PHP
- phpMyAdmin – Software de administración de base de datos via web
Nota: esta instalación sirve tanto para Ubuntu como para Debian, los usuarios de Debian deberan identificarse como root y no utilizar el sudo en los comandos
y el sistema debe contar con al menos 256MB de RAM, menos que esto nos podrÃa traer problemas en el rendimiento de nuestro servidor.
Lo primero que debemos hacer es actualizar los paquetes necesarios en debian/ubuntu con el siguiente comando:
sudo apt-get update
Este comando actualiza todos los paquetes que tenemos en nuestra lista de repositorios ubicada normalmente en /etc/apt/source.list
1. Instalando Apache y PHP
Apache es el servidor web más utilizado en el mundo. Puede correr en varias plataformas tales como Unix, Linux, Microsoft Windows, Novell, etc. Es open source, estable, modular y muy configurable.
Para instalarlo utilizamos el siguiente comando:
sudo apt-get install apache2 apache2.2-common apache2-utils ssl-cert
Una de las diferencias entre Apache 2 y Apache 1.3 es que Apache 2 soporta procesos multi-hilos es decir que puede ejecutar varias operaciones simultaneamente, esto puede llegar a ser muy beneficioso en cuando a velocidad y eficiencia, sin embargo actualmente la mayoria de los programas web no utilizan esta funcionalidad y algunos de ellos pueden tener problemas con el Apache 2 en este caso podemos instalar lo siguiente para tener mayor estabilidad:
sudo apt-get install apache2-mpm-prefork
La otra decisión que tenemos que tomar es si vamos a utilizar php4 o php5, la principal diferencia entre estos dos es que php5 es orientado a objetos y php4 no, casà todas las aplicaciones web soportan php5, aunque hay algunas que todavÃa no, si estas desarrollando nuevas aplicaciones te recomiendo que de una vez pases a php5 y aprendas a programar orientado a objetos, pero a la final eso es a gusto de cada quien.
Para instalar PHP 4 ejecutamos:
sudo apt-get install php4 libapache2-mod-php4 php4-common
Para instalar PHP 5 ejecutamos:
sudo apt-get install php5 libapache2-mod-php5 php5-common
Los archivos de configuración de apache están ubicados en: /etc/apache2/apache2.conf y la carpeta web por defecto esta en /var/www
Para que PHP tome efecto debemos reiniciar el servidor Apache con:
sudo /etc/init.d/apache2 restart
Para comprobar que el servidor web esta funcionando podemos irnos a nuestro navegador web y escribimos http://localhost/ y aparecerá una pagÃna de bienvenida de Apache.
Si quieres ver si PHP se instaló correctamente hay un comando de php que te dá toda la información necesaria para esto tenemos que crear un archivo:
sudo nano /var/www/test.php
En Ubuntu también puedes crear el archivo con
sudo gedit /var/www/test.php
Dentro del archivo escribe <?php phpinfo(); ?> y guardalo
Luego abre tu navegador web y escribe la dirección http://localhost/test.php deberÃa aparecer una pantalla con toda la configuración de PHP.
2. Instalando el Servidor de MySQL
Instalar un servidor de base de datos MYSQL es siempre necesario si estas corriendo casi cualquier sitio interectivo con PHP o algún otro lenguaje como JSP. Recuerda que para correr este tipo de servidores es necesario que al menos tengas 256MB de RAM. Los siguientes comandos instalarán el servidor y el cliente de msyql5 que es la última versión al momento de escribir este tutorial.
apt-get install mysql-server mysql-client php5-mysql
Nota: Si instalaste el php4, entonces utiliza el siguiente comando:
apt-get install mysql-server mysql-client php4-mysql
El archivo de configuración de mysql se encuentra en : /etc/mysql/my.cnf
Creando usuarios para utilizar MySQL y cambiar el password de Root
Por defecto mysql crea un usuario como root sin ningún password, por lo que es bueno crear un password para este usuario:
Para hacer esto coloca los siguientes comandos:
mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD('nuevo-password') WHERE user='root';
mysql> FLUSH PRIVILEGES;
Nunca se debe usar el usuario de root para accesar a la base de datos ya que tiene todos los privilegios sobre todas las bases de datos y por lo tanto es muy inseguro. Por esto es aconsejable crear un usuario para cada base de datos que crees, es un poco dificil crear usuarios desde la consola por lo que es más rapido y más intuitivo crealo desde un panel de control como webmin o phpMyAdmin los cuales instalaremos a continuación.
3. Instalando PhpMyAdmin
PhpMyAdmin es un software de administración basado en web que es fácil de configurar y además gratis. Es muy facil de utilizar y además permite realizar casi todas las tareas necesarias sobre las bases de datos de mysql.
Para instalarlo se ejecuta en la consola:
apt-get install phpmyadmin
El archivo de configuración de phpmyadmin se encuentra en: /etc/phpmyadmin folder.
Para que funcione bajo Apache todo lo que necesitas hacer es incluir la siguiente lÃnea en el archivo /etc/apache2/apache2.conf (lo cual lo puedes modificar en Ubuntu con sudo gedit /etc/apache2/apache2.conf) :
Include /etc/phpmyadmin/apache.conf
Y reiniciamos Apache:
/etc/init.d/apache2 restart
Ahora coloca en tu navegador: http://localhost/phpmyadmin
Eso es todo, phpMyAdmin y MySQL ya están instalados. Para ingresar en phpMyAdmin coloca como login root con el password que deifinimos anteriormente. Para crear nuevos usuarios puedes hacerlo desde el link que dice Privileges.Espero que les haya servido de algo este tutorial, ahora ya tienes un servidor LAMP completo y puedes empezar a hacer tus propios sitios web. Espero sus comentarios.
Hola olivers sabes un detalle que tuve a la hora comprobar que el servidor web este funcionando en este paso:
gedit /var/www/test.php Dentro del archivo escribe y guardalo
Luego abre tu navegador web y escribe la dirección http://localhost/test.php deberÃa aparecer una pantalla con toda la configuración de PHP.
No funciono como debia hasta que reiniciar el servidor y cambiar los permisos del archivo test.php lo siguiente que hice fue esto
sudo /etc/init.d/apache2 restart
y funciono perfectamente saludos y muchas gracias por aportar ayuda..
Hola drago ya corregà lo que me dices en el tutorial muchas gracias por tu aporte
Saludos
Olivers
gracias por el tuto me ha servido de muxisimo al principio tube problemas al instalar el phpmyadmin pero fue mi culpa…la version actual de descarga de phpmyadmin pedia una contrasena que al princprio no sabia cual era…al final me di cuenta que era la del usuario root de mysql
sigue escribiendo tutos son de muxa ayuda, sobre todo este para mi es uno de los mejores
xao y muxas gracias
Muy buena esa explicacion con la instalacion de linux y sus acsesorios yo soy nuevo en esto y he aprendido bastante con esto muchas gracias y si es posible explicar algunas otras cosas como instalar un chat jabber y como configurar un proxy inverso sin mas saludos….
Hola, al llegar a la instalacion de phpmyadmin obtengo el siguiente error: ERROR 1045 (28000): Access denied for user ‘root’@'localhost’
Agradezco su ayuda
Hola ubuntugirl, ahora cuando instalas el phpmyadmin hay una pregunta donde te pide el nombre de usuario y password con que accesará a la base de datos ahà tienes que colocar el nombre root y el password de root que le diste al momento de instalar MySQL.
Si esa clave no corresponde al que colocaste cuando instalaste MySQL te da ese error.
Espero que te sirva, cualquier cosa vuelve a escribir
Saludos
Olivers
oye ronon4, tuve el mismo error que tu al instalar mysql en ubuntu:
Se encontraron errores al procesar:
/var/cache/apt/archives/mysql-server-5.0_5.1.30really5.0.75-0ubuntu10.2_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Me podrias decir como modificaste los repositorios??
O alguien mas me podria ayudar??
Gracias
Hola! Pues he instalado todo antes de ver este tutorial y pues en ningun caso hice algo parecido, no conozco mucho de esto pues apenas estoy aprendiendo a usar linux como tal y me da un monton de errores, por lo que quisiera reiniciar todo, para hacerlo como en el tutorial, pero como puedo hacer esto? espero tu respuesta.
Hola Esfinge, dependiendo como lo instalaste si fue con apt-get puedes simplemente ejecutar:
sudo aptitude remove nombre-paquete
Cambiando nombre-paquete por el paquete que quieras desinstalar.
Igual puedes colocar aqui los errores que tienes para ver si te podemos ayudar.
Saludos
Olivers
Pingback: Como instalar un Servidor LAMP en Ubuntu Paso a Paso | Vensign
Hola la verdad yo instale el lamp pero como soy nuevo en linux tuve unos bachecitos que ya eh estado resolviendo leyendo en foros como este, por cierto muy bueno me ayudo a resolver un problemilla con el phpmyadmin, ahora el detalle es el siguiente cuando instalas un servicio como el lamp (localhost) . que por lo regular es para pruebas antes de subir al directorio original… se crea una carpeta llamada “www” la cual esta ubicada en la direccion siguiente /var/www/ en la cual se albergan los archivos ya sean html o php o bien asp todo lenguaje de programacion web entonces mi problema es el siguiente…cuando yo quiero modificar el archivo que viene por defaul inidex.html y le doy guardar me dice que no tengo permiso para modificar.. y me fijo bien y miro que el archivo arriba tiene un candadito buscando en otro foro que porcierto tambien muy bueno…
explica que se le tienen que dar permisos a la carpeta de la siguiente manera…
cd /var luego ejecuta ls y se miran los directorios entre ellos la carpeta www luego se ejecuta el siguiente comando sudo chmod 777 www y pues la verdad no pasa nada si alguien aqui me pudiera a ayudar se lo agradeceria infinitamente
esa es mi duda…
Hola Alberto, gracias por tu comentario.
En cuanto tu problema, es que los permisos de la carpeta por defecto sólo te permite escribir si eres administrador (root) por lo que si quieres modificar algún archivo dentro de esa carpeta colocas sudo adelante del comando con que vayas a modificar. Por ejemplo:
sudo gedit nombre-archivo
o
sudo vim nombre-archivo
En cuando a darle permisos a la carpeta no es aconsejable utilizar 777 ya que estas dando permisos de escritura y ejecución a todo el mundo, lo cual no es aconsejable por razones de seguridad.
Lo mejor es darle permisos a los archivos de lectura y escritura:
sudo chmod 664 archivo te permite lectura y escritura al propietario y al grupo
Lo más aconsejable es que crees una carpeta dentro de /var/www con:
sudo mkdir /var/www/prueba
Luego cambies el propietario de la carpeta:
sudo chown nombre-usuario /var/www/prueba
Y dentro de esa carpeta crees tus archivos
Para accesar desde el navegador http://127.0.0.1/prueba/nombre-archivo.html
Espero que te sirva cualquier duda vuelve a escribir
Saludos
Olivers
Hola a todos…
De donde me bajo el LAMP…?
Hola joliendre, si lees el tutorial podrás ver como se hace.
Saludos
Olivers
Excelente tuto.!…gracias.
Muy buen tutorial, excelente aporte. Soy nuevo en el mundo del linux…muchas gracias!!!
Caguarve muchas gracias por el comentario no te olvides de subscribirte a nuestro boletÃn de noticias para recibir nuestros artÃculos.
El cuadro amarillo a la derecha
Saludos
Olivers
Excelente tutorial, tengo poco en Ubuntu y me ha servido de mucho. Muchas gracias.
excelente hermano de verdad que me ayudo mucho esto.
TodavÃa tengo que instalar los demás servicios o_O’..jeje
gracias de nuevo..
no tendrás algún tutorial por ahà para instalar el servidor completo ?
Saludos
Muy bueno, estoy comenzando con LAMP y de verdad esta muy bueno este tutorial, os felicito te habeis currado bastante
tengo tiempo instalando lamp
para la universidad, dar clases o trabajo
en un principio siempre busque sitio para recomendar
a algunos en la web como instalarlo ya en una plataforma UNIX
y de verdad este articulo es el que explica facil y de forma muy directa
como tener lamp con php en este caso!!
sobre todo la parte de cambiar la clave de root que trae por defecto MySQL
muy buen articulo.
Muchas gracias por tu comentario Jjedi, siempre es bueno saber que es útil para otros lo que escribo
Saludos
Olivers
Excelente información, funcionó a la primera
Muchas gracias por tu comentario John.
Pingback: Servidor FTP con proftp en Ubuntu / Debian
Pingback: Links a tutoriales importantes | Roberto Cárdenas
MuchÃsimas gracias, fue muy útil para mi, me funciono a la primera, ningún error
hola instale el apahe siguiendo otro tutorial y el funciona…. el detalle paso al querer instalar phpmyadmin me decia que creara una carpeta en var/www y alli extrallera el archivo que baje de la pagina de phpmyadmin … la cosa es que no puedo modificar la carpeta active el usuario root por la consola cuando voy a la carpeta no me deja hacer nada, trate de borrarla e intentar de otra forma y por los permisos no lo puedo hacer (pense que el usuario que registre al instalar kubumtu seria el administrador del sistema), entonces quiero desintalar todo lo que ya llevo hecho ( no se como hacerlo)y hacerlo como dice este tutorial y de paso tengo la duda si cada ves que relice algun archivo en php, html, etc no voy a poder salvarlo en la carpeta porque no la puedo modificar porque mi usuario no es root, como notaran soy novato en linux y con win nunca tube ese problema (claro siempre usaba un usuario admin) ayuda tengo que hacer algo especial para instalarlo ?
Pingback: Instalar LAMP en Ubuntu | An HP based in Linux and a Linux based in HP
hola… tengo un problema! hice todos los pasos pero a la hora de modificar el registro para agregar la linea Include /etc/phpmyadmin/apache.conf me da este error
(gedit:12349): Gtk-WARNING **: Attempting to store changes into `/root/.local/share/recently-used.xbel’, but failed: Falló al crear el archivo «/root/.local/share/recently-used.xbel.AWEF9V»: No existe el archivo o el directorio
(gedit:12349): Gtk-WARNING **: Attempting to set the permissions of `/root/.local/share/recently-used.xbel’, but failed: No existe el archivo o el directorio
(gedit:12349): Gtk-WARNING **: Attempting to store changes into `/root/.local/share/recently-used.xbel’, but failed: Falló al crear el archivo «/root/.local/share/recently-used.xbel.7E3H9V»: No existe el archivo o el directorio
(gedit:12349): Gtk-WARNING **: Attempting to set the permissions of `/root/.local/share/recently-used.xbel’, but failed: No existe el archivo o el directorio
(gedit:12349): Gtk-WARNING **: Attempting to store changes into `/root/.local/share/recently-used.xbel’, but failed: Falló al crear el archivo «/root/.local/share/recently-used.xbel.HJGM9V»: No existe el archivo o el directorio
(gedit:12349): Gtk-WARNING **: Attempting to set the permissions of `/root/.local/share/recently-used.xbel’, but failed: No existe el archivo o el directorio
offman@offman-HP-Compaq-dx2400-Microtower:~$ /etc/init.d/apache2 restart * Restarting web server apache2 ulimit: 88: error setting limit (Operation not permitted)
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
ulimit: 88: error setting limit (Operation not permitted)
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Action ‘start’ failed.
The Apache error log may have more information.
[fail]
y al tratar de entrar al localhost desde el navegador me dice
404 Not Found
The requested URL /phpmyadmin was not found on this server.
as probado a ejecutar sudo /etc/init.d/apache2 restart
Estimado amigo, su tutorial esta excelente y con un nivel andragógico y pedagogico de buena altura, pero pensando en lo educativo sugiero cambiar la palabra “accesar” por “acceder”, debido a que “accesar” no existe en el idioma español.
Saludos
Flaco muy buen tuto, muchas gracias por el aporte me va de 10 puntos, ya instalé mi servidor y lo tengo a full. Un abrazo desde Colombia