Configura tu Raspberry Pi como un servidor web

Hace tan sólo unos días tuve la necesidad de mostrar una aplicación web en la que estaba trabajando a unos familiares para que me dieran su punto de vista sobre el desarrollo y me comentaran, o más bien me orientaran, hacia donde debía seguir. Para hacer esto la verdad es que no quería tener que comprar espacio a una empresa, ni una dirección web, ni nada por el estilo. Con esto en mente, mi única ‘salvación‘ era montar mi propio servidor con lo poco que tenía en casa y ahí es donde entra en juego la socorrida Raspberry Pi.

Si alguna vez has trabajado desarrollando una aplicación web, seguro que conocerás todos esos programas gratuitos como LAMP, acrónimo de Linux Apache MySQL y PHP, es decir, un programa que con tan sólo instalarlo en tu ordenador Linux podrás ejecutar páginas web HTML dinámicas ya que el mismo te instala todo lo necesario para esto. Como es lógico también tenemos otras versiones para Windows, en este caso WAMP e incluso XAMP para otros sistemas operativos.

Logotipo de LAMP

Cómo configurar una Raspberry Pi para poder utilizarla como servidor web.

En el caso de nuestra Raspberry Pi necesitamos instalar la versión LAMP para que puedas alojar cualquier tipo de aplicación web, página web… o lo que necesites. Para esto, antes de continuar necesitarás una Rasbperry Pi, como era de esperar, una tarjeta de memoria SD de 4 GB de capacidad como mínimo, un adaptador de corriente compatible con el conector MicroB de la Raspberry Pi, un cable de conexión Ethernet, monitor compatible con HDMI y un cable HDMI, un teclado o incluso un ratón aunque este no es necesario.

Antes de seguir adelante lo primero que tenemos que hacer es preparar nuestra Raspberry Pi. En caso de que no lo hayas hecho nunca, comentarte que necesitas que la misma arranque desde una tarjeta SD que debe contener una imagen de disco del sistema operativo que quieres ejecutar.

Una opción para esto es comprar una tarjeta SD que ya esté preparada para instalar y arrancar nuestra Raspberry Pi o dejarla completamente vacía e instalar nosotros mismos todo lo necesario. En mi caso en concreto yo opté por esta última opción. Para preparar la tarjeta necesitamos la imagen del sistema operativo, yo me decanté por Raspbian “Wheezy”. Una vez tenía la ISO utilicé el programa Win32 Disk Image.

Una vez tenemos nuestra tarjeta SD con todo lo necesario tan sólo tenemos que insertarla en nuestra Rasberry Pi y, antes siquiera de arrancar, instalar todos los periféricos que vayamos a utilizar, es decir, tener conectada la pantalla, teclado o el ratón en caso de querer utilizarlo.

Cuando ya está todo listo tan sólo encendemos nuestra Rasbperry Pi y veremos como el sistema nos lista de forma completamente automática toda la información sobre el sistema operativo y los elementos que tenemos conectados. Una realizado todo este trabajo verás la ventana raspi-config donde deberás realizar los siguientes cambios:

  • Expandir la partición raíz para que todo el espacio en la tarjeta SD pueda ser utilizado.
  • Establecer una zona horaria.
  • Habilitar el servidor SSH, esto se encuentra en Opciones Avanzadas.
  • Desactivar el arranque en el escritorio, ya que toda la configuración la realizaremos desde el terminal.
  • Actualizar la Raspberry Pi, esta opción se encuentra dentro de Opciones Avanzadas.
  • Reiniciar tu Raspberry Pi, para eso tan sólo tenemos que escribir Sudo reboot.

Preparando la conexión SSH para conectarnos de forma remota a la Raspberry Pi

Ventana de inicio y configuración de Putty

Llegados a este punto queda comenzar a configurar el SSH. Esto sirve para que puedas trabajar con tu Raspberry Pi desde otro ordenador, es decir, que puedas conectarte de forma remota y subir nuevos ficheros o cambiar la configuración.

Una vez tu Raspberry Pi haya sido configurada en pasos anteriores el sistema te pedirá un usuario y contraseña, debido a que es la primera vez que la arrancamos tendrá los usuarios por defecto, si no los has cambiado, que serán pi y como contraseña raspberry.

En este punto hay que tener en cuenta cómo funciona el propio Linux ya que, a pesar de que estés escribiendo la contraseña no se muestran caracteres de ningún tipo, no te preocupes ya que el texto se está escribiendo.

