Nella prima parte di questa serie, Revisiting Open Source Social Networking Alternatives, ho fornito una breve panoramica di una manciata di piattaforme e client di social networking open source. In questa parte, mi tufferò in un'installazione di GNU Social e discuterò ciò che ritengo sarà fondamentale per competere in un mondo dominato da Facebook / Twitter.
Perché GNU Social? Ho sentito che è il sistema più semplice da installare e utilizzare. È anche scritto in PHP, che ritengo sia il linguaggio open source più accessibile. Anche se è costretto a sembrare un clone di Twitter, penso che questo abbia contribuito a mantenere tutte le sue funzionalità di base e l'interfaccia utente web relativamente pulite. Tuttavia, il sito web GNU Social era inattivo da diversi giorni mentre stavo lavorando a questo tutorial; a volte lo stato del mondo della rete distribuita open source rimane discutibile.
È possibile installare GNU Social su qualsiasi sistema basato su LAMP. Ho pubblicato la mia guida generica sull'installazione di uno stack LAMP di Ubuntu come riferimento.
Accedi al tuo server:
ssh [email protected]
Installa tutti i componenti richiesti (sono necessari anche Curl e Git per questo tutorial):
sudo local-gen en_US en_US.UTF-8 sudo dpkg-reconfigure locales sudo apt-get update -q sudo apt-get dist-upgrade -y sudo apt-get install -y libbra vernice php5 rsync htop emacs23-nox apache2 php5-mysql dtrx mysql-server exim4 sudo apt-get install php5-curl git
Crea una directory per il sito e imposta le autorizzazioni:
mkdir / var / www / social -p chown www-data: www-data / var / www / social cd / var / www / social
Clona il repository:
git clone git: //gitorious.org/social/mainline.git .
Accedi a MySQL con la password del tuo database di root:
mysql -u root -p
Crea un nuovo database e imposta le autorizzazioni:
creare database social; concedere tutti i privilegi sui social. * TO "root" @ "localhost" identificato da "-your-pwd-"; privilegi di flush; Uscita;
Crea il sito Apache:
nano /etc/apache2/sites-available/social.conf
Incolla nella seguente configurazione di Apache, adattata al tuo server:
ServerName social.yourdomain.com DocumentRoot / var / www / social DirectoryIndex index.php AllowOverride All Order Nega, Consenti Consenti da tutti
Abilitare il sito, disabilitare il sito predefinito e riavviare Apache:
sudo a2ensite social.conf sudo a2dissite 000-default.conf sudo service apache2 reload
Dovrai anche configurare alcune directory per l'accesso in scrittura:
chmod a + w / var / www / social / avatar / chmod a + w / var / www / social / background / chmod a + w / var / www / social / file /
Per attivare le stringhe URL, dobbiamo spostare l'esempio .htaccess
file e abilitare mod_rewrite
:
mv htaccess.sample .htaccess sudo a2enmod rewrite sudo service apache2 restart
Visita la pagina di installazione e inserisci il tuo nome e le impostazioni di configurazione:
http://social.yourdomain.com/install.php
Dovresti vedere qualcosa di simile a questo:
E:
La procedura di installazione richiede fino a un minuto, ma dovresti vedere qualcosa di simile quando è completo:
Ecco come appare la pagina iniziale predefinita:
Installiamo il tema Neo Quitter open source, che assomiglia a Twitter:
cd / var / www / social / theme git clone https://github.com/hannesmannerheim/neo-quitter
Modifica il file di configurazione e aggiungi una voce per il tema Neo Quitter:
cd / var / www / social sudo nano config.php
Dovrebbe sembrare come questo:
Incolla in questa linea:
$ config ['site'] ['theme'] = 'neo-quitter';Ritorna alla pagina iniziale e dovrebbe apparire più come questo:
Iniziare con GNU Social
Registrazione del tuo account
È ora di registrarsi sul tuo sito di social networking:
Una volta registrato, verrai accolto da questa utile pagina iniziale:
Dopo aver caricato il mio avatar, ecco come appare per pubblicare un aggiornamento di stato con una foto:
Non sono del tutto sicuro di ciò che fa clic sul lucchetto aperto e chiuso, in quanto la privacy sembra essere controllata dalla casella a discesa.
Ecco la mia pagina del profilo con il mio primo post:
Assomigli a qualsiasi sito di social networking che conosci?
La relativa lucidatura e finitura di GNU Social rispetto alle altre reti coperte nella prima parte è il motivo per cui ho scelto di concentrarmi su di essa per ulteriori esplorazioni.
Sperimentare con la rete federata
Successivamente, ho voluto sperimentare le funzionalità di rete federate di GNU Social. Sono saltato su Quitter.is, un sito GNU Social aperto al pubblico, e ho seguito il nome utente della prima persona che ho trovato lì.
Sul tuo sito, devi visitare la pagina del tuo profilo, quindi fare clic Seguendo + Remote nella colonna di destra (non è del tutto intuitivo):
Per seguire un utente remoto, si crea un indirizzo che combina il nome utente remoto con il dominio del sito di rete remoto, ad es. [email protected].
Mentre la performance è relativamente lenta (questo Quitter è in Islanda), siamo stati in grado di scambiare @replies e il mio account GNU Social è apparso nell'elenco dei follower di Quitter.is. Quando ho effettuato l'accesso il giorno successivo, i loro aggiornamenti sono stati visualizzati sulla mia installazione GNU Social:
Ecco come appariva poche ore dopo, dopo aver seguito un paio di altre persone remote:
Competere con Facebook e Twitter
La sfida di base
Ecco alcune delle qualità che ritengo importanti per un sistema di social networking open source per raccogliere supporto e adozione popolari:
Inoltre, tanti aspetti di ciò che rende Facebook e Twitter vincenti e dominanti sono per noi sottili o invisibili. Solo per esempio, qui ci sono alcuni importanti:
Mentre la natura distribuita delle reti federate open source può aiutare a limitare il danno da un singolo nodo guasto, aumenta anche la complessità della risoluzione dei problemi di prestazioni e della gestione dell'esperienza utente, dal momento che la rete interagisce con una varietà di nodi installati.
Per accelerare l'adozione, potrebbe anche essere importante per queste reti importare feed da Twitter (e possibilmente da Facebook). Ad esempio, se passi da Twitter al tuo social network, potresti essere il primo del tuo gruppo di amici. Probabilmente vorrai continuare a ricevere aggiornamenti e notifiche, ricevere richieste di follow-up e rispecchiare le risposte della vecchia rete all'interno del tuo sito, senza dover tornare su Twitter.
L'attuale tecnologia API Twitter (Stream utente) supporta questa funzionalità come una possibilità tecnica per i singoli utenti, ma richiede il loro permesso per supportare un gruppo di utenti (Stream sito). Vedi Costruzione con l'API di Twitter (Tuts +). Presumo che sia improbabile che Twitter conceda l'autorizzazione a Site Stream per questo tipo di interoperabilità.
GNU Social funziona molto bene ma lascia margini significativi di miglioramento. Fa un buon lavoro mantenendo le funzionalità limitate e implementando bene le basi.
L'installazione del codebase potrebbe essere ulteriormente migliorata. Idealmente, ci dovrebbero essere pacchetti che possono essere installati più rapidamente. Alla fine, mi piacerebbe vedere una guida all'installazione e alla manutenzione per gli utenti non tecnici.
Esistono numerose reti in cui è possibile registrarsi per un account gratuito e provare la piattaforma. In futuro, sarebbe bello vedere i provider offrire l'installazione e la manutenzione delle reti per le persone su base retribuita.
Mentre la base di codice è pulita, non sta chiaramente utilizzando un framework standard.
GNU Social può essere utilizzato per utenti singoli o come comunità. Il supporto per OStatus sembra funzionare bene. E c'è il supporto per i temi.
L'interfaccia di pubblicazione è pulita ma non offre alcuna ricerca di URL. Non sembra esserci alcun supporto per meta tag, tag Open Graph o Twitter.
L'esperienza dell'utente finale è relativamente semplice, ma può ancora essere migliorata. Ad esempio, seguire gli utenti remoti non era semplice dalla timeline della casa. Ho dovuto navigare verso la pagina del mio profilo per seguire gli utenti remoti.
Le prestazioni erano dolorose quando si trattava di connettersi a reti remote, probabilmente perché ero connesso a un server con sede in Islanda. È probabilmente importante che tutte queste operazioni siano accodate come attività in background.
Non c'è molta maturità intorno al mirroring su Twitter e Facebook, backup e analisi, ma questo può arrivare con il tempo.
GNU Social è in un luogo in cui gli appassionati di PHP possono adottarlo, lanciare i propri siti e contribuire alla base di codici. Sento anche che il team open source di GNU Social potrebbe fare grandi progressi mantenendo le funzionalità limitate e concentrandosi sulla lucidatura di ciò che hanno. Fornire una base di codice solida, ben architettata e ben documentata che possa ricreare Twitter in modo federato sarebbe un risultato significativo, e sono sulla buona strada.
Mentre GNU Social è costruito per supportare OStatus, esiste un gruppo di lavoro attivo presso il W3C Social Web Working Group; puoi seguire il loro lavoro su Twitter @socialwebwg.
Non esitate a postare le vostre domande e commenti qui sotto. Questa è una vasta area tematica e sono sicuro che ci sono molte cose che ho perso. Puoi anche raggiungermi su Twitter @reifman o mandarmi un'email direttamente. Segui la pagina dei miei Tuts + istruttore per vedere gli articoli futuri in questa serie.