Paso a paso

Crea tu propio Instagram diseñado a tu medida

Los servicios de gestión de fotografías ofrecen buenas prestaciones, pero a costa de perder el control sobre nuestras imágenes. Por fortuna, OpenPhoto ha llegado para devolvernos las riendas

Javier Pastor Nóbrega

Práctico OpenPhoto

15 enero 2014

Los servicios de gestión de fotografías ofrecen buenas prestaciones, pero a costa de perder el control sobre nuestras imágenes. Por fortuna, OpenPhoto ha llegado para devolvernos las riendas.

El popular Instagram no está libre de críticas, especialmente tras el cambio en los términos de uso del servicio que provocó la búsqueda de alternativas. Entre ellas, destaca OpenPhoto, una plataforma Open Sour­ce para almacenar, compartir y gestionar nuestras fotos en Internet que permite al usuario mantener el control sobre las mismas. El proyecto ofrece cuentas gratuitas básicas (con un límite de 100 fotos al mes) o profesionales (por 20 dólares al año).

Sin embargo, nosotros hemos optado por la opción orientada a los «manitas informáticos» y hemos usado un servicio de hosting con un servidor privado virtual (VPS) instalando todo lo necesario para tener nuestra instancia de OpenPhoto en local, con las fotos almacenadas en el disco duro de ese servidor. Hay otra alternativa: montarlo todo en nuestro servidor y almacenar las fotos en servicios específicos de almacenamiento, como Dropbox o Amazon S3, que luego podríamos conectar con nuestra instancia de OpenPhoto instalada en nuestro servidor de hosting.

1. Requisitos mínimos

Lo único que necesitaremos es un servidor, que podremos contratar a cualquier proveedor de hosting, y un dominio apuntando a ese servidor. Nosotros hemos trabajado con un servidor privado virtual en el que trabajamos con Debian 6 (en modo consola) y con Apache2, y de este modo hemos podido seguir la guía oficial de instalación de la documentación oficial de OpenPhoto.

Como veremos, tendremos que alquilar un dominio o subdominio (en nuestro caso, photo.javipas.com) que apuntará a la IP del servidor en el que instalamos OpenPhoto. Este paso se realiza en el panel de control del registrador de dominios, y presuponemos (no es el objetivo de este artículo explicarlo) que el usuario sabe asignar un dominio a una IP de forma correcta. El procedimiento es sencillo, aunque tendremos que instalar una serie de paquetes y editar algunos ficheros.

Práctico OpenPhoto 1

2. Instala Apache, PHP y MySQL

Con el servidor iniciado y conectados en modo consola, normalmente a través de una conexión SSH, podremos comenzar a ejecutar comandos en el servidor. Para empezar, tendremos que instalar Apache2, MySQL, PHP5 y algunos módulos adicionales. Para ello, desde la terminal ejecutaremos con permisos de superusuario (es decir, por ahora tendremos que estar usando la cuenta root del sistema, aunque usar el comando sudo es otra opción) los siguientes comandos:

apt-get update

apt-get upgrade

apt-get install apache2 php5 libapache2-mod-php5 php5-curl php5-gd php5-mcrypt php-apc php5-mysql build-essential libpcre3-dev php-pear

a2enmod rewrite

Al ejecutar el tercer comando, el asistente de instalación nos pedirá algunos datos adicionales, como la contraseña del administrador del gestor de la base de datos (en este caso, MySQL), algo a lo que deberemos prestar atención puesto que luego nos pedirá esa misma contraseña durante los pasos finales de la instalación de OpenPhoto.

Práctico OpenPhoto 2

Aunque los comandos anteriores son críticos, también tendremos que instalar algunos paquetes adicionales y habilitar tres módulos en Apache (con el comando a2enmod) que permiten trabajar con las imágenes en conjunción con Apache y PHP. Para ello, ejecutamos estos otros comandos, de nuevo como usuario root:

apt-get install php5-dev php5-imagick exiftran

pecl install oauth

a2enmod deflate

a2enmod expires

a2enmod headers

3. Implanta OpenPhoto

Seguiremos con la descarga e instalación de los ficheros del proyecto OpenPhoto. De nuevo, es necesario lidiar con la consola como superusuarios (root) y crear y modificar los permisos de ciertas carpetas. Para que tengáis claro los elementos con los que trabajamos, estableceremos varios parámetros fijos.

El directorio de instalación estará en /home/pruebas/domains/photo.javipas.com/public_html. El dominio en el que instalaremos OpenPhoto será http://photo.javipas.com. Lo primero es situarnos en el directorio de instalación y, para instalar la última versión de OpenPhoto, haremos uso del repositorio Git, para lo que hay que instalar previamente el paquete git-core con el que podremos «clonar» (descargar) el código del proyecto OpenPhoto:

apt-get install git-core

git clone git://github.com/photo/frontend.git /home/pruebas/domains/photo.javipas.com/public_html/

Práctico OpenPhoto 3

Eso hará que se descarguen los ficheros necesarios, pero ahora tendremos que crear varios directorios y asignar los permisos adecuados a dichos directorios:

mkdir /home/pruebas/domains/photo.javipas.com/public_html/userdata

mkdir /home/pruebas/domains/photo.javipas.com/public_html/src/html/photos

mkdir /home/pruebas/domains/photo.javipas.com/public_html/src/html/assets/cache

chown www-data:www-data /home/pruebas/domains/photo.javipas.com/public_html/src/userdata

chown www-data:www-data /home/pruebas/domains/photo.javipas.com/public_html/src/html/photos

chown www-data:www-data /home/pruebas/domains/photo.javipas.com/public_html/src/html/assets/cache

4. Configura apache

Ahora, será necesario establecer la configuración del servidor web Apache, que se realizará a través de un fichero que tendremos que copiar y luego editar para que todo funcione de la forma debida. Para ello, ejecutamos el siguiente comando:

cp /home/pruebas/domains/photo.javipas.com/public_html/src/configs/openphoto-vhost.conf /etc/apache2/sites-available/openphoto

Con este, copiamos el fichero estándar de configuración de Apache para OpenPhoto (openphoto-vhost.conf) en el directorio con el que Apache trabaja para saber qué webs servimos desde nuestro servidor. Ahora, lo más importante, editar el archivo que acabamos de copiar con nuestro editor de texto preferido para Debian. Nosotros hemos trabajado con emacs.

cd /etc/apache2/sites-available/

emacs openphoto

Práctico OpenPhoto 4

Lo que hará que se muestre el contenido de ese fichero de configuración. Hay que editarlo para establecer la ruta de instalación y el dominio a utilizar. Para que tengáis una referencia, en nuestro caso las primeras líneas (que son las únicas que en realidad hay que modificar), quedarían de la siguiente forma:

<VirtualHost *:80>

DocumentRoot /home/pruebas/domains/photo.javipas.com/public_html/src/html

ServerName photo.javipas.com

RewriteEngine on

RewriteCond %{HTTP_HOST} !^photo.javipas.com$

RewriteRule ^.*$ http://photo.javipas.com [R,L]

<Directory “/home/pruebas/domains/photo.javipas.com/public/html/src/html”>

Order deny,allow

Allow from all

Tras esos cambios, salvamos el archivo y ejecutamos algunos comandos más para que Apache sepa que este será el sitio web con el que queremos trabajar en nuestro servidor:

a2dissite default

a2ensite openphoto

5. Configuración de PHP

También tendremos que modificar la configuración del lenguaje PHP que trabaja de forma conjunta con OpenPhoto y Apache para que todo funcione. En este caso, hay que editar el fichero de configuración de PHP y modificar algunos parámetros:

emacs /etc/php5/apache2/php.ini

En ese fichero hay un gran número de parámetros que se pueden configurar, sin embargo, nosotros solo modificaremos tres y les daremos los siguientes valores:

file_uploads = On

upload_max_filesize = 16M

post_max_size = 16M

Práctico OpenPhoto 5

Además, tendremos que habilitar el uso del mecanismo de autenticación OAuth en el sistema. Para ello, sin cerrar el fichero, buscamos la sección Dynamic Extensions de la configuración, y añadimos lo siguiente:

extension=oauth.so

Tras lo cual ya podemos salvar el fichero y salir. Únicamente resta activar los cambios, algo que podemos hacer a través del comando:

/etc/init.d/apache2 restart

6. Instalación vía web

Ya tenemos todo preparado para completar la instalación y dejar de depender de la consola, ya que el resto del proceso se realizará a través de un asistente web. Para comenzar, tendremos que dirigir nuestro navegador a la dirección del dominio que hemos utilizado para nuestro ejemplo. Hay que recordar que en el Paso 1 establecimos una nueva entrada con el dominio o subdominio y la dirección IP a la que debe apuntar.

Esta modificación de las DNS de nuestro dominio puede tardar, pero lo normal es que esté accesible casi de inmediato. Así, abrimos el navegador y nos dirigimos a http://photo.javipas.com, con lo que un pequeño asistente de instalación nos preguntará la dirección de correo electrónico asociada a la cuenta de usuario, la contraseña y el tema o plantilla que queremos utilizar para OpenPhoto. Luego, pinchamos en Continue to Step 2.

Práctico OpenPhoto 6

7. Módulos básicos

A continuación, nos presentarán tres opciones más de configuración, que hemos elegido conforme a nuestras preferencias iniciales. Hay que seleccionar la librería de imágenes (ImageMagick es probablemente la mejor opción); el gestor de base de datos, que será MySQL, y dónde almacenaremos las fotos, que será en nuestro servidor. Eso hace que tengamos que elegir la opción Local filesystem. Para seguir, hacemos clic en Continue to Step 3.

Práctico OpenPhoto 7

8. Configura la base de datos

En el último paso, tendremos que establecer qué base de datos utilizaremos. Como lo tenemos todo en nuestro servidor, el Host de MySQL es localhost, y, a continuación, introduciremos el usuario de MySQL (root) y la contraseña, que será la que hemos establecido en el Paso 2. En el siguiente campo, tendremos que darle un nombre a nuestra base de datos (openphoto) y, en el siguiente campo, prefijo de tablas, no es necesario indicar nada.

Por último, tendremos que verificar que la configuración de la raíz del sistema de ficheros de nuestra plataforma OpenPhoto y del directorio donde se almacenarán las fotos están bien detectados por el asistente. Ya solo resta pinchar en Complete setup, lo que dejará todo preparado para comenzar a subir fotos.

Práctico OpenPhoto 8

9. Disfruta de OpenPhoto

Nos encontraremos ya con la interfaz habitual de OpenPhoto, en la cual podremos subir fotografías, ver nuestras galerías y álbumes, y gestionar nuestra cuenta. Lo primero que haremos es subir las instantáneas que queramos a nuestro perfil. De hecho, en el primer acceso a nuestra cuenta nos presentará el asistente para hacerlo, y, así, añadir nuevos álbumes en los que clasificarlas. El proceso es sencillo e intuitivo y, a los pocos minutos, nos manejaremos sin problemas con esta plataforma. Esperamos que la disfrutéis.

Práctico OpenPhoto 9

También con aplicaciones para dispositivos iOS y Android

Al igual que ocurre con Instagram, este tipo de servicios tiene más sentido cuando expandimos sus posibilidades al terreno de los dispositivos móviles. El proyecto OpenPhoto anunció una aplicación nativa para iOS (iPhone, iPad y iPod touch) hace meses, y recientemente han hecho lo propio para Android, de modo que las dos grandes plataformas del mercado móvil ya disponen de un cliente propio con el que controlar nuestro sitio web recién creado con OpenPhoto. La aplicación móvil permite en ambos casos gestionar las fotos, descargarlas y subir las nuevas tomadas desde el móvil, algo que haremos desde la pestaña Sync de estos clientes nativos.

Como sucede con la aplicación Instagram, OpenPhoto nos permite tomar fotos directamente (el icono de la cámara está siempre presente en la parte superior derecha) y aplicar diversos filtros creativos tras tomarlas, algo que será de interés para los aficionados a la fotografía. Las capturas son del cliente para Android, pero la interfaz es análoga en el caso de iOS. Podéis encontrar ambas buscando el término OpenPhoto en las respectivas tiendas on-line de cada plataforma.

Práctico OpenPhoto 10

OpenPhoto

  • Características: Servicio web acompañado de aplicación que permite montar un Instagram a la medida en el que el usuario tiene el control absoluto
  • Contacto: The OpenPhoto Project Team
  • Lo mejor: Es Open Source. Potencia de personalización. Clientes disponibles para Android e iOS
  • Lo peor: Pocos filtros por defecto. La sincronización de fotos es algo engorrosa
  • Precio: Gratuito
  • Valoración: 8
  • Calidad /Precio: 8