Justo cuando nos logueamos en el sistema tenemos que escribir:

ifconfig

Gracias a este comando podremos conocer la dirección IP que tiene nuestro controlador. Dentro de la extensa salida tendremos que buscar la línea “inet addr” podremos encontrar un número similar a este: 192.168.1.1. Digo similar ya que seguramente el último 1 sea un número completamente diferente. Este número al completo, en el caso del ejemplo 192.168.1.1, tendremos que copiarlo ya que lo necesitaremos para acceder vía SSH desde otro ordenador.

En este punto tendremos que descargar un cliente SSH, en mi caso yo he apostado por Putty, muy conocido en prácticamente todos los entornos. La dirección IP que copiamos ahora tendremos que copiarla en Putty en el campo “Nombre de host (o dirección IP)”. Justo debajo se te pedirá un nombre de usuario y una contraseña que serán los mismos que utilizamos para acceder a nuestra Raspberry Pi, es decir, pi y raspberry.

Una vez hemos tenido acceso al sistema no es mala idea cambiar la contraseña y actualizar finalmente todo el sistema. Para eso ejecutamos los siguientes comandos pulsando enter tras escribir cada uno:

 


sudo passwd pi
sudo apt-get update
sudo apt-get upgrade

 

Instalamos finalmente LAMP en el sistema

Terminal con comando de instalación para Apache

Finalmente llegamos al punto de instalar LAMP y para eso ejecutamos el siguiente comando:


sudo apt-get install apache2 php5 libapache2-mod-php5

Una vez ejecutado el comando el sistema te pedirá si deseas continuar, tan sólo tienes que escribir y y pulsar enter para continuar. Como detalle comentarte que este proceso de instalación puede tardar unos cuantos minutos. En caso de que durante la instalación puedas tener algún tipo de error, en mi caso no hubo ninguno, ejecuta los siguientes comandos:


sudo groupadd www-data
sudo usermod -g www-data www-data

y reinicia Apache con el comando:


sudo service apache2 restart

Como comprobación final tan sólo tienes que ir a cualquier ordenador que tengas en casa, arrancar un navegador y poner en la barra de direcciones la ip de tu Raspberry Pi donde deberías poder ver un pantalla que pone It works!, esto significa que la instalación ha sido correcta ya Apache está en marcha.

Navegador con mensaje de éxito de Apache

Llega el momento de instalar la base de datos

Ventana de configuración de MySQL

Instalamos lo necesario para acceder a nuestra propia base de datos

Para tener acceso a nuestra propia base de datos tan sólo tenemos que instalar MySQL y para eso ejecutamos el siguiente comando:


sudo apt-get install mysql-server mysql-client php5-mysql

De nuevo nos pedirá si queremos continuar con la instalación y para eso tan sólo tendremos que inscribir y y pulsar enter.

Instalamos el FTP en nuestra Raspberry Pi

configuración del archivo vsftpd.conf

En este paso instalaremos un FTP para poder enviar ficheros desde cualquier ordenador a nuestra Raspberry Pi y desde la propia Raspberry Pi a un ordenador en el que los podamos necesitar. Esto es un proceso tan sencillo como ejecutar unos cuantos comandos como pueden ser:


sudo chown -R pi /var/www

El siguiente comando a ejecutar sería:


sudo apt-get install vsftpd

Una vez todo el proceso ha finalizado tenemos que editar el fichero vsftpd.config y para eso tan sólo tenemos que escribir:


sudo nano /etc/vsftpd.conf

Cuando se abre el editor de ficheros tendremos que cambiarlas siguientes líneas:

anonymous_enable=YES pasa a ser anonymous_enable=NO

descomentar local_enable=YES

descomentar write_enable=YES

en este punto hay que ir al final del fichero y añadir force_dot_files=YES

Como detalle, comentarte que para descomentar las líneas anteriores tan sólo hay que quitar el signo # que tienen delante. Una vez realizados los pasos anteriores hay que pulsar ctrl + X e y para guardar todos los datos modificados. Lo siguiente tan sólo es volver a reiniciar el servicio FTP con el siguiente comando:


sudo service vsftpd restart

Con estos pasos nuestro servidor web ya estaría funcionando perfectamente esperando a recibir los ficheros de nuestra aplicación web para poder visualizarlos directamente desde el navegador.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *