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 es realizada para Fedora Core 7 (debería funcionar también para la versión Core 6) la instalación para Debian y Ubuntu la puedes encontrar aquí.
Voy a suponer que para hacer esta instalación tienes privilegios de root, así que una vez que entramos como root lo primero que debemos hacer es actualizar los paquetes necesarios en Fedora con el siguiente comando:
yum -y update && reboot
Como ya muchos saben yum (Yellow Update Manager) es el manejador de paquetes por excelencia de Fedora, este comando actualiza todos los paquetes que tengan actualizaciones en tu sistema, la opción -y hace que todas las preguntas que sean hechas con respecto a descargas y actualizaciones sean si automáticamente sin que tengamos que intervenir (claro esto es opcional depende de cada quien pero es más facil porque podemos dejar desantendida la actualización), el comando reboot lo que hace es que reinicia el sistema después que termine de actualizar. Verás una lista de los paquetes que tienen una actualización disponible y cuanto es el tamaño total de la actualización, si colocaste la opción -y empezará inmediatamente a descargar los paquetes sino te preguntará si estas deacuerdo. Esto tardará un poco dependiendo de la cantidad de paquetes que tengas por actualizar. Una vez que se actualice el sistema y se renicie ya estamos listo para comenzar con nuestra instalación.
Nota: esta instalación se hará con los repositorios por defectos que vienen con Fedora Core 7 por lo que no se debería necesitar instalar ningún repositorio extra.
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:
yum install httpd
Esto instala la versión de Apache2. Si quisieras instalar la versión 1.3 de Apache en cambio de colocar httpd colocamos apache, sin embargo esta instalación se basará que has instalado la versión 2 de Apache. Para iniciar el servidor de Apache ejecutamos
service httpd start
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 5 ejecutamos:
yum install php php gd
Esto instalará la última versión de php y la librería de graficos gd que siempre es útil. Para instalar PHP 4 en Fedora es un poco complicado ya que hasta donde yo se no existe en algun repositorio para instalarlo directamente con yum, si alguien sabe por favor hágamelo saber para colocarlo aquí. Aquí podrás encontrar un tutorial de cómo instalar php4 en Fedora Core 6 http://www.mjmwired.net/resources/mjm-fedora-php4.html yo no lo he probado para el Core 7 aunque creo que debería funcionar si alguien lo hace y le funciona hágamelo saber. Los archivos de configuración de apache están ubicados en: /etc/httpd/conf/httpd.conf y la carpeta web por defecto esta en /var/www/html/ Antes de comprobar que el servidor está funcionando correctamente ejecutamos:
service httpd restart
para que los cambios hagan efecto. Luego en nuestro navegador web escribimos http://localhost/ y aparecerá una pagína parecida a esta:
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:
nano /var/www/html/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 parecida a esta:
2. Instalando el Servidor de MySQL
Instalar un servidor de base de datos 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. El siguiente comando instalará el servidor MYSQL5 que es la última versión al momento de escribir este tutorial y la librería de php para trabajar con mysql.
yum install mysql-server php-mysql
Para iniciar el servidor de mysql ejecutamos:
service mysqld start
El archivo de configuración de mysql se encuentra en : /etc/my.cnf
Iniciando Apache y MySQL como servicios
Para iniciar tanto Apache como MySQL cada vez que inicie nuestra PC necesitamos configurarlos como servicios para esto ejecutamos los siguientes comandos:
chkconfig –level 345 httpd on
chkconfig –level 345 mysqld on Esto hace que tanto Apache como MySQL corran como servicios en los niveles 345 (tanto con o sin interfaz gráfica) cada vez que se inicia la PC.
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 (noten las minúsculas y mayúsculas son importantes en el nombre):
yum install phpMyAdmin
Vamos ahora a modificar el archivo de configuración de phpMyAdmin:
gedit /etc/phpMyAdmin/config.inc.php
Buscamos las líneas donde dice:
$cfg[’Servers’][$i][’auth_type’]=”
$cfg[’Servers’][$i][’user’]= ”; $cfg[’Servers’][$i][’password’]= ” Y cambiamos por
$cfg[’Servers’][$i][’auth_type’]=’cookie’
$cfg[’Servers’][$i][’user’]= ‘root’; $cfg[’Servers’][$i][’password’]= ‘clave_root_mysql’; // usa aquí tu clave que colocaste en MySQL para root Y agregamos esta línea ya que si no nos da un error de blowfish:
$cfg[’blowfish_secret’]=’una pregunta secreta’ //esto es para poner una pregunta secreta o clave
Te recomiendo que en esta ultima linea pongas una clave bastante fuerte. Y reiniciamos Apache:
service httpd restart
Ahora coloca en tu navegador: http://localhost/phpMyAdmin y te aparecerá una ventana parecida a esta:
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 Privilegios. 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. Lo del userdir aun no lo he podido solucionar :) apenas pueda arreglar eso lo agrego a la pequeña guia que encontre a y por supuesto la Fuente: http://www.vensign.com/2007/06/03/instalar-un-servidor-lamp-en-fedora-core-6-y-7/






