Nivel : Básico – Intermedio
Ya ha pasado un tiempo desde que escribà el tutorial de Instalar un servidor LAMP en Fedora Core 6 , Core 7 y Core 8, es un artÃculo con muchas visitas y con más de 100 comentarios y preguntas, he decidido a que ya es hora de actualizarlo a la versión 12 de Fedora que es la más reciente al momento, además aprovechar y agregar mucho de los tips y preguntas incluidas en los comentarios asà como también las cosas que han cambiado y algunos tópicos más avanzados. Asà que empecemos…
En este tutorial vamos a ver como instalar y configurar un servidor LAMP para Fedora 12.
Un servidor LAMP se refiere a un conjunto de aplicaciones que por sus siglas es Linux+Apache+MySQL+PHP y en este caso vamos a instalar y configurar un servidor con los siguientes componentes:
Apache 2 – Servidor Web muy versatil y uno de los más utilizados en el mundo
MySQL 5 – Uno de los servidores de base de datos más populares y utilizados en sitios y aplicaciones web
PHP 5 – Es un lenguaje interpretado utilizado para construir aplicaciones y páginas web
Y veremos algunas utilidades como phpmyadmin que nos permitirán administrar mejor nuestro servidor.
Concepto: Un servidor no es más que un PC que presta algún servicio (como mostrar páginas web).
Les aconsejo también seguir el tutorial paso a paso, he tratado de hacer los pasos lo más concretos y cortos posibles, para que asà no se pierdan de nada y tampoco les aburra el tutorial.
Bueno ya tenemos todo listo para empezar asà que abran un Terminal y pongámonos a trabajar.
A partir de ahora todos los comandos deben ser ejecutados como root (administrador)
Es siempre aconsejable realizar la actualización de nuestro sistema antes de llevar a cabo cualquier instalación simplemente ejecuten lo siguiente en el terminal
yum -y update
Con este comando se actualiza nuestra lista de repositorios y los paquetes que tengamos instalados si hay alguna actualización disponible.
Fedora nos da la opción de instalar paquetes en "grupos" algo parecido al tasksel de Debian y Ubuntu.
Para instalar el servidor Apache y PHP 5 vamos a utilizar el grupo "Servidor Web" para ver los paquetes que contiene este grupo ejecutamos el comando:
yum groupinfo "Servidor Web"
Nota: Si tu servidor está en otro idioma que no sea Español puedes reemplazar "Servidor Web" por "Web Server" que funciona para cualquier idioma
Esto nos dá la siguiente lista:
Paquetes obligatorios: httpd Paquetes predeterminados: crypto-utils distcache httpd-manual mod_perl mod_python mod_ssl php php-ldap php-mysql squid webalizer Paquetes opcionales: ...
Para instalar el grupo ejecutamos:
yum -y groupinstall "Servidor Web"
Al finalizar la instalación ya deberÃamos tener instalado el servidor Apache y PHP5
Si quieres comprobar que versión de Apache se ha instalado debes ejecutar el siguiente comando:
httpd -v
Te aparecerá algo como:
Server version: Apache/2.2.14 (Unix) Server built:  Dec 3 2009 10:25:53
Para finalizar la configuración de Apache debemos configurarlo para que inicie siempre que reiniciemos nuestro servidor para esto ejecutamos en el terminal:
chkconfig --level 345 httpd on
Ahora iniciamos Apache con:
service httpd start
Si todo está bien deberÃa aparecer un [OK]
Los comandos para manejar el servidor Apache son los siguientes, pueden utilizar cualquiera de las dos versiones del comando la versión larga o la corta, todos estos comandos deben ejecutarse como root:
| Función | Comando | Comando Corto |
| Iniciar Apache | /etc/init.d/httpd start | service httpd start |
| Detener Apache | /etc/init.d/httpd stop | service httpd stop |
| Reiniciar Apache | /etc/init.d/httpd restart | service httpd restart |
| Estatus Apache | /etc/init.d/httpd status | service httpd status |
El archivo de configuración por defecto de Apache se encuentra en el directorio /etc/httpd/ y el directorio por defecto de los archivos donde se guardarán las páginas web es en /var/www/html
Para probar que Apache está funcionando bien basta con ir a la dirección en tu navegador (Firefox, Konqueror o el que prefieran) http://localhost desde el mismo servidor o http://ipservidor desde otra PC y les debe aparecer algo como lo siguiente:
Fedora Pagina por defecto de Apache
Para comprobar la versión de PHP ejecutamos:
php -v
DeberÃa aparecer algo como:
PHP 5.3.1 (cli) (built: Nov 20 2009 12:52:06) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
Para comprobar que PHP está funcionando correctamente, vamos a crear el siguiente archivo llamado prueba.php como root con tu editor favorito puedes utilizar nano, vim, gedit, etc.:
vim /var/www/html/prueba.php
Nota: Aquà estoy utilizando vim para editar utilicen el editor de su preferencia.
Dentro del archivo copiamos lo siguiente:
<?php phpinfo(); ?>
Guardamos al archivo y vamos al navegador y colocamos la dirección http://localhost/prueba.php si estamos en el mismo servidor o http://ipdelservidor/prueba.php. Deberia desplegar una lista con toda la información de PHP, los módulos y librerias instalados.
Pagina de prueba.php phpinfo()
Si te aparece una pantalla parecida a la anterior es que PHP está correctamente instalado y funcionando con Apache. Si te aparece algo como que quiere guardar el archivo prueba.php intenta reiniciar el servidor Apache con service httpd restart.
El archivo de configuración de PHP se encuentra en /etc/php.ini
MySQL es una de las base de datos open source más popular y utilizadas en innumerables páginas web y aplicaciones tanto gratuitas como comerciales. Es una base de datos bastante robusta y flexible, fácil de configurar y lo bastante rápida para la mayorÃa de las aplicaciones comunes.
Al igual que para Apache existe un Grupo de paquetes de instalación para MySQL llamado "Base de datos MySQL" para ver los contenidos de este grupo de paquetes puedes ejecutar:
yum groupinfo "Base de datos MySQL"
Para instalar el servidor de MySQL debemos ejecutar el siguiente comando:
yum -y groupinstall "Base de datos MySQL"
Nota: Si tu servidor está en otro idioma que no sea Español puedes reemplazar "Base de datos MySQL" por "MySQL Database" que funciona para cualquier idioma
Esto instalará todos los paquetes y librerias necesarios para que funcione el servidor MySQL
Ahora debemos hacer que el servidor MySQL se inicie cada vez que se arranque o se reinicie el sistema para esto ejecutamos:
chkconfig --level 345 mysqld on
Para iniciar MySQL ejecutamos
service mysqld start
Luego debemos configurar el servidor MySQL para configurar la clave de administrador ejecutando:
mysql_secure_installation
Primero nos pregunta por la contraseña de root de MySQL, aquà presionamos enter ya que todavÃa no hay ninguna contraseña de root configurada para MySQL
Enter current password for root (enter for none):
Luego nos pregunta si queremos asignarle una contraseña de root para MySQL escribimos Y y presionamos Enter/Intro
Set root password? [Y/n]
Luego nos pide la contraseña, aquà deberán colocar una clave para el administrador de la base de datos (no confundir con root de Fedora), no es recomendable colocar la misma clave del usuario de Fedora, se recomienda también que tenga una longitud mayor a 8 caracteres y que mezclen letras, sÃmbolos y números, no son permitidos los espacios en blanco.
New password:
Cuando diga Re-enter new password: Simplemente volvemos a escribir la contraseña anterior
Luego nos pregunta si eliminamos los usuarios anónimos, a lo cual respondemos que Y por medidas de seguridad
Remove anonymous users? [Y/n]
Ahora pregunta si el usuario administrador solo puede ser utilizado desde el host local, esto es recomendable por razones de seguridad, a menos que tengas algún requerimiento especial respondemos Y
Disallow root login remotely? [Y/n]
Removemos la base de datos test que es de prueba si queremos respondiendo que Y
Remove test database and access to it? [Y/n]
Por último nos pide que reiniciemos los privilegios para que se efectuen los cambios respondemos Y
Reload privilege tables now? [Y/n]
Listo ya nuestra base de datos MySQL está instalada y segura.
Para comprobar el funcionamiento del servidor MySQL ejecuten el siguiente comando:
mysql -u root -p
Deberá pedirles la clave que colocaron en el paso anterior y aparecerles el prompt mysql> algo parecido a esto:
vensign@lamp-vensign:~$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 5.1.42 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Vemos que nos muestra la versión del MySQL que acabamos de instalar. Para salir del prompt de mysql y volver al terminal de Linux simplemente escriban exit y presionen Enter o Intro.
Los comandos para administrar MySQL son:
| Función | Comando | Comando Corto |
| Iniciar MySQL | /etc/init.d/mysqld start | service mysqld start |
| Detener MySQL | /etc/init.d/mysqld stop | service mysqld stop |
| Reiniciar MySQL | /etc/init.d/mysqld restart | service mysqld restart |
| Estatus MySQL | /etc/init.d/mysqld status | service mysqld status |
El archivo de configuración de mysql se encuentra en /etc/my.cnf
Con estos tres pasos ya tenemos instalado un servidor LAMP en Fedora.
Con esto finalizamos el tutorial, ya tenemos un servidor web LAMP totalmente funcional y ya pueden empezar a colocar sus páginas y desarrollar sus proyectos, pronto publicaremos más tutoriales de configuración y seguridad de servidores web asà que estén pendientes.
Cualquier duda o sugerencia por favor dejen sus comentarios
Autor: Olivers De Abreu es el director y fundador de Vensign
Pueden seguirnos a través de nuestro Feed RSS o a través de Twitter @odeabreu
Otros artÃculos que te pueden interesar
![]()
Este trabajo está licenciado bajo Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported License
Excelente articulo
Excelentisima ayuda… en verdad ejecute paso a paso y anda todo mas que bien….
Ahora si te parece podrias agregarle a la ayuda la instalacion del mysql gui tools
para poder manejar mysql desde el entorno grafico.
Realmente GRACIAS.
tiaps=Eduardo.
primero que todo GRACIAS
necesito crear un pagina en php que procese la informacion de un formulario y se envie a una base de datos en MYSQL e ingresar la informacion varios usuarios mostrando los campos utilizando una interfaz grafica.
¿me podrias ayudar?
@Jorge y @tiaps muchas gracias por sus comentarios
Hola Charles, gracias por tu comentario.
En cuanto a tu requerimiento, hay muchos tutoriales en la red que te explica como hacer esto. Te recomiendo esta página:
http://www.desarrolloweb.com/php/
Cualquier duda escribe
Saludos
Olivers
de verdad que eres bueno,
como para completar un poco, tu excelente aporte, les cuento que instalé ademas PHPMYADMIN, lo hice desde el entorno grafico de fedora:
Sistema/Administracion/Add o Remove software, buscan la aplicacion la eligen, APLICAR los cambios, reinician el SO.
Abren su explorador web, “http://localhost o nombre de su host/phpmyadmin
con esto administramos de una manera grafica MYSQL
Super este articulo, me salvo la vida….
Hola,
Muchas gracias a los autores del manual, excelente!
También gracias a los demás por los aportes adicionales.
Si no es mucho abuso, cómo complemento el servidor para manejar seguridad como SSL?
Muy bueno. Gracias por la ayuda.
Muchas gracias por el tutorial, funciona a la perfección, un abrazo
Wow, sin duda el mejor tutorial que he visto sobre el tema, en verdad me sirvio, claro, solo tuve que instalar phpmyadmin en modo grafico, ya que la base de datos la instalo pero necesitaba phpmyadmin para gestionarla
Muchas gracias por tu comentario Juan
Saludos
Gracias !!
Muchas gracias por este excelente articulo me ha sido de mucho utilidad. =)
Muchas gracias por tu comentario Mauro.
No olvides registrarte en nuestro boletÃn en la caja amarilla a la derecha
Saludos
Hola, He instalado el servidor web en una máquina virtual vmware workstation, dentro de la máquina virtual todo funciona de maravilla, las máquinas de la landevuelven el ping con la virtual, o sea, todo parece correcto, pero cuando llamo a test.php desde fuera de la MV no encuentra la pà gina,
la configuración de la lan de la vm es correcta.
Alguna idea?
Hola Angels,
Te aparece la página de bienvenida de Apache al colocar la dirección IP del servidor Web en cualquiera de las PC de la LAN?
Donde estás colocando la página test.php?
Verfica que el servidor Apache está funcionando service httpd restart
Prueba esto si sigues con problemas o logras solucionar vuelve a escribir
Saludos
Olivers
Olivers:
Excelente ayuda. Muchas gracias por toda la información. Se le abonan 100 puntos por tu aporte.
Saludos
Olivers buenas tardes:
Ya hice todo el proceso de configuración y todo va bien. sin problema. al digitar en mi navegador http://localhost me aparece la página de bienvenida de Apache. Pero no me aparece al colocar la dirección IP del servidor Web en cualquiera de las PC de la LAN.
Gracias por tu colaboración. Saludos.
Hola Oscar, debes revisar un par de cosas:
1. Que puedas hacer ping desde otras máquinas hacia la que tienes instalado el LAMP
2. Que no tengas activado algún firewall que bloquee el puerto 80
3. Que la dirección IP esté dentro del rango de tu red. Sobre todo si estás utilizando una maquina virtual
Revisa esto si lo anterior todo está bien vuelve a escribir y veremos que podemos hacer.
Saludos
Olivers
Olivers:
Los Equipos de mi LAN si hacÃan PING. Me fuà a la configuración de Cortafuegos y los servicios de Http, FTP, Samba y demás aparecÃan deshabilitados. Los seleccioné y listo Problema solucionado.
De nuevo Olivers muchas gracias por tu colaboración.
Me alegro que todo te haya funcionado Oscar, estamos a la orden por aca, no te olvides de subscribirte a nuestro boletin de noticias en el cuadro amarillo a la derecha
Saludos
Olivers:
que pena molestarlo. Ya los equipos de mi LAN me ven por IP, por eso no tengo problema, pero no me ven por nombre.. ?? Me colaboras??
Saludos
Hola Oscar, tienes dos opciones:
1. Modificar los archivos hosts de todos tus PC para que resuelvan el nombre del servidor.
2. Instalar un servidor DNS
http://www.vensign.com/blog/instalar-configurar-un-servidor-dns-con-bind9-en-debian-etch.html
Saludos
En verdad te felicito es un excelente trabajo el que has realizado aqui, material de verdadero valor para los que estamos empezando a incursionar en este tipo de configuraciones, te exhorto a continuar tan noble labor y seguir compartiendola con la comunidad LINUX.
Al estar configurando php, hay una parte en donde habres el vim y dices que hay que escribir algo, no se ve que es lo que hay que poner.
Hola Cesar muchas gracias por tu comentario.
Ya fue corregido
Saludos
Hola, Gracias habia intentado instalar el xampp y no me funciono, y decidi probar con lamp y valla no batalle para configurar muy buena tu guia, solo agregaria la parte del phpmy admin.
nstalar phpmyadmin
$su
#yum install phpmyadmin system-config-httpd
Reiniciar Apache
# /etc/init.d/httpd restart
Comprobar que phpMyAdmin funca escribiendo en el navegador
127.0.0.1/phpmyadmin
nos pedirá usuario y contraseña del root de MySQL
A por cierto probado en Fedora 14 x64 en una Hp dv4-1124la
Gracias, aunque tambien quisiera saber si funciona con fedora 14
Hola mateo, si debería funcionar sin ningún problema.
Cualquier problema puedes escribir, también si te funciona dinos para saber!
Saludos
Olivers
quedo listo tambien en mi fedora 14 definitiamente este tutorial es perfecto, me salvo de un extra jaja pq no entendia nada y paso a paso todo es mas facil, aunque toda via me falta un servicio como ftp, samba, o instalar mono si pudieran ayudarme tambien paso a paso se los agradesco
Hola mateo, gracias por confirmar que funciona en Fedora 14
En cuanto a los otros tutoriales tienes:
Samba: http://www.vensign.com/blog/instalando-samba-en-fedora-core-5-core-6-para-compartir-archivos-e-impresoras-en-redes-windows.html Funciona aún para Fedora 14
FTP: http://www.vensign.com/blog/servidor-ftp-con-proftp-en-ubuntu-debian.html es para Ubuntu/Debian pero una vez instalado el ProFTP la configuración es igual.
Espero que te sirva
Saludos
Olivers
Consulta: felicidades por este sitio muy bueno. Mi consulta es q tengo un error, en mi sitio. instale fedora 14 con LAMP y todo funcina bien, se ve la pagina de bienvenida de Apache y se ve desde otro pc de la red, el problema es que coloco una carpeta en /var/www/html/MiCarpeta y esta se ve bien en http://localhost/MiCarpeta, pero cuando quiero colocarla como principal no me funciona, he editado el SELinux y nada, he creado virtualhost y nada, alguna ayuda porfavor, gracias.
Hola Marcelo,
Cuando dices que la colocas como principal te refieres a que la colocas en la carpeta de /var/www/html ?
Que te aparece cuando la colocas alli?
Saludos
Olivers
Me refiero a tener la posibilidad de colocar en mi browser http://localhost y aparesca el contenido en la carpeta /var/www/html/MiCarpeta , porsupuesto que dentro de MiCarpeta existen los archivos de html y mi index.php. MiCarpeta funciona de la forma http://localhost/MiCarpeta , pero esta funciona solo localmente , cuando la busco desde otro pc http://localhost/MiCarpeta no funciona pero si funciona la pagina de bienvenida de apache.
Hola Marcelo, ese problema puede ser por los permisos de la carpeta. Normalmente el usuario de Apache es www-data. Puedes verificar los permisos y el dueño de la carpeta ejecutando:
ls -al /var/www/html/MiCarpeta
Verifica quien es el dueño de la carpeta /var/www/html y colocale el mismo a MiCarpeta, también verifica que tenga permisos de lectura para todo el mundo.
Para cambiar de propietario una carpeta:
chown usuario:usuario /ruta-carpeta
Cambiando usuario por el usuario a quien le quieras dar la propiedad
Para cambiar permisos es con el comando chmod.
Cualquier duda escribe, si quieres ejecuta el comando ls -al sobre MiCarpeta y sobre la carpeta html y colocalos aquí para poder ayudarte mejor.
Saludos
Olivers
Gracias Olivers por tu ayuda: te adjunto lo solicitado:
[root@localhost html]# pwd
/var/www/html
[root@localhost html]# ls -al /var/www/html
total 13204
drwxr-xr-x. 3 root root 4096 May 13 12:58 .
drwxr-xr-x. 6 root root 4096 May 3 13:41 ..
drwxr-xr-x. 22 root root 4096 Jun 9 13:12 Micarpeta
-rwxrw-r-x. 1 root root 506901 May 2 15:56 Mifile.zip
Hola Marcelo, definitivamente tu directorio no tiene permisos de lectura para todo el mundo.
Una opcion para solucionar esto es ejecutar:
chmod 755 /var/www/html/Micarpeta
chmod 644 /var/www/html/Micarpeta/*
Con eso le das permiso de lectura a los archivos y permisos de ejecucion y lectura a la carpeta. Seria bueno ver cual es el usuario de apache en tu sistema o crear uno si no existe.
Prueba con esto y escribe diciendo como te fue.
chmod 755 /var/www/html/Micarpeta –> esto ya existe drwxr-xr-x. 22 root root 4096 Jun 9 13:12 Micarpeta
chmod 644 /var/www/html/Micarpeta/* –> esto no funciono ya que el sitio necesita ejecutar script asi que lo deje con 755.
el Apache tiene usuario y grupo “apache”.
Funcionó impecable, venía usando Ubuntu por años y ahora volviendo a Fedora (solo llegué a Redhat 9 y luego me cambié a Debian y Ubuntu)