Montar Un Servidor Web Casero

57
Bienvenidos mis estimados lectores (y posibles curiosos) que hallan entrado a este post, pues hoy aportare algo que últimamente he estado usando bastante, quiero aclarar que ya había buscado información para hacer un servidor casero con ubuntu server 12.04, y logre encontrar pero el detalle es que eran para versiones un poco mas viejas, y obviamente las imágenes que aparecían en el manual no coincidían incluso en algunas ocasiones cambia el tipo de configuración, y ciertamente para usuarios que no están muy relacionados con la plataforma linux se les dificulta bastante, bueno dejémonos de palabrerías y empecemos a trabajar, primero les muestro el contenido de nuestro manual. El manual de "Montar un servidor web casero con ubuntu server 12.04" se compone de los siguientes puntos . Parte 1. Introducción Parte 2. Requisitos Parte 3. Instalar Ubuntu Server 12.04 Parte 4. Configuración de Red Parte 5. Servidor Web (LAMP) Parte 6. Servidor FTP Parte 7. Dominio Parte 8. Configurar DMZ Amigos lo encontré navegando por la red, y de hecho estuve buscando pero no encontraba ningún manual, bueno si pero estaban un poco obsoletos, este está muy completo, ya que maneja una versión reciente. Montar un Servidor Web Casero con Ubuntu Server 12.04 / Parte 1. Introducción

Transcript of Montar Un Servidor Web Casero

Page 1: Montar Un Servidor Web Casero

Bienvenidos mis estimados lectores (y posibles curiosos) que hallan entrado a este post, pues hoy aportare algo que últimamente he estado usando bastante, quiero aclarar que ya había buscado información para hacer un servidor casero con ubuntu server 12.04, y logre encontrar pero el detalle es que eran para versiones un poco mas viejas, y obviamente las imágenes que aparecían en el manual no coincidían incluso en algunas ocasiones cambia el tipo de configuración, y ciertamente para usuarios que no están muy relacionados con la plataforma linux se les dificulta bastante, bueno dejémonos de palabrerías y empecemos a trabajar, primero les muestro el contenido de nuestro manual. El manual de "Montar un servidor web casero con ubuntu server 12.04" se compone de los siguientes puntos.

Parte 1. Introducción Parte 2. Requisitos Parte 3. Instalar Ubuntu Server 12.04 Parte 4. Configuración de Red Parte 5. Servidor Web (LAMP) Parte 6. Servidor FTP Parte 7. Dominio Parte 8. Configurar DMZ Amigos lo encontré navegando por la red, y de hecho estuve buscando pero no encontraba ningún manual, bueno si pero estaban un poco obsoletos, este está muy completo, ya que maneja una versión reciente. 

Montar un Servidor Web Casero con Ubuntu Server 12.04 / Parte

1. Introducción

Introducción para Montar un Servidor Web Casero con Ubuntu Server 12.04

Si no tienes conocimientos acerca de la plataforma linux, no importa a mi me gusta explicar las cosas bien a detalle (puesto que a mi me gustan que me las expliquen a detalle también), y para las personas que ya tienen conocimiento (bien por ellos muchas felicidades), en este manual vamos a instalar un servidor casero con el sistema operativo Ubuntu Server 12.04, donde podremos montar nuestra propia pagina web, se que hay personas que quieren tener una web, pero de momento no hay suficiente ($), así que si lo que quieren es practicar y/o aprender, adelante este manual es para ustedes y para

Page 2: Montar Un Servidor Web Casero

aquellos que ya tienen experiencia y simple y sencillamente quieren tener su servidor casero.

Unos de los datos curiosos y que mas me agradan es que Ubuntu Server (sistema operativo que vamos a usar en este manual) es open source, en pocas palabras gratis, es decir que no tendremos problemas legales por usarlo, y bueno para aquellos que no tienen ($) para comprar un dominio y hosting para su pagina web, no creo que tengan unos cuantos cientos de dolares para comprarle a Microsoft una licencia por el sistema operativo Windows Server, bueno primero antes de iniciar a instalar, les debe quedar 2 conceptos bien claro lo cual son Hosting y Dominio.

Dominio: El dominio es el nombre que llevara nuestra web, es decir es aquel nombre con el cual las personas podrán encontrarnos, por ejemplo:

www.google.com

Se fijan en el ejemplo anterior regularmente los dominio están conformados primeramente por WWW siglas que significan (World Wide Web) o Red Informática Mundial, si gustan pueden consultar mas información aquí. Seguimos con la palabra "google" que en este caso viene siendo el nombre de dominio y por ultimo viene un ".com" la terminación ".com" tiene el significado de comercio, lo cual podemos determinar el significado de un dominio con su terminación, por ejemplo: ".org" que significa organización sin fines de lucro, siempre dejan esas terminaciones para instituciones gubernamentales, entre otros, si quieres mas información busca aquí.Así que ya mas o menos podemos entender el concepto dominio, los dominios son únicos a nivel mundial, y puedes crearlos con el nombre que quieres, incluso:

www.tunombre.com

Hosting: (significa hospedaje), es decir una vez teniendo el nombre del dominio, ahora debemos tener un lugar donde almacenar nuestra pagina web, buscando en Internet puedes encontrar lugares para montar o hospedar tu pagina web o simple y sencillamente puedes crear tu propio servidor casero siguiendo este manual.

Montar un Servidor Web Casero con Ubuntu Server 12.04 / Parte 2. Requisitos

Requisitos para Montar un Servidor Web Casero con Ubuntu Server 12.04 Ubuntu Server 12.04 pueden descargarlo de aquí, recomiendo y graben en CD 1 PC con mínimo 500 MHZ cualquier tipo, ya sea AMD o INTEL, 128 MB de

RAM (como minimo) y al menos un disco duro de 1GB, con 1 tarjeta de red Ethernet. tarjeta de vídeo, un lector de CD,teclado y monitor.

Conexión a Internet. (en esta ocacion usare el de TELMEX)

