Como bien ya sabemos, permanentemente aparecen aplicaciones, funciones y "cosas" nuevas en Internet; dentro de esas "cosas nuevas" encontré ownCloud
En pocas palabras, es un servicio de almacenamiento remoto de archivos, personal. Es decir, lo instalamos sobre un servidor y tenemos listo un servidor de archivos, multiusuario y con múltiples funcionalidades :) Acá y acá hay unos breves listados de las características del servicio.
Así es que me dispuse a instalarlo y configurarlo. Tengo una vieja PC, que no puede correr de manera fluida alguna interfaz gráfica moderna y llena de funciones, de modo que la utilizo como servidor en mi LAN. En esa PC tengo Debian 6 (no puedo instalar Ubuntu Server porque tiene sólo 160 Mb de RAM) y sobre él he trabajado.
El paquete "owncloud" no está disponible en los repositorios de Debian, de modo que hay que instalar primero las dependencias y luego la aplicación en sí misma. Tal como indica la documentación, owncloud depende de Apache, Mysql y php; instalando los siguientes paquetes se satisfacen las dependencias:
apache2-utils
apache2.2-bin
apache2.2-common
libapache2-mod-php5
libdbd-mysql-perl
libmysqlclient16
mysql-client-5.1
mysql-common
mysql-server
mysql-server-5.1
mysql-server-core-5.1
php5-mysql
php5-cli
php5-common
Estos se pueden instalar con aptitude o con la herramienta que más nos guste :)
Bien, tenemos el sistema con todo "lo previo" ya listo. Ahora descargamos owncloud. Podemos hacerlo de varias maneras, la general es por consola ;) Parados en un directorio temporario, como root, corremos lo siguiente:
# wget http://owncloud.org/releases/owncloud-2.0.1.tar.bz2
Esto descarga la versión 2.0.1 de la aplicación (la versión estable al día de hoy); conforme transcurra el tiempo, habrá que modificar ese comando hacia las siguientes versiones.
Luego descomprimimos el archivo:
# tar -xvf owncloud-2.0.1.tar.bz2
Ahora marco una diferencia con los tutoriales que hay por ahí. Por una cuestión de comodidad (y de gusto personal ;) ), el servicio owncloud lo he configurado como un host virtual sobre el Apache que tengo en esa PC, de modo que voy a detallar los pasos que yo he seguido, los cuales difieren de los que están en la documentación. El vhost que usaré para este servicio se llama "minube.com.ar" :)
Una vez descomprimido el archivo, movemos el contenido al árbol de directorios de Apache, así (parados en el directorio en el que descomprimimos antes):
# mv owncloud/ /var/www/minube.com.ar
Con esto se nos habrá creado el directorio /var/www/minube.com.ar y contendrá todos los archivos propios de la aplicación.
Colocamos el usuario correcto para ese directorio:
# chown -R www-data:www-data minube.com.ar/
Ahora vamos a configurar Apache. Entramos a /etc/apache2/sites-available y creamos un archivo con la estructura básica del vhost:
# cp default minube.com.ar
Abrimos el archivo recién creado (con nano, vi o el editor que nos guste) y nos aseguramos que posea los siguientes datos:
ServerAdmin webmaster@localhost
ServerName IP_privada_del_server
DocumentRoot /var/www/minube.com.ar
ServerAlias minube.com.ar
ServerAlias www.minube.com.ar
El resto del archivo no lo tocamos, queda tal cual fue creado por Apache.
Ahora habilitamos en Apache el vhost creado. Parados en el mismo directorio (si no salimos, estamos ahí ;) ), corremos:
# a2ensite minube.com.ar
Luego reiniciamos Apache con
# apache2ctl restart
Podemos verificar que todo esté según lo esperado consultando el status de Apache con
# apache2ctl -S
Ahí nos va a aparecer el vhost recién creado. Listo con Apache!
Por último, tenemos que "decirle" a nuestro sistema que "minube.com.ar" está ubicado en un servidor de nuestra LAN, y no en Internet. Para eso, editamos el archivo /etc/hosts y le agregamos una línea así:
IP_privada_del_server_que_aloja_owncloud minube.com.ar
OJO! Esta modificación hay que hacerla en cada una de las PCs que se van a conectar al server, no en el server mismo!
Todo listo! En una PC cliente abrimos Firefox (o el browser que más nos gusta) y escribimos "http://minube.com.ar/" en la barra de dirección (sin comillas). Nos va a recibir una ventana en la que nos pide un usuario y clave para el administrador del sistema, así como un nombre de una base de datos y un usuario y clave para mysql. Completamos todo, aceptamos y queda listo nuestro servidor de archivos :)
Una vez dentro del sistema, en la esquina inferior izquierda veremos un pequeño ícono de un engranaje; pulsamos y se nos abre un menú. Ahí podemos crear los usuarios que querramos para nuestro servicio. Como sugerencia de seguridad, conviene no utilizar el usuario administrador para guardar archivos, sino más bien crear un usuario común, sin privilegios, y usar ése.
Por último, el acceso al servicio usando webDAV. Abrimos Nautilus (siempre en una PC cliente, claro!), vamos a "Archivos > Conectar con el servidor..." y ahí colocamos los siguientes datos:
Servidor: minube.com.ar
Tipo: webDAV (http)
Carpeta: /files/webdav.php
Nombre de usuario: el usuario sin privilegios que hemos creado antes
Contraseña: la clave ;)
Listo! Aceptamos y podremos ver desde Nautilus el espacio que tenemos asignado en el servidor. Podemos crear un marcador, para acceder más rápido :)
Queda un poco de configuración fina del servicio, por ejemplo, ampliar la cuota de disco disponible para el servicio y permitir subir archivos "grandes", ya que los valores que Apache tiene por defecto son relativamente pequeños. Pero éstas son "tareas para el hogar" de los interesados :) Y se aceptan sugerencias, claro!
Disfrutemos del Soft Libre y (todavía) de una Internet libre también ;)
Documentación y referencias:
http://www.debian-tutorials.com/general/create-your-own-cloud-server-on-debian-squeeze
http://www.webupd8.org/2011/10/owncloud-2-your-personal-cloud-server.html
http://owncloud.org/install/advanced/
http://owncloud.org/install/

2 comentarios:
Hola buen tutorial, pero sabes tengo un problema, resulta que ingreso con un usuario x pero si ingreso con otro el primero se deslogea, nose que puede ser.
saludos.
El tutorial es un poco pobre y no esta demasiado bien estructurado, también te faltan detalles como por ejemplo varias dependencias:
Hard dependencies:
php5 (>= 5.3)
php5-json
php-xml
php-mbstring
php5-zip
php5-gd
Soft dependencies:
php5-sqlite (>= 3)
curl
libcurl3
libcurl3-dev
php5-curl
No obstante, te animo a seguir escribiendo. La practica hace al maestro :)
Publicar un comentario