30 oct 2015

Servidor de desarrollo en una Raspberry Pi (Parte 1)

Hace ya un tiempo que venia dandole vuelta a la idea de hacerme de una Raspberry Pi lo cual no había sido posible hasta hoy. Durante todo ese tiempo tuve (valga la redundancia) mucho tiempo para idear un posible uso practico y sencillo que me ayudara a conocer las posibilidades de una Rasp y he aquí que he decidido montar un servidor basado en GNU-Linux!!

Sí, lo se nada fuera de lo común.. pero bueno.. por algo había que empezar...

La idea de montar el servidor surge de la necesidad de tener un servidor de desarrollo de bajo costo y bajo consumo eléctrico, en el que, un pequeño equipo de desarrolladores puedan trabajar a la par en uno o varios proyectos. Para ello el servidor debe contar con las siguientes características:
  • Accesible remotamente vía Internet (HTTP y SSH)
  • Servidor web (Apache + PHP)
  • Servidor de Base de Datos (MySQL)
  • Transferencia de Archivos vía FTP
  • Controlador de versiones (git)

Primero que nada hay que entender que la Raspberry Pi no es mas que una computadora, lista para usarse, basta conectar los cables y listo... Claro que antes habra que ponerle una microSD con un sistema operativo basado en ARM para que nuestra mini computadora funcione, piece of cake.

Primero que nada tendremos que descargarnos el archivo *.img (comprimido en un *.zip) desde la pagina oficial. En mi caso opte por Raspbian, una distribución basada en Debian para la Raspberry Pi El paso siguiente depende del sistema operativo y del modo en el que lo queramos hacer:
NOTA: Al intentar descomprimir el archivo usando la Utilidad de Compresión nativa de MacOS obtenía un archivo *.cpgz, investigando un poco, opte por utilizar The Unarchiver.
En GNU-Linux y en Unix (Mac) desde la terminal

Para los valientes que gustan de usar la terminal, primero que nada debemos saber cual es la ruta en la cual se esta montando nuestra microSD, una vez que la conectemos y abramos la terminal tecleamos:

En linux 
df -h
En mac
diskutil list
Los comandos anteriores nos muestran un listado de los dispositivos conectados, si tenemos dudas para identificar cual es el que queremos utilizar podemos correr el comando antes y después de conectar la memoria. El dispositivo deberá tener un nombre como disk o ssd (En Linux o Mac, respectivamente) en el directorio /dev acompañado de un numero. Acto seguido debemos desmontar esa unidad:

En linux 
unmount /dev/ssd#
En mac
diskutil unmountDisk /dev/disk#
Donde el # es el numero que mencionaba anteriormente. Finalmente usaremos el comando dd para copiar el contenido del *.img en la unidad deseada, este comando es el mismo para ambos sistemas operativos:
dd bs=tamaño_bloque if=archivo_imagen of=ruta_destino
Donde bs indica el tamaño de los bloques que al transferir, if y of son la imagen y el directorio de destino. El destino seria la ruta de nuestra unidad previamente montada. Un ejemplo sería:
dd bs=4M if=2015-09-24-raspbian-jessie.img of=/dev/sdd
En este ejemplo estaríamos usando bloques de 4MB, en caso de que el comando nos diera error tendríamos que cambiar 4M por 1M lo cual aumentaría el tiempo de copiado.

Al correr el comando anterior no tendríamos ningún indicador de tiempo restante lo cual hay que tener en cuenta... y ser pacientes... 
Alternativas a la terminal

En caso de no querer usar la consola podemos emplear estas aplicaciones:

Ambas opciones funcionan de la misma manera, conectamos la microSD, la seleccionamos, seleccionamos la imagen y esperamos.

Una vez copiada la imagen en la SD lo que queda por hacer es expulsar la unidad e introducirla en la Raspberry y ahora si.. conectar todo.

En la entrada posterior "Servidor de desarrollo en una Raspberry Pi (Parte 2)" explico las configuraciones básicas que habrá que hacer para que nuestro servidor quede funcionando.

No hay comentarios:

Publicar un comentario