Blog.ikhuerta.com-Tutorial EC2 Configurando Nuestra Primera Web en 10 Pasos

4
blog.ikhuerta.com http://blog.ikhuerta.com/tutorial-ec2-configurando-nuestra-primera-web-en-10-pasos Iñaki Huerta Tutorial EC2, configurando nuestra primera web en 10 pasos Lo primero de todo es crear un usuario en Amazon AWS. Nos daremos de alta en la Capa de Uso gratuito de Amazon, que nos permitirá usar cada mes durante un año: una instancia micro (lo más pequeño que hay), 1 EBS de 10GB, 5GB de S3, 30GB de transferencia de datos con CloudFront, 25h de SimpleDB y 1000 notificaciones. Para probar si nos gusta o no, es suficiente. Seguidamente montaremos nuestra primera instancia. Para que no nos repercuta en coste alguno es importante que: 1) No usemos instancias ni Windows ni SUSE. 2) Creemos solo una instancia y del tamaño más pequeño: Micro. Cuidado ahí ya que al elegir algunas AMI's no te permite ese tamaño. En este video vemos una gran explicación paso a paso. Mis felicitaciones al autor. Realmente merece la pena pasar los 15 minutos que dura atentos al video. Resumiendo sus pasos y añadiendo unos cuantos extra de cosecha propia: 1º- Simplemente clickamos en crear una nueva instancia. 2º- Seleccionamos la ISO a partir de la cual montarla. El video nos enseña como usar el "Community AMIs" y la importancia de que la ISO sea del tipo "EBS". Luego en la práctica las ISOs de la web que el propone no van. Igualmente estoy de acuerdo en que Ubuntu es más fácil que las ISOs de Amazon, pero eso va a gustos. 3º- Creamos nuestras "KEY Pair" para poder acceder a la maquina virtual por SSH y la guardamos bajo llave (o en DropBox, donde nunca se pierde nada) 4º- Creamos un grupo en donde habilitar que reglas aplicar al firewall. Ahi dejamos abierto al menos HTTP y SSH (ya abriremos más si lo necesitamos). 5º- Lanzamos la instancia. 6º- Miramos los atributos de nuestra nueva AMI -clickando encima se muestran abajo sus datos- y copiamos la DNS Pública. 7º- Pasamos a conectarnos al servidor por SSH. Aquí todo es muy bonito si trabajas con Linux pero si trabajas con windows hay que hacer más cosas: Lo primero es bajarse (si no lo tenemos ya) PuTTY y PuTTYgen . Luego deberemos transformar la Key de Amazon en una que PuTTY entienda. Para eso usaremos PuTTYgeen. Por ultimo nos conectaremos a la DNS Publica que hemos copiad con PuTTY pero indicando en la configuracion de SSH>>AUTH la clave que hemos generado.

Transcript of Blog.ikhuerta.com-Tutorial EC2 Configurando Nuestra Primera Web en 10 Pasos

Page 1: Blog.ikhuerta.com-Tutorial EC2 Configurando Nuestra Primera Web en 10 Pasos

blog.ikhuerta.com http://blog.ikhuerta.com/tutorial-ec2-configurando-nuestra-primera-web-en-10-pasos

IñakiHuerta

Tutorial EC2, configurando nuestra primera web en 10 pasos

Lo primero de todo es crear un usuario en Amazon AWS. Nos daremos de alta en la Capa de Uso gratuito deAmazon, que nos permitirá usar cada mes durante un año: una instancia micro (lo más pequeño que hay), 1 EBS de10GB, 5GB de S3, 30GB de transferencia de datos con CloudFront, 25h de SimpleDB y 1000 notificaciones. Paraprobar si nos gusta o no, es suficiente.

Seguidamente montaremos nuestra primera instancia. Para que no nos repercuta en coste alguno es importanteque:

1) No usemos instancias ni Windows ni SUSE.

2) Creemos solo una instancia y del tamaño más pequeño: Micro. Cuidado ahí ya que al elegir algunas AMI's no tepermite ese tamaño.

En este video vemos una gran explicación paso a paso.

Mis felicitaciones al autor. Realmente merece la pena pasar los 15 minutos que dura atentos al video.