Hola Victor, ante todo gracias por interesarte en mi tutorial.
Cualquier duda o ayuda la puedes encontrar en mi sitio.
www.vensign.com
Saludos
Olivers
De nada lo mismo digo =)
excelente tutorial y muy facil de ejecutar,es una buena guia para los newbies como yo.
gracias por tomarte el tiempo de postearla y explicarla de la manera mas sencilla
Soy nuevo en el mundo linux hice todo paso a paso como dicen uds aqui. entre como usuario root pero no me funciona el php;yAdmin me sale un error de 403 que hago al respecto….
de verdad noce de donde pueda ser tu problema cuando instale fedora me salio todo bien siguiendo esta guia talvez te faltan cambiar algunos permisos..
Saludos!!!
no se porque no puedo iniciar el servicio de http y mysql
puedo instalarlos y todo bien pero cuando inicio el comando “service httpd start” no inicia el servicio,tanto de apache como de mysql.
me aparece el siguiente error ” bash : service: comand not found”
porque me aparece ese error y como lo puedo solucionar?
gracias por todo y espero q me puedan ayudar.
para arrancar apache lo deberias hacer de esta manera
/etc/init.d/httpd start
y para mysql lo mismo pero cambiando el httpd
gracias por ayudarme con el comando para iniciar los programas pero otra duda espero no causar mucho problema con mis preguntas basicas pero algunos comando no me funcionan (no se si es porque esta destinado para ubuntu o mi ignorancia es grande)
pero el problema es el siguiente:
cu8ando quiero utilizar estos comandos
chkconfig –level 345 httpd on
chkconfig –level 345 mysqld on
me aparece lo siguiente:
bash: chkconfig: command not found
tambien instalo sin problema phpMyAdmin
pero cuando quiero modificar el archivo de configuración de phpMyAdmin con el comando :
gedit/etc/phpMyAdmin/config.inc.php
me aparece lo siguiente
bash: gedit/etc/phpMyAdmin/config.inc.php: No such file or directory
sera q tengo q activar el programa?
porque en mi necesidad por aprender ,estoy inventando y trate con el comando
/etc/init.d/phpMyAdmind start
pero no me sirvio tampoco : (
espero q me ayuden se los agradeceria mucho
bash: chkconfig: command not found –> revisa si lo puedes instalar o algo parecido porque si te sale “bash: chkconfig: command not found” es que no existe el comando o porque no esta instalado..
gedit/etc/phpMyAdmin/config.inc.php
no es lo mismo que
gedit /etc/phpMyAdmin/config.inc.php
lo otro
/etc/init.d/phpMyAdmind start
phpmyadmin no lo tienes que arrancar, lo que tienes que arrancar es mysql
revisa los archivos que tienes en /etc/init.d
ls /etc/init.d/
Saludos…
gedit/etc/phpMyAdmin/config.inc.php
no es lo mismo que
gedit /etc/phpMyAdmin/config.inc.php
disculpa pero yo veo lo mismo,no se si podrias explicarme la diferencia entre esos dos comandos porque he pasado bastante tiempo buscandole una diferencia y lo q veo es igual.
revise si el programa chkconfig con yum y si esta instalado
revise los archivos q me dijiste (/etc/init.d) y ahi estan ambos httpd y mysqld
tambien revise /etc/phpMyAdmin/ y efectivamente ahi esta el archivo “config.inc.php”
pero no se porque el “gedit” no me lo abre en la terminal
estare haciendo algo mal?
trate de cambiar el archivo config.inc.php desde la carpeta pero no me deja guardar los cambios ( o sea q solo desde la terminal puedo realizar cambios?) como puedo hacer si no me deja desde la terminal?
creo q tratare un par de horas mas y me voy a ir a dormir porque ya son las 3:am y todavia no le encuentro la solucion.
espero q me ayuden se los agradecere muchooooooooo.
Hola:
“”"
gedit/etc/phpMyAdmin/config.inc.php
no es lo mismo que
gedit /etc/phpMyAdmin/config.inc.php
“”"
veo que entre el primero y el segundo existe un espacio entre ‘gedit’ y ‘/’ lo habrás notado’
y para editar te recomiendo que lo hagas como root
en la terminal escribe
su
y ingresas la clave del usuario root
Saludos !!!!!
hola tengo una duda, como le hago para apunatr el ftp al folder del apache www
otra duda, en el archivo httpd.conf, que es lo que debo de moficar
gracias, y saludos
ni idea cuando sepa algo te aviso o escribo un post
Saludos..
no me aparece nada en este archivo
gedit /etc/phpMyAdmin/config.inc.php
que ago?
cuando quiero ejecutar esta linea mysql -u root me aparece lo siguente
ERROR 1045 (28000): Access denied for user ‘root’@'localhost’ (using password: NO)
hola, excelente tutorial, he seguido todo al pie de la letra y segun no me ha marcado error pero ya cuando voy a abrir localhost/phpMyAdmin, ahi ya no quiere y me sale un error que dice mas o menos asi:
error
MySql ha dicho:
# 1045 accesss denied for user root@localhost (using password : No)
alguna idea para solucionar esto ? muchas gracias desde ya
angel
mi pregunta es si hiciste esto
mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD(’nuevo-password’) WHERE user=’root’;
mysql> FLUSH PRIVILEGES;
y lo otro que revises el punto 3 porque esta diciendo que no estas usando password para root….
Salduos !!!
hola
muchas gracias por tu respuesta, ya corregi eso del pass de root de mysql, lo que pasa es que no habia respetado mayusculas y minuculas bueno eso al parecer ya quedo, ahora tengo otr mensaje de error que dice mas o menos asi:
error
mysql ha dicho:
# 2002 - el servidor no esta respondiendo (o el socket dl servidor mysql local no esta configurado correctamente)
alguna idea de solucion, desde ya muchas gracias y disculpen mi ignorancia soy bastante nuevo
angel
mmm
seguiste la guia paso por paso ???
pues si segui la guia paso a paso pero bueno ya entoy siguendola nuevamente a ver q pasa….. desde ya gracias
angel
ok todo perfecto, volvi a hacer todo el tutorial y ya funciono solo tengo mis impresiones para alguien que este tan nuevo y novato en linux como yo que nos pueda servir, tal vez para los experiementados pues es como sumar pero para los que venimos del reyno de ms sabemos que no es facil, bueno gracias a todos por contestar dudas, mis impresiones para un novato como yo serian:
1.- al empezar a hacer todo, ya sea que lo hagan como root o si no como el usuario que crearon en fedora, para esto solo bastaria dar el comando
$su
y les pedira el pass de root
2.- cuando dice en la guia que le den: service httpd restart si no estan como root no funciona asi, tendrian que darle algo como
# /etc/init.d/httpd restart
# /etc/init.d/mysqld restart
tanto para apache como mysql para que funcione
3.- en la guia donde dice:
chkconfig –level 345 httpd on
chkconfig –level 345 mysqld on
ahi van dos guiones –, si estan como root sino tendrian que poner algo como:
/sbin/chkconfig –level 345 httpd on
/sbin/chkconfig –level 345 mysqld on
bueno espero estas muy pequeñas contribuciones les sirvan de algo sobre todo a los novatos como yo
ahora si a lo que sigue levantar las bd de mysql y empezar a hacer las paginas jejej
saludos
angel
jejeje muy bien, te felicito y exito en tus pagias
Saludos… !!
Victor
hola tengo mi lamp funcionando, que editor me recomentarias para empezar a hacer mis paginas web?? es decir un editor para html -php corriendo en fedora 7, algo no muy rebuscado mas bien sencillo para un principianto como yo ?? desde ya muchas gracias
tienes varios como nvu que no soporta php es muy parecido al dreamweaver, también tienes anjuta bastante bueno, bluefish es otro también bastante bueno.
Saludos!!
De lujo!, todo funcionó, muchas gracias por este tutorial!
Hola. Intente montar el servidor apache con los comandos que muestras en la parte de arriba y luego me aparecio un mensaje que decia “nothing to do”… asi que tuve que acceder al administrador de servicios y habilitar el servicio httpd manualmente… en seguida de eso todo funciono perfectamente… igual sucedio cuando intente lanzar el servicio con el comando “service httpd start”… no hizo nada… asi que nuevamente tuve que ir a la consola de administracion de servicios y lanzarlo de nuevo desde alli… pero despues de eso todo funciono perfectamente…
Muchas Gracias !!!
amigos, segui paso a paso el manual, todo bien hasta que trato de entrar al administrador de PhpMyAdmin, me sale un error de permisos.
Ya proporcione todos los permisos pero sigo sin poder entrar
Gracias por su apoyo
Saludos:
Gracias victor por el tutorial tan explicativo y que me sirvió de mucho. Pude instalar Apache, PHP 5 MySql y el PhpMyAdmin, uso el fedora 9 para algunos casos y dejo esto para futuros usuarios de Linux que el comando service me funcionó así:
Para iniciar apache en modo de super usuario
# /sbin/service httpd start
Para inciar mysql
# /sbin/service mysqld start
Pues no me funcionaba así:
# service httpd start
# service mysql start
Esto lo dejo por si alguien está con Fedora 9