ownCloud

  • Recientemente me tocó actualizar mi viejo servidor ownCloud, el cual se encontraba en fase de desarrollo y finalmente pasó a producción. El problema fue que durante ese lapso, ownCloud liberó dos major releases (versiones que no son meramente revisiones, o correcciones de bugs y vulnerabilidades, sino que incorporan cambios substanciales), y lamentablente ownCloud no permite saltearse major releases al momento de actualizar. Por ende se debe actualizar una a una todas las major releases hasta llegar a la versión estable actual.

  • ownCloud es una aplicación libre que permite el almacenamiento en línea y cloud computing. Puede ser instalado en cualquier servidor que disponga de una versión reciente de PHP (mayor o igual a 5.3) y soporte de SQLite (base de datos por defecto), MySQL o PostgreSQL. Es una especie de reemplazo libre para Dropbox, pero que requiere de un servidor propio.

    ownCloud no posee un paquete para instalar el cliente en CentOS 7 (sí para CentOS 6), así que en este artículo voy a explicar cómo compilar el cliente ownCloud desde los fuentes. He utilizado CentOS 7 como ejemplo, pero el procedimiento es el mismo para cualquier distribución GNU/Linux.

  • Los recientes artículos dedicados a FreeBSD publicados en este blog, fueron una suerte de preámbulo para llegar al objetivo final: implementar una nube personal utilizando ownCloud sobre un servidor FreeBSD con las siguientes características: Nginx como servidor HTTP; PHP-FPM como servidor de aplicación (PHP en modo FastCGI); Postgres como motor de bases de datos; y ZFS como sistema de archivos. Una combinación muy ambiciosa que, a pesar de no estar soportada oficialmente por ownCloud, pretende utilizar la mejor alternativa disponible para implementar cada componente, con el fin de alcanzar la máxima eficiencia y rendimiento posible. En términos futboleros sería una especie de "selección", poner el mejor jugador disponible para cada posición: ownCloud+FreeBSD+Nginx+PHP-FPM+Postgres+ZFS.

  • En esta oportunidad me tocó instalar un servidor Nextcloud, fork de ownCloud creado por su propio autor, y que mantiene la gran mayoría de los desarrolladores principales del mismo. Nexcloud es un software de gestión de archivos en la nube similar a Dropbox pero open source, lo cual permite implementar nubes privadas instalando el servidor Nexcloud en cualquiera de nuestros sistemas.

    Además de utilizar un servidor Web con Nginx y PHP-FPM, y una base de datos PostgreSQL, lo interesante de este artículo es proveer una configuración que impida el acceso público a los documentos (que no sean navegables a través de HTTP/HTTPS) sino que sólo sea posible acceder a los mismos a través de la aplicación Web.