Durante la semana estuve mirando con mucho cariño una computadora con la que programe durante muchos años y que en la actualidad no cumple otra función que la de pisapapeles. Y digo con cariño, porque si bien es una computadora vieja fue mi herramienta de trabajo durante mucho tiempo, y sinceramente terminar como pisapapeles no me parecía un final demasiado digno.
Entonces me puse a pensar que uso le podía dar, y finalmente me decidí en convertirla en un servidor de desarrollo, un equipo con el que puedo hacer pruebas, un pequeño entorno de trabajo similar al que tengo en mi servidor de producción.
Ventajas de tener un servidor de desarrollo en casa
- Emular un entorno de trabajo similar al que tengo en mi servidor de producción.
- Aislar el equipo del equipo en donde trabajo habitualmente, un punto interesante de cara a las posibles pruebas de rendimiento que puedo efectuar.
- Jugar mientras aprendo y divertirme un buen rato.
Materiales necesarios y costos
- Una computadora vieja. Sirve prácticamente cualquier computadora que no se incendie al momento de encenderse. Montar un servidor casero de desarrollo no requiere grandes capacidades de procesamiento. Lo ideal seria que cuente con una lectora de cd o dvd, o un pendrive, al menos esa facilidad para instalar el sistema operativo.
- Cero costo. Como vamos a usar software libre en todo momento, no necesitamos desembolsar una sola moneda.
- Tiempo. Dos horas como máximo. Sin contar el tiempo de puesta a punto de la computadora vieja, que puede traducirse en simplemente una limpieza, hasta la creación de un engendro entre los componentes que tenemos desparramados por toda nuestra casa 😛
Instalación de Ubuntu
1. El sistema operativo. Descargamos Ubuntu, en mi caso me gusto la versión 11.04 para 32-bits, el proceso luego es similar a otras distribuciones, asi que les recomiendo que seleccionen la versión que más se amolde a la computadora-víctima que poseen.
Mientras descargamos los 685 mb que pesa Ubuntu podemos aprovechar el tiempo para limpiar un poco la computadora que de seguro acumula una seria capa de tierra 😛
2. Una vez que finalizamos la descarga, guardamos la ISO de Ubuntu en un CD o Pendrive, según los dispositivos que tengamos disponibles. Instalar Ubuntu no tiene ninguna ciencia, sinceramente para aquel que instalo Windows alguna vez la instalación de ubuntu no requiere mucho más conocimientos, todo lo contrario.
Cuando booteamos desde el CD o Pendrive, Ubuntu nos va a dar la bienvenida de la siguiente manera:
Una vez que finalizamos la instalación Ubuntu nos solicitara reiniciar el equipo, lo reiniciamos y quedamos listos para comenzar a configurar nuestro servidor de desarrollo casero.
Nota: No es imprescindible, pero si recomendable que una vez finalizada la instalación de Ubuntu hagan una actualización para tener las versiones más actualizadas de los distintos componentes. Para hacer esto simplemente nos dirigimos al gestor de actualizaciones y lo corremos. El sistema solo va a actualizar los diversos paquetes.
Instalación de Apache2, PHP5 y MySQL
Lo primero que vamos a hacer es abrir una terminal, para eso nos dirigimos a aplicaciones -> Terminal, si no la encuentran rápido pueden utilizar el buscador que se encuentra encima de la ventana de aplicaciones, es simplemente genial.
1. Primero vamos a instalar Apache 2, para lograrlo vamos a ejecutar en la terminal:
sudo apt-get install apache2
Cuando ejecutemos esto probablemente se nos pida la contraseña, la ingresamos y luego confirmamos que deseamos instalar, aproximadamente son 10 mb. El proceso continua solo.
Al finalizar la instalación se nos avisa que el servidor tendrá como dominio de inicio la dirección 127.0.0.1, esto lo podemos comprobar ingresando a Firefox e ingresando la ip, veremos que apache nos saluda.
2. Ahora vamos a instalar PHP5, la instalación es igual de simple, escribimos en la consola:
sudo apt-get install php5
Lo mismo que en el caso de Apache, también confirmamos, la instalación de PHP consume aproximadamente 16 mb. El proceso también continua solo.
3. Finalmente instalamos MySQL, y la instalación no es muy distinta a las anteriores:
apt-get install mysql-server mysql-client
La instalación de MySQL nos va a solicitar que ingresemos una contraseña, esta es la que utilizaremos en algún momento cuando deseemos gestionar nuestra base de datos.
4. Y para finalizar la instalación de todo, reiniciamos Apache, esto lo hacemos ingresando:
sudo /etc/init.d/apache2 restart
Comenzando a utilizar el servidor de desarrollo
Si todo salió bien ya tenemos nuestro querido Ubuntu instalado usando solo software libre.
Antes de continuar y también desde la terminal escribimos:
ifconfig
Con los datos que nos brinda este comando obtenemos la IP de nuestro ordenador dentro de nuestra red hogareña, me imagino que la mayoria debe tener un router, wifi o no, la IP dentro de la red debe ser muy similar a 193.168.1.143. Guarden esa IP después veremos que hacer.
Desde el servidor de desarrollo para acceder al directorio donde alojaremos nuestro proyecto de prueba lo encontraremos en:
var => www
Antes de continuar nos conviene cambiar los permisos de la carpeta para que podamos leer y escribir sin problemas, para eso escribimos en la terminal:
sudo chmod 777 /var/www
Para probar que todo salio bien vamos a escribir un archivo llamado index.php y lo guardamos en la carpeta que indique arriba, dentro del archivo ingresamos:
<?php phpinfo(); ?>
Y ahora viene el momento de la felicidad. Desde cualquier computadora de la red hogareña (inclusive desde la que estamos utilizando para instalar el servidor) nos dirigimos a nuestro navegador, y colocamos la dirección ip que obtuvimos hace unos momentos. Si todo salió bien, vamos a ver la pagina de información de PHP:
Eso es todo, ya tenemos un servidor casero para probar nuestros proyectos de forma interna.
Y como yapa:
Instalando PHPmyAdmin en Ubuntu
Ya tenemos un servidor casero corriendo para divertirnos un buen rato, inclusive para trabajar 😛
Ahora y para comodidad de muchos les recomiendo instalar PHPMyAdmin, un gestor de bases de datos MySQL de los más populares y desde la comodidad del navegador, para lograr esto vamos a escribir en la consola:
sudo apt-get install phpmyadmin
Confirmamos los que nos pregunta, y en un momento el instalador nos va a preguntar que servidor web utilizamos, claramente elegimos Apache:
Y continuamos la instalación. Ahora phpmyadmin va a configurar el sistema para funcionar con la base de datos, le decimos que Si a la pregunta y seguimos la instalación:
Para terminar phpmyadmin nos va a pedir la password que ingresamos al momento de instalar MySQL anteriormente. La ingresamos y ya con este paso finalizamos la instalación.
Una vez que finalizamos nuestra instalación solo resta crear un Alias para acceder a PHPmyAdmin desde el navegador, para eso editamos el archivo httpd.conf del apache, el mismo se encuentra en /etc/apache2 y agregamos esta líneaa:
Alias /phpmyadmin /usr/share/phpmyadmin
Reiniciamos Apache nuevamente para que tome los cambios:
sudo /etc/init.d/apache2 restart
Y listo, para ingresar a PHPmyAdmin, simplemente ingresamos a la dirección http://ip.del.servidor/phpmyadmin
Eso es todo, obviamente podemos probar distintas configuraciones, servidores como Nginx, etc. A divertirse 😀
royalgnz
13 años ago
Mejor montarlo en Debian 😀
Pablo
13 años ago
@Royalgnz: Lo tengo pendiente, tenia en esta oportunidad un Ubuntu descargado y lo queria probar, la próxima probaremos que tal va Debian 😀
alfonso
13 años ago
Muuchas gracias!!. Muy bien explicado. Ya probare cuando aparte mi PC y tenga otra mas nueva.
juangm
13 años ago
Un par de aclaraciones/sugerencias:
– Un servidor de desarrollo no es un servidor de pruebas. El mismo nombre lo dice ‘desarrrollo’
Para pruebas servidor de ‘test’
– Si el equipo tiene recursos minimos mejor un Debian sin entorno gráfico, o como mucho LXDE
Pablo
13 años ago
@alfonso: No hay problema, gracias por comentar 😀
@Juangm: Gracias por el comentario. Debian lo tengo planeado probar, como le comente antes a Royal tenia un ubuntu a mano y la verdad que no funciona para nada lento ni nada, calculo que en maquinas aún más antiguas que la mia puede que se ponga pesada la cosa.
En cuanto al servidor desarrollo o test, eso depende mucho tambien del equipo y configuración que tengamos, por ejemplo esta misma configuración que coloque en el post, si le instalamos Git, FPT, y le damos acceso SSH podría tranquilamente usarse como desarrollo full, al menos eso me parece 😛
Saludos
¿Es verdaderamente nuestra decisión actualizar nuestro equipo? | Kabytes
13 años ago
[…] que cambiar toda nuestra computadora. Un ejemplo de ello es Ubuntu, hace unos días comente como montar un servidor casero en una computadora antigua, y todo sin tener que poner un solo dólar para actualizar una maquina, […]
Francisco
13 años ago
Tengo una inquietud y quizas aqui la puedan responder (espero y si). Hace poco hice este proceso en mi Ubuntu, tengo el apache, php pero con una distribucion lampp y funciona bien, tengo el localhost peroooo ! no puedo agregar archivos al directorio htdocs, ni por comando he podido.
Alguna sugerencia?
PD:Muy buen post
Pablo
13 años ago
@Francisco: Gracias por tu comentario! Respecto a tu consulta, lo más probable que sea un tema de permisos, prueba cambiando los permisos de la carpeta htdocs a 777 o 755. Otra cosa que puede ser es que la carpeta no te tenga como propietario, eso lo cambias con el comando chow. Avisame si con estos cambios puedes grabar sin problemas, espero que si 😀
Fernando
13 años ago
Hola amigo muchas gracias por el tutorial me sirvió muchisimo..
Francisco
13 años ago
@Pablo seguire tu consejo y probare. En cuanto haga esa prueba vuelvo y comento, gracias!
luis
13 años ago
mira tengo un problema toda la instalacion me aparece bien pero cuando escribo mi ip en el navegador firefox me aparece
It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.
no se que pueda ser le agradesco cualquier ayuda
byte
13 años ago
eso significa q esta funcionando! 🙂 esta ok!
Dany
13 años ago
Hola Pablo! Enhorabuena, magnífico tutorial, vaya que me ha ayudado, solo tengo una duda, en el último paso, el sistema no me deja editar el «httpd.conf» …ingreso a el, pero no puedo salvarlo!, alguna idea de como pueda solucionar esto?, de antemano gracias!.
Pablo
13 años ago
Hola Dany, el problema seguramente esta relacionado con los permisos del archivo. Prueba modificando los permisos desde la consola con el comando CHMOD 755 httpd.conf
Dany
13 años ago
Pablo, agradezco muchísimo tu pronta respuesta, seguro que es eso, también pienso lo mismo, he intentado con el comando que me has sugerido, y la consola me dice «chmod: no se puede acceder a httpd.conf, no existe el archivo o el directorio» . Sin embargo por supuesto que está en /etc/apache2. Lamento la molestia, estoy un poco desesperado jaja. Saludos!
Montar un servidor de desarrollo Ubuntu Apache
13 años ago
[…] Fuente […]
Novedades de PHP 5.4.0 | Kabytes
13 años ago
[…] así como una herramienta rápida de testeo. Algo que no es de mucha utilidad si ya tenemos nuestro pequeño web server montado para trabajar desde la oficina o desde casa, como hacemos la mayoría de […]
wilson
13 años ago
Hola, tengo un problema.
En una pc vieja instale ubuntu server 11.10; pude instalar php, mysql y hassta activar el modo grafico de ubuntu. También cree un index.php.
En mi casa tengo un rooter nexxt solutions.
En las otras pc si pongo la ip internat de la pc server, puedo ver perfectameente el index.php y hasta entrar al phpmyadmin.
Ahora, me registre en dyn y desde alli puedo ver que se actualiza correctamente con la ip global del router.
Luego entre en el NAT del router. Seleccione DMZ y apunte a la ip unterna del server.
Luego en Virtual server setup hice una regla tcp al puerto 80.
Bueno el tema es que no puedo acceder al server desde fuera de mi roter, o sea, poniendo la url que me da dyn.
Alguna solucion???
cristch
13 años ago
Estimado una pregunta, ..tengo instalado todos los componentes que describiste, pero lo que yo intento es que en una máquina este el servidor de apache y en la otra con Ubuntu mismo este con el servidor de base de datos mysql. Es decir que los archivos web esten en la máquina A y la base de datos este en maquina B, como lo configuro para que sea posible. Intento instalar joomla. Gracias.
alexis mendoza
13 años ago
tengo una pregunta no me se el usuario de mi phpmyadmin cual es
Jose
12 años ago
no me aparece la pantalla con la info php!
q hago?
asdf
12 años ago
La corriente cuesta.
murillo
12 años ago
Hola Carlos
Muy buen tutorial
Por favor me ayudas con estas preguntas:
¿Como se puede establecer el directorio raíz del servidor web?
¿Y el fichero de registro de errores?
¿como puedo cambiar los mensajes de error del servidor por mensajes personalizados?. Poned un ejemplo porfa
Sincronizar varios dispositivos y navegadores (diseño web) | Kabytes
11 años ago
[…] PHP, Rails, ASP, etc. Incluso podemos sincronizar nuestros proyectos mediante el uso de un servidor web casero, pueden ver una demostración en la documentación oficial del […]