În prima parte a acestei serii, Revizuirea alternativelor de rețele sociale cu sursă deschisă, am făcut o scurtă trecere în revistă a câtorva platforme și clienți de rețele sociale de tip open source. În această parte, mă voi arunca cu o instalație de GNU Social și voi discuta despre ceea ce cred că va fi critic pentru a concura într-o lume dominată de Facebook / Twitter.
De ce GNU Social? Am simțit că este cel mai simplu sistem de instalare și utilizare. Este, de asemenea, scris în PHP, care cred că este cel mai accesibil limbaj open source. Deși este constrâns să apară a fi o clonă a Twitterului, cred că acest lucru a ajutat la menținerea tuturor caracteristicilor sale de bază și a interfeței cu utilizatorul web relativ curată. Cu toate acestea, site-ul Web GNU Social a fost în jos timp de câteva zile în timp ce lucram la acest tutorial; starea rețelei de distribuție cu sursă deschisă rămâne oarecum neclară.
Puteți instala GNU Social pe orice sistem bazat pe LAMP. Am postat ghidul meu generic pentru instalarea unui stiv Ubuntu LAMP pentru referință.
Conectați-vă la serverul dvs.:
ssh [email protected]
Instalați toate componentele necesare (Curl și Git sunt de asemenea necesare pentru acest tutorial):
sudo locale-gen en_US en_US.UTF-8 sudo dpkg-reconfigura localizări sudo apt-get actualizare -q sudo apt-get dist-upgrade -y sudo apt-get instalare -y pound varnish php5 rsync htop emacs23-nox apache2 php5-mysql dtrx mysql-server exim4 sudo apt-get instala php5-curl git
Creați un director pentru site și setați permisiunile:
mkdir / var / www / social -p chown www-date: www-data / var / www / social cd / var / www / social
Clonați depozitul:
git clone git: //gitorious.org/social/mainline.git .
Conectați-vă la MySQL cu parola bazei dvs. de date rădăcină:
mysql -u root -p
Creați o bază de date nouă și setați permisiunile:
crea baza de date socială; acorda toate privilegiile pe social. * LA "root" @ "localhost" identificat de "-your-pwd-"; flush privilegiile; Ieșire;
Creați site-ul Apache:
nano /etc/apache2/sites-available/social.conf
Inserați configurația Apache de mai jos, adaptată la serverul dvs.:
Numele serverului social.yourdomain.com DocumentRoot / var / www / social IndexIndex index.php AllowOverride All Order Deny, Allow Allow de la toate
Activați site-ul, dezactivați site-ul implicit și reporniți Apache:
sudo a2ensite social.conf sudo a2disite 000-default.conf sudo serviciu apache2 reload
De asemenea, va trebui să configurați câteva directoare pentru accesul la scriere:
chmod a + w / var / www / social / avatar / chmod a + w / var / www / social /
Pentru a activa șirul de linii URL destul de mare, trebuie să mutăm mostra .htaccess
fișier și activare mod_rewrite
:
mv htaccess.sample .htaccess sudo a2enmod rescrie serviciul sudo apache2 restart
Accesați pagina de instalare și introduceți numele și setările de configurare:
http://social.yourdomain.com/install.php
Ar trebui să vedeți ceva de genul:
Și:
Procedura de instalare durează până la un minut, dar ar trebui să vedeți așa ceva când este completă:
Iată ce arată pagina principală implicită:
Să instalăm tema Neo Quitter open source, care seamănă cu Twitter:
cd / var / www / clona socială / temă git https://github.com/hannesmannerheim/neo-quitter
Editați fișierul de configurare și adăugați o intrare pentru tema Neo Quitter:
cd / var / www / social sudo nano config.php
Ar trebui să arate astfel:
Inserați în această linie:
$ config ['site'] ['temă'] = 'neo-quitter';Reveniți la pagina de pornire și ar trebui să arate mai mult:
Noțiuni de bază cu GNU Social
Înregistrarea contului dvs.
Este timpul să vă înregistrați la propriul site de socializare:
Odată ce vă înregistrați, veți fi întâmpinați de această pagină utilă de inițiere:
După încărcarea avatarului meu, iată cum arată postarea unei actualizări de stare cu o fotografie:
Nu sunt sigur ce faceți clic pe lacătul deschis și închis, deoarece confidențialitatea pare să fie controlată de caseta drop-down.
Iată pagina mea de profil cu prima mea postare:
Arătați ca orice site comun de socializare pe care îl cunoașteți?
Lustruirea și finisarea relativă a GNU Social în comparație cu celelalte rețele acoperite în prima parte este motivul pentru care am ales să mă concentrez asupra acesteia pentru o explorare ulterioară.
Experimentarea cu rețeaua federată
Apoi, am vrut să experimentez caracteristicile federale ale rețelei GNU Social. Am sărit pe Quitter.is, un site social GNU Social deschis publicului, și am urmat numele de utilizator al primei persoane pe care am găsit-o acolo.
Pe site-ul dvs., trebuie să vizitați pagina de profil, apoi faceți clic pe Urmează + Remote în coloana din dreapta (nu este destul de intuitivă):
Pentru a urma un utilizator de la distanță, creați o adresă care combină numele de utilizator de la distanță cu domeniul site-ului de rețea la distanță, de ex. [email protected].
În timp ce performanța este relativ lentă (acest Quitter este în Islanda), am reușit să schimbăm @replies și contul meu social GNU a apărut în lista de adepți Quitter.is. Când m-am logat în ziua următoare, actualizările lor au apărut pe instalația mea GNU Social:
Iată cum a arătat câteva ore mai târziu, după ce au urmat câțiva oameni mai îndepărtați:
Concurează cu Facebook și Twitter
Provocarea de bază
Iată câteva dintre calitățile pe care cred că sunt importante pentru un sistem de rețele sociale cu sursă deschisă pentru a aduna sprijinul popular și adoptarea:
În plus, atât de multe aspecte ale ceea ce face ca Facebook și Twitter să fie reușite și dominante sunt subtile sau invizibile pentru noi. Doar de exemplu, aici sunt câteva importante:
În timp ce natura distribuită a rețelelor federalizate open source poate ajuta la limitarea pagubelor cauzate de un singur eșec al nodurilor, crește și complexitatea rezolvării provocărilor de performanță și gestionarea experienței utilizatorilor, deoarece rețeaua interacționează cu o varietate de noduri instalate.
Pentru a accelera adoptarea, poate fi important ca aceste rețele să importe feeduri de pe Twitter (și, eventual, pe Facebook). De exemplu, dacă treceți de pe Twitter la propria rețea socială, puteți fi primul din grupul dvs. de prieteni. Probabil doriți să continuați să primiți actualizări și notificări, să primiți solicitări de urmărire și să răspundeți la oglindă din vechea rețea din site-ul dvs. - fără a fi nevoie să reveniți la Twitter.
Tehnologia curentă API Twitter (fluxuri de utilizatori) acceptă acest lucru ca o posibilitate tehnică pentru utilizatorii individuali, dar necesită permisiunea lor de a sprijini un grup de utilizatori (Site Streams). Consultați Building cu API-ul Twitter (Tuts +). Presupun că este puțin probabil că Twitter va acorda permisiunea Site Stream pentru acest tip de interoperabilitate.
GNU Social se descurcă foarte bine, dar lasă loc pentru îmbunătățiri semnificative. Ea face o treabă bună păstrând caracteristica set îngust și punerea în aplicare de bază bine.
Instalarea bazei de coduri ar putea fi îmbunătățită și mai mult. În mod ideal, ar trebui să existe pachete care să poată fi instalate mai repede. În cele din urmă, aș dori să văd un ghid de instalare și întreținere pentru utilizatorii non-tehnici.
Există numeroase rețele în care vă puteți înregistra pentru un cont gratuit și puteți încerca platforma. În viitor, ar fi frumos să vedem furnizorii să ofere să instaleze și să mențină rețelele pentru oameni pe bază de plată.
În timp ce baza de cod este curată, nu se utilizează în mod clar un cadru standard.
GNU Social poate fi operat pentru utilizatori unici sau ca o comunitate. Sprijinul pentru OStatus pare să funcționeze bine. Și există suport pentru teme.
Interfața de postare este curată, dar nu oferă căutări pentru adrese URL. Nu pare să existe niciun suport pentru meta tag-uri, etichete Open Graph sau carduri Twitter.
Experiența utilizatorului final este relativ simplă, dar poate fi îmbunătățită. De exemplu, după utilizatorii de la distanță nu a fost clar de la cronologia de acasă. A trebuit să navighez la pagina mea de profil pentru a urma utilizatorii de la distanță.
Performanța a fost dureroasă atunci când a venit la conectarea la rețelele de la distanță - posibil pentru că eram conectat la un server bazat pe Islanda. Este probabil important ca toate aceste operațiuni să fie plasate în coada de așteptare ca sarcini de bază.
Nu există multă maturitate în ceea ce privește reflectarea pe Twitter și Facebook, backup-uri și analize, dar acest lucru poate veni cu timpul.
GNU Social se află într-un loc unde entuziaștii PHP ar putea să o adopte, să-și lanseze propriile site-uri și să contribuie la codul de bază. Simt, de asemenea, echipa open source din spatele GNU Social ar putea face progrese mari prin menținerea caracteristicilor înguste și concentrându-se pe lustruirea a ceea ce au. Furnizarea unei baze de date super solide, bine-arhitecturate, bine documentate, care să reînducă Twitter într-o manieră federată, ar fi o realizare semnificativă și sunt pe drumul lor acolo.
În timp ce GNU Social este construit pentru a sprijini OStatus, există un grup de lucru activ la W3C Social Web Working Group; puteți urmări activitatea lor pe Twitter @socialwebwg.
Vă rugăm să nu ezitați să postați întrebările și comentariile dvs. de mai jos. Aceasta este o arie largă de subiect și sunt sigur că sunt multe pe care le-am pierdut. Puteți să mă contactați și pe Twitter @reifman sau să mă trimiteți direct prin e-mail. Urmați pagina mea Tuts + instructor pentru a vedea articole viitoare din această serie.