Resumiendo sus pasos y añadiendo unos cuantos extra de cosecha propia:

1º- Simplemente clickamos en crear una nueva instancia.

2º- Seleccionamos la ISO a partir de la cual montarla. El video nos enseña como usar el "Community AMIs" y laimportancia de que la ISO sea del tipo "EBS". Luego en la práctica las ISOs de la web que el propone no van.Igualmente estoy de acuerdo en que Ubuntu es más fácil que las ISOs de Amazon, pero eso va a gustos.

3º- Creamos nuestras "KEY Pair" para poder acceder a la maquina virtual por SSH y la guardamos bajo llave (o enDropBox, donde nunca se pierde nada)

4º- Creamos un grupo en donde habilitar que reglas aplicar al firewall. Ahi dejamos abierto al menos HTTP y SSH(ya abriremos más si lo necesitamos).

5º- Lanzamos la instancia.

6º- Miramos los atributos de nuestra nueva AMI -clickando encima se muestran abajo sus datos- y copiamos la DNSPública.

7º- Pasamos a conectarnos al servidor por SSH.

Aquí todo es muy bonito si trabajas con Linux pero si trabajas con windows hay que hacer más cosas:

Lo primero es bajarse (si no lo tenemos ya) PuTTY y PuTTYgen.

Luego deberemos transformar la Key de Amazon en una que PuTTY entienda. Para eso usaremos PuTTYgeen.

Por ultimo nos conectaremos a la DNS Publica que hemos copiad con PuTTY pero indicando en la configuracion deSSH>>AUTH la clave que hemos generado.

Page 2: Blog.ikhuerta.com-Tutorial EC2 Configurando Nuestra Primera Web en 10 Pasos

Tenemos aquí un tutorial de como hacer este proceso.

Por cierto, en muchas AMIs nos deberemos logar como root (en el video no sale) y cuando asignemos una IP serámejor entrar mediante la IP y no mediante la DNS Pública.

8º- Una vez dentro de nuestra maquina actualizamos paquetes e instalamos lo que necesitemos para montarnuestro servidor LAMP:

sudo aptitude updatesudo aptitude upgradesudo tasksel

Yo, yo aparte, me manejo mejor con "Midnight Commander" para editar archivos de texto con lo que también loinstale... Aquí cada uno como vea.

sudo aptitude install mc# o bien# sudo apt-get install mc

Y para terminar y por si no todo es tan directo como en el video acordarse de iniciar apache y mysql (por si novienen iniciados)

service mysql start# o bien...# sudo /etc/init.d/apache2 start

Terminamos cargando nuestra PublicDNS en el navegador y cargamos la página por defecto de nuestro server(seguramente será "/var/www/index.html"). Ya tenemos la primera prueba de que el servidor existe.

9º- Ahora tenemos que crear una IP para este server, de forma que podamos apuntarle los dominios.

Entramos desde el panel en el área de "Elasitc IP" (que deberemos tener marcado a 0 porque aun no hemos creadoninguna). Y ahi le damos a "Allocate New Adress" para pedir una IP y seguidamente a "Associate" para asociarla anuestra instancia. Ya está, ya tenemos IP propia.

Las IPs Elasticas no tienen coste siempre y cuando las estemos usando asociadas a una instancia (asi que cuidadocon desasociarla).

Hay que recordar pasar a conectarnos a la IP en vez de a la DNS Pública. No hace falta quitar la conexión actual,pero para las siguientes hay que tenerlo en cuenta.

10º- Y ahora, para poder subir nuestra web, ya solo nos falta crear un FTP y abrir su puerto en la configuracion denuestro grupo.

Lo primero es instalar algún FTP:

sudo aptitude install vsftpd# o bien# sudo apt-get install vsftpd

Y a partir de ahi configuramos algunas opciones. Tenemos que encontrar en nuestra instalación el archivovsftpd.conf que puede (dependiendo de versiones) estar en "/etc/vsftpd.conf" o en "/etc/vsftpd/vsftpd.conf".

Lo editamos con nuestro editor de texto habitual. Como decía yo uso "Midnight Commander" con lo que en mi caso