Page 3: Montar Un Servidor Web Casero

Cabe mencionar amigos que dependiendo de el uso que tenemos pensado darle a nuestro servidor, son los requerimientos de la PC, pero estos que les menciono son los requerimientos mínimos para poder montar el servidor, si van a utilizarlo para algo mas grande les aconsejo una maquina con mas potencia. Si piensan comprar algo (o una maquina) recuerda que "no siempre lo mas caro es lo mas bueno".

Una vez que tengas todos los requisitos continuamos...

Montar un Servidor Web Casero con Ubuntu Server 12.04 / Parte 3. Instalar Ubuntu Server 12.04

Instalar Ubuntu Server 12.04 para Montar un Servidor Web Casero

Bien pues hay que instalar Ubuntu Server 12.04  si aún no lo descargas puedes descargarlo de aquí, y después lo grabas en un CD (clic aquí para ver como grabarlo en un CD).Una vez que ya tengas listo Ubuntu Server en un CD, introducirlo en nuestro pc, para que inicie la instalación.

Nota: Debes de asegurarte que a instalación inicie desde CD.La instalación se llevara a cabo y se estará manipulando solo con el teclado (no requiere mouse). Así que para movernos entre las opciones utilizaremos las flechas y un "ENTER" para seleccionar.

Bien ahora nos aparecerá la siguiente pantalla. Aquí seleccionamos el idioma que queramos, por esta ocacion (y porque no se ningún otro idioma) seleccionamos "Español" y damos ENTER.

Page 4: Montar Un Servidor Web Casero

Ahora nos aparecerá un menú de opciones en el cual seleccionaremos la opción: "Instalar Ubuntu Server" que por default aparecerá seleccionada, así que nos aseguramos de que este seleccionada y damos "ENTER".

Ahora nos aparecerán varias opciones de ubicación en cuanto en el país en el que estamos, por esta vez estamos en mexico, así que lo seleccionamos y damos "ENTER".

Page 5: Montar Un Servidor Web Casero

Ahora nos aparecerá un mensaje diciéndonos que si queremos que detecte la distribución del teclado, seleccionamos "NO" y damos "ENTER".

Ahora nos aparecerá una lista con diferentes idiomas de teclado, seleccionamos la que corresponda a su teclado, en este caso el mio corresponde a "Ingles EE. UU." puesto que

Page 6: Montar Un Servidor Web Casero

ese es el idioma de mi teclado, una vez seleccionado el idioma de nuestro teclado, damos "ENTER".

Pues como en la mayoría de los idiomas seleccionamos el tipo de idioma es decir, yo elegí "Ingles" pero como les comento hay varios tipos de ingles, pero por esta ocacion seleccionamos la primera, que es: "Ingles EE. UU." y damos "ENTER".

Page 7: Montar Un Servidor Web Casero

Ahora viene algo importante, tenemos que ponerle un nombre a nuestra maquina (server), por esta ocacion, le pondré: "ubuntu" seleccionamos con las flechas <Continuar> y damos "ENTER", cabe mencionar que es aconsejo y anoten el nombre de

Page 8: Montar Un Servidor Web Casero

la maquina puesto que lo necesitaremos mas para adelante, pueden usar el nombre que ustedes gusten. 

Ahora viene la parte donde introducimos nuestro nombre, en este caso introduzco el mio: "Ismael Renteria" seleccionamos con las flechas <Continuar> y damos "ENTER", aquí son libres que escribir el suyo.

Page 9: Montar Un Servidor Web Casero

Una vez puesto nuestro nombre, introducimos nuestro nombre de usuario (OJO no necesariamente tiene que ser el mismo), en este caso colocare: "ismael" (ya que es mi nombre), seleccionamos con las flechas <Continuar> y damos "ENTER".

Ahora nos pedirá una contraseña para nuestro usuario, al igual que en el usuario, podemos colocar el que queramos, en este caso colocare: "1234567" con las flechas seleccionamos <Continuar> y damos "ENTER".

Page 10: Montar Un Servidor Web Casero

Ahora viene la confirmación de contraseña, para lo cual debemos introducir nuevamente nuestra contraseña, pero en mi caso vuelvo a introducir: "1234567" y con las flechas seleccionamos <Continuar> y damos "ENTER".

Ahora viene una opción interesante, bastante diría yo, Ubuntu Server 12.04 nos permite cifrar nuestra carpeta personal, esto quiere decir que si nos roban la pc, sacan el disco duro y lo ponen en otra pc de modo que algunos curiosos vas a querer ver nuestra información pero con esta opción de cifrado no se podrá acceder a nuestra información, puesto que se necesita estar logueado, por seguridad seleccionamos la opción <SI> con las flechas de nuestro teclado y damos "ENTER".

Page 11: Montar Un Servidor Web Casero

Después de un momento de configurar,y cargar cosas del sistema nos aparecerá automáticamente nuestra "Zona horaria" a la que pertenecemos, Ubuntu Server la busca automáticamente por medio de Internet y nos la muestra si esta esta correcta (que en mi caso si lo esta), seleccionamos con las flechas de nuestro teclado la opción <SI> y damos "ENTER".

Page 12: Montar Un Servidor Web Casero

Ahora viene el particionado del disco duro, les aconsejo que respalden su información, puesto que para esta ocacion utilizaremos todo el disco duro, si no haz hecho un respaldo de tu información es momento de NO SEGUIRy hacer el respaldo, pero si no hay nada que rescatar, adelante seleccionamos con las flechas de nuestro teclado la opción que dice: "Guiado - utilizar todo el disco" y damos "ENTER".

Page 13: Montar Un Servidor Web Casero

Ahora nos aparecerán los datos de nuestro disco duro, así como la capacidad, solo damos "ENTER" para continuar.

NOTA: Esta es tu ultima oportunidad para respaldar tu información después de esta opción no habrá marcha atrás.

Ahora nos dirá si deseamos escribir los cambios, con las flechas de nuestro teclado seleccionamos la opción <SI> y damos "ENTER".

Page 15: Montar Un Servidor Web Casero

Ahora tenemos que acceder a la red, (aunque desde hace rato que accedimos con la configuración de la zona horario) si estamos detrás del algún servidor proxy para conectarnos a la red, adelante coloquemos los datos, pero si solo están conectados con un cable UTP al módem (en mi caso es TELMEX) no es necesario colocar nada, solo den un "ENTER".

Page 16: Montar Un Servidor Web Casero

Ahora nos pide configurar como deseamos nuestras actualizaciones a nuestro sistema operativo (que en este caso es Ubuntu Server 12.04), cabe mencionar que las actualizaciones son muy importantes puesto que si hay algunos fallos con estas son corregidos dichos fallos, así que les recomiendo que seleccionen: "Instalar actualizaciones de seguridad automáticamente" y damos "ENTER".

Page 17: Montar Un Servidor Web Casero

Ahora viene la selección de programas que necesitaremos, pues en mi caso y por esta vez vamos a montar un servidor con tecnología PHP y MYSQL. Y agregare un programa mas para entrar desde otra maquina remotamente.Seleccionaremos los siguientes programas:

-OpenSSH server. Este nos servirá para conectarnos remotamente desde una terminal.

-LAMP server. Las siglas significan: Linux + Apache + MySQL + (PHP, Perl, Python).

Linux es el Sistema Operativo (SO) hay varias distribuciones de sistemas operativos por parte de linux, y en este caso usamos Ubuntu Server una distribución mas de Linux. Para mas información da clic aquí.

Apache es un software o programa que sirve para darle la habilidad a nuestra PC de que sea tratado como un servidor web. Para mas información da clic aquí.

Mysql es un software o programa de gestión de base de datos, las base de datos son como centros de información (de cualquier tipo), para mas información da clic aquí.

PHP,Perl y Python algo que tienen en común estos 3 es que son lenguajes de programación, y por esta ocacion nos ayudara para que cuando nuestra maquina encuentre código de alguno de estos lenguajes sepa manejarnos y saber que hacer con las instrucciones, porque eso es lo que es una pagina web, son una serie de instrucciones.

Clic aquí para mas información sobre PHPClic aquí para mas información sobre PerlClic aquí para mas información sobre Python

Ahora vamos a seleccionar con las flechas del teclado primero la opción llamada: "OpenSSH server" un cuadrito de color rojo como se muestra en la imagen de abajo, nos ayudara a ver en que programa esta la selección, una vez que este dicho cuadrito en el programa que queramos, presionamos la "BARRA ESPACIADORA" (si!, esa que nos sirve para dar espacios cuando estamos escribiendo), y notaran como en el cuadrito de color aparece un ( * )asterisco o comodín (como gustes llamarle).

Page 19: Montar Un Servidor Web Casero

Ahora viene la parte donde configuramos el usuario y contraseña de mysql, por default (o de manera predeterminada) mysql nos creara el usuario llamado: "root" así que por ahora solo configuraremos la contraseña, pueden introducir la que les guste, OJO esta contraseña es independiente de la que usaron cuando pusieron su usuario, así que no es necesario colocar la misma, pero es posible usar la misma si ustedes así lo quieren, y como para mi ya es trabajo memorizar una contraseña imaginen 2, así que colocare la siguiente: "1234567" y damos "ENTER".

Ahora te aparecerá otra ventana donde tienes que confirmar la contraseña, e introduces nuevamente tu contraseña pero en mi caso: "1234567" 

//Te debo esta imagen.

Ahora nos aparecerá una ventana donde nos dará la opción por si en nuestra pc tenemos mas de 1 sistema operativo, pero en nuestro caso, nuestro sistema es único, así que seleccionamos con ayuda de las flechas de nuestro teclado la opción que dice: "<SI>" y damos "ENTER".

Page 20: Montar Un Servidor Web Casero

Finalmente terminamos con nuestra instalación del Sistema Ubuntu Server 12.04, ahora solo tienes que retirar el CD de la unidad, porque corres el riesgo de que al momento de reiniciar la maquina la instalación inicie de nuevo, así que prevenimos y lo sacamos, y finalmente damos un "ENTER".

Por fin hemos terminado la instalación, si seguiste los pasos tal cual, FELICIDADES!, ya tienes instalado Ubuntu Server 12.04, ahora normalmente el equipo se va a reiniciar, y

Page 21: Montar Un Servidor Web Casero

ahora lo primero que nos mostrara es un menú tal cual se los muestro abajo, solo da "ENTER" para continuar.

Bien esta parte ha concluido...

Montar un Servidor Web Casero con Ubuntu Server 12.04 / Parte 4. Configuración de Red

Configurar Red para Montar un Servidor Web Casero con Ubuntu Server 12.04Bien hasta ahora vamos muy bien, en esta parte de: "Configuración de Red" vamos a comprobar nuestra conexión  a Internet así como la red local, así que empezamos.

A continuación te muestro una imagen de nuestra PC una vez reiniciada, si te fijas si te fijas, primero aparece el nombre del sistema operativo seguido de la versión. Te mostrara solo una linea después, dirá: "ubuntu login:" aquí tienes que poner el nombre de tu cuenta de usuario, en mi caso yo le puse "ismael", así que colocas el nombre y das "ENTER". Te aparecerá otra linea donde dirá: "Password:" (es español significa contraseña) y colocamos nuestra contraseña, en mi caso: "1234567"

Page 22: Montar Un Servidor Web Casero

Ahora ya hemos entrado al sistema, y nos mostrara información del sistema, pero para no entrar a detalle, lo que necesitamos saber es lo siguiente, si te fijas subraye de color rojo (verde para los que son daltonicos) nos muestra la "IP address for eth0: 192.168.1.66" la IP en pocas palabras es la dirección de nuestra computadora, esta tiene que ser único, por lo cual no se debe repetir, un ejemplo bien claro son los teléfonos (incluyendo los celulares), si te fijas no hay 2 teléfonos con el mismo numero. Puedes consultar mas información acerca de IP aquí. Bien siguiendo con el manual, al parecer (mi módem en este caso), me ha asignado automáticamente una dirección de IP, por el puerto "eth0" este puerto puede varias, dependiendo del numero de tarjetas que tenga tu PC, eth0, eth1, eth2, etc. Y así sucesivamente hasta el fin del mundo. Ahora en la parte inferior izquierda de la siguiente imagen, marque con un rectángulo, de color rojo (verde para los daltonicos), la parte donde dice:"ismael@ubuntu:~$", te explico que primeramente "ismael" es el nombre de usuario, seguido de un "@" y"ubuntu" es el nombre de nuestra maquina. 

NOTA: si no te aparece la IP asignada no te preocupes, evidentemente algo esta pasando, pero lo sabremos un poco mas adelante, continuemos.

Page 23: Montar Un Servidor Web Casero

ahora para comprobar nuestros dispositivos de red, solo vamos a escribir el comando "ifconfig" damos "ENTER" y nos mostrara nuestros dispositivos de red que tenemos instalados.NOTA: si a continuación aparece el "eth0" podemos decir que nuestro sistema ubuntu server si detecta nuestra tarjeta de red y ademas esta habilitada, en caso de que no, puede que no la detecte o de que este inhabilitada, pero no te preocupes da clic aquí para habilitarla.

A continuación les vuelvo a mostrar la misma imagen pero subraye 2 cosas mas que quiero que vean a detalle, si te fijas en la primer linea subrayada del lado izquierdo dice: "inet:192.168.1.66" como ya te había comentado que esta es nuestra dirección de IP, ubuntu server 12.04 viene por default configurado para que nuestra red sea DHCP, lo que significa que automáticamente nos asignara una IP, como lo es en este caso (es posible que tu asignes la IP que tu quieras pero hoy lo dejaremos así solo quiero que sepas que si es posible).

Page 24: Montar Un Servidor Web Casero

Antes de continuar quiero limpiar la pantalla, porque como lo han de notar no hay scroll en ubuntu server 12.04, lo cual la información solo se va llendo hacia arriba, así que para no revolvernos limpiaremos la pantalla, para ello escribimos "clear" y damos "ENTER".

Ahora si se fijan, toda la pantalla queda limpia.

Hasta ahora vamos muy bien, ya tenemos nuestra IP, ahora lo que haremos es hacer un "ping" en resumen esto sirve para ver si tenemos conexión no solo a Internet, si no también a nivel red local, así que, aquí haremos 2 ping's uno para saber si tenemos conexión a Internet y otro para saber si tenemos conexión en red local. Bien primer empezamos con Internet, solo hay que escribir "ping google.com" y damos "ENTER".

Page 25: Montar Un Servidor Web Casero

Notaras que empezaran a salir linea tras linea, esto es porque estará haciendo ping de manera infinita, ahora para detenerlo solo tienes que presionar 2 teclas, las cuales son: "ctrol + c" (control + c). Con esto basta para detener el ping, ahora si te fijas al final, te mostrara una breve estadística del ping, te dirá el numero de paquetes enviados, el numero de recibidos, y un porcentaje de paquetes perdidos. Por esta ocacion todo funciono perfectamente, así que podemos decir que nuestro servidor tiene acceso a Internet, así que continuamos.

Ahora para probar si tienen conexión de manera local, deben de tener otra PC  conectada a la misma red donde esta conectado su servidor, también deben saber cual es la la IP de esa maquina, OJO aquí hay algo interesante, para hacer ping a esa maquina, solo tienes que escribir "ping ipdelamaquina" pero es muy probable que no sea exitoso el ping, puesto que hay firewalls, entre otras cosas que protegen a las maquinas, te aconsejo mejor que, para comprobar la  conexión local, hagas ping desde otra maquina a tu servidor, puesto que este esta diseñado para dar respuesta. A continuación te muestro una imagen desde mi lap, yo tengo instalado ubuntu 12.04 (soy usuario linux) y haré un ping desde mi lap, hacia el server, si tu también tienes instalado ubuntu hacemos lo mismo que en ubuntu server 12.04 (puesto que son los mismos comandos) solo escribimos "ping 192.168.1.66" (recuerda que esa es la dirección IP de mi servidor) y solo damos "ENTER".

Page 26: Montar Un Servidor Web Casero

Cuando detengas el ping analiza el resultado y allí sabremos si hay conexión local o no. Por esta ocacion fue exitoso el resultado.

Montar un Servidor Web Casero con Ubuntu Server 12.04 / Parte 5. Servidor Web (LAMP)

Servidor Web (LAMP) para Montar un Servidor Web Casero con Ubuntu Server 12.04

Bien continuando con nuestro manual de Montar un Servidor Web casero con Ubuntu Server 12.04, llegamos a la parte de configurar nuestro servidor como todo un servidor web como cualquier otro.

Primero tengo que darte una buena noticia, si todo ha salido bien, y te haz apegado a este manual tal cual,FELICIDADES, tu servidor web casero, ya esta funcionando perfectamente, pero como es posible?, así de simple, para comprobar solo tienes que entrar desde otra maquina, de esas normales, bueno de hecho desde cualquier maquina o dispositivo móvil (que tenga conexión a nuestra red local), con el sistema operativo cualquiera (windows, linux, Mac, android, etc.) solo tienes que ingresar al navegar web y colocar en la barra de direcciones, la IP de nuestro server (en este caso 192.168.1.66) y te tiene que aparecer un mensaje diciendo: "It Works!" lo que en español significa "Esto trabaja" en mi caso te lo muestro desde mi lap con sistema operativo ubuntu 12.04 y desde el navegador web llamado "Chromium", pero accederé a mi server desde su nombre, es decir en mi navegador colocare el nombre de PC (recuerda que es el nombre de la maquina) pero OJO, algo importante de este navegador que uso, es que tienes que colocar "http://nombredelamaquina", recuerda el nombre que le asignamos a la maquina, en este caso yo le puse "ubuntu" así que colocare en mi navegador: "http://ubuntu/" y damos "ENTER".NOTA: Esto sucede con el navegador Chromium porque tiene esa opción de buscar lo que coloques en la barra de dirección, es por eso que necesitas el http al inicio, pero esto puedes colocarlo que cualquier navegador y funcionara perfectamente, cabe mencionar que ciertos navegadores bastara con colocar el nombre de la maquina y listo.

Page 27: Montar Un Servidor Web Casero

Bueno, y aprovechando de una vez te muestro que también es posible acceder al server desde la IP de nuestro servidor, en mi caso yo accedo así: "http://192.168.1.66".

Una vez que hallas comprobado que nuestro servidor si funciona, llego la hora de comprobar cada programa que decidimos instalar junto con nuestro sistema operativo Ubuntu Server 12.04, lo cual fue LAMP server yOpenSSH server (aquí te recuerdo con la imagen).

Page 28: Montar Un Servidor Web Casero

Bien ahora iremos por partes, primero iniciaremos con LAMP, como ya les había comentado en la instalación de ubuntu server 12.04, LAMP se compone de 4 cosas, primero Linux, que es este sistema operativo, luego de Apache el que hace posible o da la habilidad a nuestro server de ser tratado como servidor web, te tengo una noticia, si te apareció el mensaje de: "It Works!" buen trabajo, lo tienes y esta funcionando, seguimos con Mysql aquí para comprobar si lo tenemos y esta funcionando, escribimos en nuestro ubuntu server 12.04 respetando la siguiente sintaxis :

mysql -h nombre_host -u nombre_usuario -p

Ahora te explico, "mysql" por default tiene que ir, luego viene un "-h" lo que indica que lo que sigue es el nombre del nombre del host (es decir el nombre de la maquina), luego viene un "-u" la letra "u" viene de "user" (en español usuario) lo que indica que lo que sigue es el usuario, (en este caso el usuario es root, puesto que este usuario viene por default)y por ultimo "-p", la letra "p" viene de "password" (en español contraseña), antes de continuar, cabe mencionar algo importante, en este caso haremos referencia al nombre de nuestro host, NO con el nombre de nuestra maquina (puesto que eso se usa para hacer referencia a esta maquina desde otra maquina), aquí haremos referencia a nuestra maquina así misma pero llamándola por "localhost", ahora bien respetando todo esto, colocamos nuestros datos, en mi caso quedarían así: "mysql -h localhost -u root -p" y damos "ENTER".

NOTA: para salir de modo Mysql escribe:

Exit (y dale "ENTER")

Si pudiste entrar a modo: "mysql", bien hecho, tienes instalado y funcionando el Mysql, ahora viene el PHP, para comprobar si nuestro server soporta el php, es muy fácil, solo tenemos que agregar un archivo, en la dirección: "/var/www" con el nombre de "prueba.php", para esto escribimos:

sudo nano /var/www/prueba.php (y damos "ENTER")

NOTA: cuando escribas "sudo" al inicio de una instrucción te pedirá una contraseña, recuerda que es la contraseña de tu usuario (en mi caso 123456).

sudo es para darte privilegios de super usuario, nano es un editor de texto un tanto limitado, pero perfecto para estos casos.

Page 29: Montar Un Servidor Web Casero

Ahora nos aparecerá toda la pantalla de color negro, así que agregaremos el siguiente código:

<?php echo "esta maquina si corre PHP..!! :) ";?>

y después presionamos la tecla "F2" para guardar los cambios, te aparecerá una confirmación dándote a elegir "S/N" tecleamos "S" y damos "ENTER".

Page 30: Montar Un Servidor Web Casero

bien, ahora veremos si funciona, desde otra maquina ingresamos al navegador mediante la IP o mediante el nombre de la maquina, de la siguiente manera "http://192.168.1.66/prueba.php" o "http://ubuntu/prueba.php" y nos tendrá que mostrar (si tu resultado es como el de la imagen nuestro server si corre PHP).

Hasta aquí hemos comprobado que LAMP y sus componentes están instalados correctamente y funcionando, ahora por ultimo llego la hora de comprobar el ultimo programa previamente instalado, el cual es "OpenSSH server" como les mencione en la parte de la instalación de ubuntu server 12.04, este programa nos ayudara entrar a nuestro server mediante consola, OJO no controlaremos el server como lo hacen los programas de control remoto, si no que nos mostrara o proporcionara un medio en una ventana de consola, todo como si se estuviese configurando desde el mismo servidor, es decir que si hacemos un "ifconfig" nos mostrara los detalles del server como si estuviésemos desde el mismo servidor. Se puede acceder desde otra PC sin importar el sistema operativo, solo que de diferente manera obviamente, aquí les mostrare una manera, la cual es desde mi lap con ubuntu 12.04, para acceder a nuestro server abrimos la consola o terminal desde otra maquina con ubuntu 12.04 instalado.

Ahora debemos escribir respetando la siguiente sintaxis:"ssh nombredeusuario@nombredelamaquinaoIP", ahora sustituimos estos datos con los nuestros en mi caso seria asi: ssh ismael@ubuntu (y damos "ENTER") (Te pedirá contraseña).

Page 31: Montar Un Servidor Web Casero

Bien ahora puedes hacer cualquier tipo de configuración como si estuvieses frente al servidor, hasta aquí hemos comprobado que están instalados y funcionando los programas previamente instalados, ahora pasamos a otra cosa, resulta que nuestra maquina tiene Mysql y funciona perfectamente, pero hoy en día nos estamos acostumbrando bastante a los gráficos, así que te explico una cosa, tu servidor ya tiene mysql es decir tu ya puedes crear,consultar y modificar base de datos, almacenadas en tu servidor, pero quiero agregar una herramienta mas para nuestra base de datos, la cual es un "Manejador de Base de Datos" es decir que nos ayudara a administrar todo lo relacionado con la base de datos, pero de una manera gráfica, así que instalaremos un manejador llamado "Phpmyadmin".

Así que lo instalaremos escribiendo lo siguiente:sudo apt-get install phpmyadmin (y damos "ENTER") 

NOTA: Empezara a correr la instalación y te mostrara el espacio a ocupar al instalarse, dira que si deseas continuar con 2 opciones (S/N) así que presionamos la tecla "S" y damos ENTER.

Page 32: Montar Un Servidor Web Casero

Durante a instalación nos aparecerá toda la pantalla de color rosa, y nos pedirá que servidor web es el que deseamos re-configurar, hemos estado trabajando con Apache así que elegimos esta opción, si te fijas habrá un cuadro de color rojo el cual lo puedes mover hacia arriba y hacia abajo, con las flechas del teclado, ahora te posicionas en la opción deseada y presionas la barra espaciadora (así es, es esa con la que damos espacios cuando estamos escribiendo) y por ultimo damos "ENTER".

Y seguimos con la instalación, ahora nos aparecerá una ventana donde nos dira que si deseamos configurar la base de datos, pero para no complicarnos seleccionamos "No" y damos "ENTER".

Una vez que ya hallas instalado el phpmyadmin ahora haremos una prueba, para saber si funciona, para esto desde otra PC o dispositivo móvil conectado a la misma red local, con cualquier sistema operativo, entras mediante el navegador a la dirección: "http://192.168.1.66/phpmyadmin" o

Page 33: Montar Un Servidor Web Casero

"http://ubuntu/phpmyadmin" y te mostrara un mensaje de bienvenida, abajo te pedirá un usuario y contraseña, OJO el usuario el programa por default lo asigna, el cual tiene el nombre de: "root" mientras la contraseña nosotros se la asignamos, en mi caso yo asigne "123456", así que introducimos los datos y damos clic en "Continuar".

Una vez que entren Phpmyadmin mostrara todo el contenido de nuestras base de datos, así como configuración, ahora podemos decir que ya tenemos nuestro manejado de base de datos, listo y funcionando.

Montar un Servidor Web Casero con Ubuntu Server 12.04 / Parte 6. Servidor FTP

Page 34: Montar Un Servidor Web Casero

Llego la hora de configurar a nuestro servidor web casero con ubuntu server 12.04 como si fuese uno comercial, pero a que me refiero con esto?, bien pues aquellos que ya han comprado algún hosting, les dan una dirección, con un usuario y una contraseña, para acceder al lugar donde esta montada su pagina web, así que solo subimos nuestros archivos a ese lugar y listo, ya estará funcionando.

Para los que no han comprado o no hallan tenido ya esta experiencia, vamos configurar a nuestro servidor web casero para que con medio de un usuario,contraseña y una dirección podamos acceder al lugar donde esta almacenada nuestra pagina web, créanme con esto ya no necesitaran estar en el lugar donde esta su servidor, es decir desde cualquier lugar del mundo por medio de Internet podrán acceder a nuestro servidor casero (obviamente conectado a Internet) para hacer modificaciones o agregar contenido.

Ahora para hacer todo esto solo necesitamos instalar un programa que dará a nuestro servidor esa habilidad, para ello basta con escribir lo siguiente:

sudo apt-get install proftpd (y damos ENTER)

Nos advertirá que se van a instalar ciertos paquetes, así que presionamos la tecla "S" para confirmar y damos "ENTER".

Page 35: Montar Un Servidor Web Casero

Siguiendo con la instalación, después de un momento nos aparecerá una ventana, donde nos pedirá el modo de ejecución de nuestro proftpd, nosotros seleccionaremos Independiente y damos "ENTER".

Una vez que se halla instalado, ahora tenemos que modificar un archivo llamado "proftpd.conf" ubicado en "/etc/proftpd/", así que escribiremos:sudo nano /etc/proftpd/proftpd.conf (y damos "ENTER")

NOTA: nos iremos al final de las lineas apoyándonos con las flechas de nuestro teclado y escribiremos:

DefaultRoot /var/www

Page 36: Montar Un Servidor Web Casero

Ya que escribamos esa linea, presionamos la tecla "F2" para guardar los cambios, nos aparecerá un mensaje de confirmación, presionamos la tecla "S" y damos "ENTER".

Esta configuración nos servirá, para que cuando entremos desde un programa FTP nos mande directamente a la ubicación "/var/www" que es donde esta la ubicación de nuestra pagina web a montar.

Ya estamos casi listos para poder entrar a nuestro server mediante un programa FTP, digo casi listo porque nos falta algo importante, la carpeta llamada "www" (que es donde se almacena la pagina web) esta protegida para que no sea modificada por otros usuarios, incluso para que no sea modificada ni por nosotros (siendo los propietarios), así que tenemos que asignarle ciertos permisos para modificarla, para esto escribimos:

sudo chmod 777 /var/www/ -R (y damos "ENTER")

Ahora podremos crear,eliminar y modificar los archivos que contenga esta carpeta.

Page 37: Montar Un Servidor Web Casero

Ahora tenemos que reiniciar la maquina, para esto escribimos:

sudo reboot (y damos ENTER)

Una vez reiniciada la maquina, ya podremos acceder a esta, desde un programa FTP para subir y bajar los archivos de lo que sera nuestra pagina web.

Desde otra PC, 

Descargamos un programa llamado "Filezilla" créanme este es muy bueno, no he encontrado otro mejor, y deja tu lo bueno, es open source!, así que podremos encontrárnoslo para la mayoría de los sistemas operativos mas usados (Linux,Mac,Windows).

Como instalar Filezilla en Windows XP clic aquí para ir al manual.

Como instalar Filezilla en Ubuntu 12.04 clic aquí para ir al manual.

Una vez que hallas instalado Filezilla en la PC, abrimos el programa, una de las cosas que nos ayudara por esta ocacion es que la interfaz es idéntica a todas, es decir independientemente del sistema operativo que sea, el parecido es muy similar.

Ahora para conectarnos a nuestro server, colocamos en el filezilla los datos correspondientes, es decir dirección o nombre de la maquina, usuario y contraseña. En mi caso los datos serán:

Dirección: 192.178.1.75 o Nombre del server: ubuntuUsuario: ismael

Page 38: Montar Un Servidor Web Casero

Contraseña: 1234567

Una vez que hallamos colocado los datos, en sus respectivos lugares, damos clic en "Conexión Rápida".

Como viste la conexión por medio del programa FTP fue exitosa, así que solo es cuestión de arrastrar los archivos al sitio remoto y listo, el programa se encargara de montar los archivos.

Si quieres saber mas a detalle acerca de Como montar una pagina web con Filezilla, da clic aquí

Pues ya es todo en cuanto a la configuración FTP de nuestro servidor web casero...

Montar un Servidor Web Casero con Ubuntu Server 12.04 / Parte 7. Dominios

Bien llego la hora crear la dirección con la cual las personas podrán entrar a nuestro servidor web desde cualquier parte del mundo, para esto primero les comento algo.

Yo vivo en mexico (en nayarit para ser exacto), mi proveedor de Internet es telmex, ellos te dan un módem y tu te conectas mediante este, pero una de las cosas es que, el módem tiene una IP publica, esta IP nos representa a nivel mundial, puesto que es una dirección única, otro detalles es que cada que apagamos el módem, este nos da otra IP, lo cual podríamos decir que nuestra IP es dinámica puesto que esta cambiando constantemente, regularmente los nombre de dominios tienen una IP equivalente, esto es como el equivalente a un directorio telefónico, es decir cuando quieres llamar a Juan Perez, vas al directorio, buscas a la persona y sacas el numero de teléfono y llamas, así es con los nombres de dominio, colocas en el navegador web: "www.nombredeldominio.com" este busca la ip y te dice la dirección. Pero como les decía que nuestra IP es dinámica (es decir que cambia constantemente), puede haber un fallo con nuestro servidor, puesto que la IP esta cambiando constantemente, para eso vamos a servirnos de una empresa donde su especialidad es el cambio deDNS. Así que esta pagina, mediante un software estará actualizando la IP de

Page 39: Montar Un Servidor Web Casero

nuestro servidor aunque este en constante cambio, así que las personas podrán entrar sin problemas, puesto que si esta cambia enviara la nueva ip a la pagina.

Ahora comencemos primero, deben registrarse en la pagina www.noip.com y deben obtener los siguientes datos:

Email (este sera el usuario)

Contrasena

Nombre del Host (nombre con el cual los usuarios nos encontraran).

Manual para registrarse en no-ip clic aquí.

Bien ahora tenemos que instalar no-ip en ubuntu server 12.04, aquel programa que estará sincronizando nuestra IP publica con nuestro servidor DNS (de no-ip). Escribimos lo siguiente:

sudo apt-get install no-ip (y damos ENTER)

NOTA: Si haz llevado este manual al pie de la letra, lo mas probable es que les muestre un error, con un mensaje de que no se ha podido localizar el paquete de no-ip, claro esta que es porque en ubuntu server 12.04 no-ipfue eliminado de los repositorios.

Para saber mas acerca de los repositorios de ubuntu server 12.04 da clic aquí.

Era importante así que tenia que mostrárselos con hechos, así que aquí les tengo la solución, así que no se preocupen, haremos la instalación de no-ip un tanto de manera manual, así que escribimos:

sudo wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz  (y damos ENTER)

Page 40: Montar Un Servidor Web Casero

Si les aparece como en la imagen de arriba, el archivo de descargo exitosamente, no pesa muchos KB's, la descarga es rápida, ahora ya tenemos no-ip, ahora nos toca descomprimirlo, puesto que esta en un archivo ".gz", ahora escribimos:

sudo tar xzf noip-duc-linux.tar.gz (y damos ENTER)

Una vez descomprimido, lo que nos descomprimirá es una carpeta con el nombre: "noip-2.1.9-1", así que tenemos que entrar a dicha carpeta, para esto, escribimos:

cd noip-2.1.9-1 (y damos ENTER)

Ahora tenemos que instalar un compilador, en esta ocacion utilizare uno llamado gcc (GNU Compiler Colletion ), puesto que no-ip es libre, con este compilador se generara el programa, para que lo pueda entender nuestra PC, pero primero tenemos que descargarlo e instalarlo, para esto escribimos:

sudo apt-get install gcc (y damos ENTER)

Nota: nos dará los detalles de la instalación y el espacio a ocupar una vez instalado, nos preguntara si deseamos continuar, así que presionamos la tecla "S" y damos ENTER.

Page 41: Montar Un Servidor Web Casero

Después de ejecutar varias lineas de comando, se terminara de instalar, ahora ya tenemos instalado el gcc, lo que sigue es compilar dicha instalación  pero para esto, primero necesitamos ciertos privilegios, de superusuario, aquí un simple "sudo" no basta, así que escribiremos lo siguiente:

sudo su (y damos ENTER)

Nota: notaras que cuando entres a modo de superusuario cambiara el signo de precio "$" por un signo de gato "#".

Ahora que tenemos los privilegios suficientes para compilar el archivo, pero antes nos falta una herramienta importante para compilar, llamada "make" asi que vamos a instalarla escribiendo:apt-get install make (y damos ENTER)

Page 42: Montar Un Servidor Web Casero

Una vez instalado, estamos listo par compilar, para esto solo tenemos que escribir:

make install (y damos ENTER)

Nota: Nos pedirá el email, aquel con el que nos registramos en www.noip.com, lo introducimos y damos "ENTER".

Ahora nos pedirá la contraseña, aquella con la que nos registramos en la pagina de no-ip, así que

Page 43: Montar Un Servidor Web Casero

la colocamos y damos "ENTER".

Ahora nos nos dira el intervalo en el que vamos a querer que nuestro servidor actualice la ip con no-ip, por default nos aparece "30" lo que significa que cada 30 minutos, en lo personal 30 es un buen numero (ustedes pueden colocar el numero que ustedes quieran) y damos "ENTER".

Ahora nos pregunta que si deseamos correr algo cuando actualice nuestra IP, nosotros seleccionaremos "N". Y listo sera todo.

Page 44: Montar Un Servidor Web Casero

Ahora ya tenemos nuestro nuestro servidor DNS automático, lo que significa que cuando cambie,pasen los 30 minutos o iniciemos nuestro servidor, automáticamente enviara nuestra IP publica a una base de datos DNS y así siempre podrán encontrar a tu servidor web casero.

Ahora bien como todo programa que se instala, muy pocas veces estos inician al iniciar nuestro equipo, para esto tenemos que configurar nuestro servidor, para que cuando se reinicie automáticamente ejecute la aplicación de no-ip. Para esto escribimos:

nano /etc/init.d/noip2 (Y damos ENTER)

Nos aparecerá una ventana con el editor de texto nono, así que agregaremos el siguiente texto y guardaremos cambios presionando la tecla "F2",  confirmando con la tecla "S" y dando un ENTER.

Ahora ya hemos creado el archivo, pero es necesario darle permiso de ejecucion, puesto que queremos que se ejecute al iniciar el server, para esto escribimos:

chmod +x /etc/init.d/noip2 (y damos ENTER)

Ahora por ultimo lo agregamos para que este en la lista de los programas que iniciaran cuando inicie el server, para esto escribimos:

Page 45: Montar Un Servidor Web Casero

update-rc.d noip2 defaults (y le damos ENTER)

Ahora nuestro programa se ejecutara automáticamente cada que reiniciemos nuestro server, por ultimo te dejo un comando para comprobar si se esta ejecutando o no, escribimos:

/usr/local/bin/noip2 -S (y damos ENTER)

Mas comando da clic aquí

Ahora después de esto ya podrás entrar desde la dirección que hallas elegido, es decir por ejemplo:

nombrehost.no-ip.biz (amigos el "no-ip.biz" puede variar, puesto que hay mas terminaciones)

Y automáticamente nos enviara a nuestra IP publica. OJO aquí regularmente y la mayoría de las veces nos enviara al portal de nuestro módem (aparato que nos provee el Internet), en mi caso es telmex y me enviara al portal donde me pide el usuario y contraseña, así que ahora configuraremos nuestro módem para que todas las peticiones sea enviadas directamente a nuestro servidor.

Así que si tu también tienes el servicio de Internet por parte de TELMEX, adelante continuemos, y si no de todos modos, sirve que aprendes a configurar tu módem...

Montar un Servidor Web Casero con Ubuntu Server 12.04 / Parte 8. Configurando DMZ

Page 46: Montar Un Servidor Web Casero

Amigos estamos a un paso de terminar con nuestro server casero, bueno para algunas personas creo que ya terminaron incluso ya entran a su servidor con una dirección web, pero para otros, y para mi también aun falta configurar el módem (puesto que es quien nos provee el Internet), y por default tiene esa IP publica, IP que está relacionada con nuestra dirección, y me refiero a la del servidor web casero.

Bien por ahora les mostrare como configurar un módem de TELMEX modelo Technicolor TG582n 

NOTA: Poco a poco iré subiendo como configurar otros módem  de telmex, y dependiendo de las peticiones de los usuarios, así que puedes ir pidiendo.

Empezamos entrando a nuestro módem, por default en la mayoría (bueno casi en todos) entramos desde un navegador web, con la siguiente dirección: "http:192.168.1.254". Ahora nos pedirá usuario y contraseña  los modem's de telmex vienen configurados por default con un usuario llamado "TELMEX"(en mayúsculas) y la contraseña es la misma con la que nos conectamos a la red.

Una vez que ya hallas entrado, seleccionamos "Herramientas" en el menú que esta del lado izquierdo, te aparecerán 6 opciones, tu selecciona la segunda, que dice: "Uso compartido de juegos y aplicaciones", ahora nos cambiamos a la parte inferior del contenido de la derecha, es la ultima de las opciones que aparecen, dice "Asignar la función DMZ a un dispositivo".

Page 47: Montar Un Servidor Web Casero

Ahora nos mandara al cortafuego, como todos sabemos el cortafuego nos protege de ataques desde el exterior, pero también esta pendiente de las diferentes tipos de peticiones que llegan a nuestro módem, por medio de nuestra IP publica.

Si quieres saber mas acerca de cortafuegos da clic aquí.

Así que este módem tiene una función llamada DMZ que se encarga de asignar una nuestra IP PUBLICA a un dispositivo conectado a nuestra red local (ya sea celular,PC, etc). Por default esta viene deshabilitada por protección, así que escribimos la IP de nuestro servidor, la ip local en mi caso es "http://192.168.1.66" y después damos clic en "Habilitar" y listo.

NOTA: Fíjate que en la parte centro abajo de donde escribimos la IP, yo subraye la IP PUBLICA actual que tengo, pero no podrán a entrar al server, porque lo tengo apagado, y/o ademas apago mi módem, lo que implica que al encenderlo tendré automáticamente otra IP. Ademas puedes verificar si tu ip publica esta registrada con tu dirección de no-ip (Da clic aquí para verificar esto).

Page 48: Montar Un Servidor Web Casero

Prácticamente seria todo, ahora cuando accedas a la dirección de muestro server "http://nombrehost.no-ip.biz", nos mandara a la página que tenemos en nuestro server.

Bien pues ya hemos terminado, si todo lo hiciste al pie del manual lo mas probable es que lo hallas logrado, eres libre de comentar y de preguntar algunas dudas que tengas, incluso de hacer algún aporte, para poco a poco ir perfeccionando este manual.