Uno de los objetivos con los que empezé esta serie de tutoriales es la de montar un servidor web para la red local. Hoy vamos a instalar el servidor Apache y el servicio de compartición de archivos OwnCloud. Este servicio sirve para alojar archivos remotos, al igual que Dropbox, Ubuntu One o Media Fire. La ventaja que tendremos es que podremos conectar un disco duro (o un pen drive) con la capacidad que deseemos, y cuando queramos, nos llevamos el pendrive en el bolsillo o lo conectamos a la raspberry pi para tenerlos disponibles a través de Internet. También configuraremos un servicio de DDNS: no-ip para facilitar el acceso a este servicio web.
Instalando y configurando apache
Lo primero es lo primero: instalar el servidor web Apache y php para poder hacer funcionar los servicios de owncloud.
sudo apt-get install apache2 php5 php5-json php-xml-parser php5-gd php5-sqlite curl libcurl3 libcurl3-dev php5-curl php5-common
Ya que tenemos instalado apache, vamos a configurar algunas cosas básicas. Para ello vamos a necesitar acceder al archivo /etc/apache2/sites-available/default . Si nos basta con nano, integrado en la consola, pues nada, y si no: «sudo apt-get install geany». Bueno abrimos el archivo y borramos lo que existe, o mejor aún, hacemos una copia por si acaso lo necesitamos en más tiempo. Añadimos esto y explicaré que significa:
<VirtualHost *:80> DocumentRoot "/home/pi/www" ServerName 192.168.1.18 </VirtualHost>
La primera y la útlima línea sirven para delimitar las condiciones y parámetros que necesita un host para funcionar. La segunda línea dice que los archivos del servidor se encuentran en «/home/pi/www». El ServerName lo usaremos principalmente para poner en funcionamiento algún servicio de no-ip.org.
El ServerName va a hacer que sólo se desvíen al DocumentRoot las peticiones al servidor que provengan del ServerName que hemos puesto. Es decir, que este host recibirá todas las peticiones que realices poniendo 192.168.1.18 en el navegador, y que si pones otra cosa, por ejemplo «ServerName raspicomp» cuando abras ‘http://raspicomp/’ en el navegador, nos debería redirigir a la carpeta especificada en DocumentRoot. Nota: para que esto funcione, debe aparecer correctamente el servidor en /etc/hosts
Instalando y configurando Owncloud
Ahora vamos a descargar e instalar OwnCloud. Este proyecto es libre, por lo que vamos al sitio oficial y descargamos el archivo comprimido. Para hacerlo por la consola, usamos el comando wget. La última versión disponible ha sido la 4.5 aunque este proceso es válido para la 4.0 y espero (o me gustaría) para las siguientes.
wget http://mirrors.owncloud.org/releases/owncloud-4.5.0.tar.bz2
Ahora que tenemos este archivo, lo extraemos en la carpeta que hayamos configurado antes en DocumentRoot, o si no lo hemos tocado la configuración del servidor apache, en /var/www. Cambiaremos también algunos permisos para que el servicio funcione correctamente
tar -xjf owncloud-4.5.0.tar.bz2
sudo chown www-data:www-data owncloud/
Y ya tendríamos nuestro servidor funcionando. Sin embargo, al estar hablando de un ordenador como la raspberry, nos viene bien tener en cuenta poner un pendrive USB para usar como almacenamiento.
Configurando un Pendrive USB para Owncloud
Para haccerlo funcionar debemos editar el archivo /etc/fstab para hacer que se inicie el pendrive solo en la carpeta que queramos. Para ello, debemos introducir una línea al final de estas características, donde la primera fila es la dirección física, la segunda, la dirección de destino, la tercera, el formato de la partición, y el resto lo dejamos igual. Debe estar todo separado por tabulaciones. Si necesitas saber la primera columna, te puedes ayudar del comando «sudo fdisk -l»
/dev/sda1 /media/pendrive ext4 defaults 0 0
Después no tiene mucha complicación, lo único son los permisos que hay que darle para que funcione correctamente. Yo he usado un pendrive vacío y recién formateado y le he dado permisos absolutos a todo el pendrive, y me ha funcionado. Si alguien sabe un método más eficaz, que lo diga en los comentarios. Estuve mucho tiempo probando combinaciones de los permisos para ver si conseguía una buena instalación.
sudo chmod 0777 /media/pendrive
Y por último, para terminar la instalación de owncloud donde queremos, introducimos la dirección de la raspberry en el navegador de internet. Nos pedirá crear el usuario y contraseña para el administrador. Podemos pedir las opciones avanzadas, y poner ahí ‘/media/pendrive’. Si todo ha salido bien, ya tendremos esto funcionando. En la siguiente entrada hablaremos de facilitar las cosas con no-ip.org
Nos vemos 😉