Page 3: Blog.ikhuerta.com-Tutorial EC2 Configurando Nuestra Primera Web en 10 Pasos

simplemente lo inicio desde la carpeta correcta y edito...

cd /etc/sudo mc vsftpd.conf

Cambiamos los siguientes valores:

anonymous_enable=NOlocal_enable=YESwrite_enable=YESanon_upload_enable=YES

Una vez hecho esto ya podemos lanzar el servicio (o reiniciarlo).

service vsftpd start# o bien...# service vsftpd restart# o ...# /etc/init.d/vsftpd restart

Puedes leer todos estos pasos que hemos dado en el siguiente tutorial.

Para poder conectarnos al FTP tenemos que habilitar los usuarios. Para ello creamos el grupo "ftpweb" y crearemosel usuario "usuario" y password "password" que vea diractametne la carpeta /var/www que es donde están nuestraswebs.

groupadd ftpwebuseradd -g ftpweb -d /var/www -c "usuario" usuariopasswd usuario

Ahora que ya tenemos el FTP con usuarios podemos probar antes de nada que funciona. Para eso nada mejor queconectarnos mediante nuestra propia instancia (asi vemos que funciona independientemente de los puertosabiertos).

Lanzamos...

ftp localhost 21

Usamos "usuario" y "password" para identificarnos (que es lo que hemos especificado al crear el usuario). Si ellogin es correcto tenemos FTP funcionando en nuestra instancia.

Solo nos queda abrir los puertos en el FireWall de Amazon para poder conectarnos al FTP. Esto lo hacemosentrando, desde el panel de EC2, en "Security Groups" y seleccionando el grupo que le creamos a nuestra AMI(donde dimos de alta HTTP y SSH).

Ahi tenemos que abrir por un lado el puerto 21 que es desde el que se lanza y recibe el FTP y unos cuantos puertosa partir del 1024 para donde se inicia la conexión de datos. Le vamos a dar 24 puertos por lo que abriremos tambiénlos puertos del 1024 al 1048.

Primero creamos 2 reglas nuevas como "Custom" en el panel. Si hemos seguido exactamente este tutorial nosquedará algo como esto:

Connection Method Protocol From Port To Port Source (IP or group)

Page 4: Blog.ikhuerta.com-Tutorial EC2 Configurando Nuestra Primera Web en 10 Pasos

SSH tcp 22 22 0.0.0.0/0

- tcp 21 21 0.0.0.0/0

- tcp 80 80 0.0.0.0/0

HTTP tcp 1024 1048 0.0.0.0/0

Recordad que si os conectais siempre desde la misma IP es mejor especificarla al abrirle los puertos.

Por último, solo nos falta decirle al servicio de FTP que solo use esos puertos (1024-1048) para las conexiones yaque por defecto usa muchos más.

Volvemos a editar el archivo de configuración "vsftpd.conf" y le añadimos al final la siguientes lineas deconfiguracion:

pasv_enable=YESpasv_min_port=1024pasv_max_port=1048pasv_address=LA_IP_QUE_HAS_ASIGNADO_A_LA_INSTANCIA

Reseteamos el servicio:

service vsftpd restart# o bien...# /etc/init.d/vsftpd restart

Puedes leer el porque de esta configuracion de puertos aquí

¡A subir la web!

Y ya estamos listos.

Cogemos nuestro cliente de FTP habitual, le informamos de nuestra IP nuestro usuario y nuestro password ylanzamos la conexión. Debería llevarnos a la carpeta "/var/www" donde podemos subir nuestros archivos de la web.

Seguramente también queramos configurar varios vhost distintos pero esto ya entra dentro de la dinamica normalde un servidor ubuntu con lo que no tiene sentido seguir explicandolo en este post.

Espero que a alguien le sea util este tutorial y antes de comentar recordad que no soy experto en sistemas con loque seguramente para dudas puntuales no podré ayudaros.

Posts Relacionados:

1. Tutorial de YQL con Jquery

2. Desarrollando con Facebook, un tutorial de inicio en Facebook

3. Tutorial de inicio en Zoho Reports

4. Tutorial: Transforma tu web en Responsive Design

Comparte este artículo: