En la primera parte de esta serie, Revisiting Open Source Social Networking Alternatives, presenté una breve descripción de un puñado de plataformas y clientes de redes sociales de código abierto. En esta parte, me sumergiré en una instalación de GNU Social y discutiré lo que creo que será fundamental para competir en un mundo dominado por Facebook / Twitter..
¿Por qué GNU Social?? Sentí que es el sistema más sencillo de instalar y usar. También está escrito en PHP, que creo que es el lenguaje de código abierto más accesible. Si bien se limita a parecer un clon de Twitter, creo que esto ha ayudado a mantener todas sus características básicas y la interfaz de usuario web relativamente limpias. Sin embargo, el sitio web de GNU Social estuvo inactivo durante varios días mientras estaba trabajando en este tutorial; El estado del mundo de la red distribuida de código abierto sigue siendo irregular a veces.
Puede instalar GNU Social en cualquier sistema basado en LAMP. He publicado mi guía genérica para instalar una pila Ubuntu LAMP como referencia.
Inicie sesión en su servidor:
ssh [email protected]
Instale todos los componentes necesarios (también se requieren Curl y Git para este tutorial):
sudo locale-gen es_ES en_US.UTF-8 sudo dpkg-reconfigure locales sudo apt-get update -q sudo apt-get dist-upgrade -y sudo apt-get install -y libra barniz php5 rsync htop emacs23-nox apache2 php5-mysql dtrx mysql-server exim4 sudo apt-get install php5-curl git
Cree un directorio para el sitio y establezca permisos:
mkdir / var / www / social -p chown www-data: www-data / var / www / social cd / var / www / social
Clona el repositorio:
git clone git: //gitorious.org/social/mainline.git .
Inicie sesión en MySQL con su contraseña de base de datos raíz:
mysql -u root -p
Crear una nueva base de datos y establecer permisos:
crear base de datos social; otorgar todos los privilegios en social. * TO "root" @ "localhost" identificado por "-your-pwd-"; privilegios de descarga; salida;
Crea el sitio de Apache:
nano /etc/apache2/sites-available/social.conf
Pegue la siguiente configuración de Apache, adaptada a su servidor:
Nombre del servidor social.tudominio.com DocumentRoot / var / www / social DirectoryIndex index.php AllowOverride All Order Deny, Allow Allow from all
Habilite el sitio, deshabilite el sitio predeterminado y reinicie Apache:
sudo a2ensite social.conf sudo a2dissite 000-default.conf sudo service apache2 reload
También necesitarás configurar algunos directorios para el acceso de escritura:
chmod a + w / var / www / social / avatar / chmod a + w / var / www / social / background / chmod a + w / var / www / social / file /
Para activar cadenas de URL bonitas, tenemos que mover la muestra .htaccess
archivar y habilitar mod_rewrite
:
mv htaccess.sample .htaccess sudo a2enmod rewrite sudo service apache2 restart
Visite la página de instalación e ingrese su nombre y configuración:
http://social.yourdomain.com/install.php
Debería ver algo como esto:
Y:
El procedimiento de instalación tarda hasta un minuto, pero debería ver algo como esto cuando esté completo:
Así es como se ve la página de inicio predeterminada:
Instalemos el tema de código abierto Neo Quitter, que se parece a Twitter:
cd / var / www / social / theme git clon https://github.com/hannesmannerheim/neo-quitter
Edite el archivo de configuración y agregue una entrada para el tema Neo Quitter:
cd / var / www / social sudo nano config.php
Debe tener un aspecto como este:
Pegar en esta línea:
$ config ['site'] ['theme'] = 'neo-quitter';Regrese a la página de inicio y debería verse más como esto:
Empezando con GNU Social
Registro de su cuenta
Es hora de registrarse en su propio sitio de redes sociales:
Una vez que te registres, serás recibido con esta útil página de inicio:
Después de cargar mi avatar, esto es lo que parece publicar una actualización de estado con una foto:
No estoy muy seguro de qué hacer al abrir y cerrar el candado, ya que la privacidad parece estar controlada por el cuadro desplegable.
Aquí está mi página de perfil con mi primera publicación:
Se parece a cualquier red social común que conozcas.?
El pulido y acabado relativos de GNU Social en comparación con las otras redes cubiertas en la primera parte es la razón por la que elegí enfocarme en él para una mayor exploración..
Experimentando con la red federada
A continuación, quería experimentar con las funciones de redes federadas de GNU Social. Salté a Quitter.is, un sitio de GNU Social abierto al público, y seguí el nombre de usuario de la primera persona que encontré allí..
En su propio sitio, debe visitar su página de perfil, luego hacer clic en Siguiendo + Remoto en la columna derecha (no es muy intuitivo):
Para seguir a un usuario remoto, crea una dirección que combina su nombre de usuario remoto con el dominio del sitio de la red remota, por ejemplo. [email protected].
Si bien el rendimiento es relativamente lento (este Quitter está en Islandia), pudimos intercambiar @ respuestas y mi cuenta de GNU Social apareció en la lista de seguidores de Quitter.is. Cuando ingresé al día siguiente, sus actualizaciones aparecieron en mi instalación de GNU Social:
Esto es lo que parecía unas horas más tarde, después de seguir a un par de personas más remotas:
Compitiendo con Facebook y Twitter
El reto basico
Estas son algunas de las cualidades que creo que son importantes para un sistema de redes sociales de código abierto para reunir apoyo popular y adopción:
Además, tantos aspectos de lo que hacen que Facebook y Twitter sean exitosos y dominantes son sutiles o invisibles para nosotros. Solo por ejemplo, aquí hay algunos importantes:
Si bien la naturaleza distribuida de las redes federadas de código abierto puede ayudar a limitar el daño de una falla de un solo nodo, también aumenta la complejidad de resolver los desafíos de rendimiento y administrar la experiencia del usuario, ya que la red interactúa con una variedad de nodos instalados..
Para acelerar la adopción, también puede ser importante para estas redes importar feeds de Twitter (y posiblemente de Facebook). Por ejemplo, si cambia de Twitter a su propia red social, puede ser el primero de su grupo de amigos. Probablemente querrá seguir recibiendo actualizaciones y notificaciones, recibir solicitudes de seguimiento y reflejar las respuestas de la red anterior dentro de su sitio, sin tener que volver a Twitter..
La tecnología actual de la API de Twitter (User Streams) admite esto como una posibilidad técnica para usuarios individuales, pero requiere su permiso para ser compatible con un grupo de usuarios (Site Streams). Consulte Creación con la API de Twitter (Tuts +). Supongo que es poco probable que Twitter otorgue permiso a Site Stream para este tipo de interoperabilidad.
GNU Social hace mucho bien, pero deja un margen significativo para mejorar. Hace un buen trabajo manteniendo el conjunto de funciones estrecho e implementando bien los conceptos básicos.
La instalación de la base de código podría mejorarse aún más. Idealmente, debería haber paquetes que puedan instalarse más rápidamente. Eventualmente, me gustaría ver una guía de instalación y mantenimiento para usuarios no técnicos.
Existen numerosas redes donde puede registrarse para obtener una cuenta gratuita y probar la plataforma. En el futuro, sería bueno ver que los proveedores se ofrezcan para instalar y mantener las redes para las personas que pagan..
Si bien el código base está limpio, no está usando claramente un marco estándar.
GNU Social puede ser operado para usuarios individuales o como una comunidad. El soporte para OStatus parece funcionar bien. Y hay soporte para temas..
La interfaz de publicación está limpia pero no ofrece ninguna búsqueda de URL. No parece haber soporte para las metaetiquetas, las etiquetas Open Graph o las tarjetas de Twitter.
La experiencia del usuario final es relativamente simple, pero aún puede mejorarse. Por ejemplo, seguir a los usuarios remotos no fue sencillo desde la línea de tiempo del hogar. Tuve que navegar a mi página de perfil para seguir a usuarios remotos.
El rendimiento fue doloroso a la hora de conectarse a redes remotas, posiblemente porque estaba conectado a un servidor basado en Islandia. Probablemente es importante que todas estas operaciones se pongan en cola como tareas en segundo plano..
No hay mucha madurez en la creación de reflejos en Twitter y Facebook, copias de seguridad y análisis, pero esto puede venir con el tiempo..
GNU Social se encuentra en un lugar donde los entusiastas de PHP podrían adoptarlo, lanzar sus propios sitios y contribuir al código base. También siento que el equipo de código abierto detrás de GNU Social podría hacer un gran progreso al mantener el conjunto de características limitado y centrarse en pulir lo que tienen. La entrega de una base de código super sólida, bien diseñada y bien documentada que pueda recrear a Twitter de manera federada sería un logro significativo, y están en camino de lograrlo.
Si bien GNU Social está diseñado para soportar OStatus, hay un grupo de trabajo activo en el W3C Social Web Working Group; Puedes seguir su trabajo en Twitter @socialwebwg.
Por favor, siéntase libre de publicar sus preguntas y comentarios a continuación. Este es un área temática amplia y estoy seguro de que hay muchas cosas que me he perdido. También puedes contactarme en Twitter @reifman o enviarme un correo electrónico directamente. Sigue la página de mi instructor Tuts + para ver los futuros artículos de esta serie.