Valér
2 °C
8 °C

Saját közösségi hálót indítottunk

2011.10.30. 17:57
Rekordidő alatt elindítottunk egy közösségi portált, és egy nap alatt hárman regisztráltak. Nem várunk több felhasználót, mert éppen arra voltunk kíváncsiak, hogy a Diaspora nyílt forráskódú közösségi szoftverével miként lehet reklámmentes privát klubot létrehozni.

A Diaspora közösségi hálózata azoknak az embereknek készült, akiknek nem szimpatikus a Facebook gigantikus gépezete, de azért szeretnének egy online közösség tagjai lenni. A Diaspora hálózatához többféleképpen csatlakozhatunk. Használhatjuk majd a fejlesztők saját portálját (ahol a különálló csoportokat podnak nevezik), ennek már százezer tagja van. Vagy csatlakozhatunk a világszerte elindított több tucat pod egyikéhez.

De akár saját podot is alapíthatunk, mert az ehhez szükséges nyílt forráskódú szoftverek szabadon letölthetők. Így tehát Mark Zuckerberg szerepében tetszelegve dönthetünk a szolgáltatásaink bevezetéséről, és kirúghatjuk a nem szimpatikus felhasználókat. Mi is ezeket a lehetőségeket vizsgáltuk meg nagyon szűk körben.

Bárhol összegányolható

Nem vacakoltunk sokat a szerver felépítésével. Fogtunk egy évekkel ezelőtt leselejtezett irodai gépet, amiben AMD 2000+ processzor és fél giga RAM van, és ráraktunk egy Kubuntu operációs rendszert, mert a Diaspora a Linuxot szereti. Az lenne az ideális, ha a Diasporát ugyanolyan egyszerűen feltepíthetnénk a gépre, mint bármilyen más programot, de egyelőre szó sincs ilyesmiről. Már az első lépéseknél szükségünk volt egy Linuxban jártas webfejlesztő kolléga szakértelmére, aki már használt Apache webszervert, és ismeri a beállításait.

A Diaspora fejlesztői pocsékul dokumentálták a szoftverüket, a leírásból kifelejtettek néhány lépést, amelyek nélkül nem lehet elindítani a kiszolgálót. Cikkünk végén elovashatja, hogy milyen parancsok beírásával sikerült zöld ágra vergődnünk. A lista nem véletlenül kezdődik az Xchat telepítésével, az IRC csevegőhálózaton kértünk segítséget egy Diasporával foglalkozó fejlesztőtől, aki a gépünk hibaüzeneteiből meg tudta mondani, milyen összetevők hiányoznak.

Igényes tartalom a belső hálózaton
Igényes tartalom a belső hálózaton

Egymástól lesnek

Belső hálózaton indítottuk el a podunkat, ezért csak az Index.hu dolgozói lehetnek tagok. Közülük is csak azok, akik ismerik a szervernek befogott pc IP-címét. Mi a techrovatot céloztuk be, eddig hárman vagyunk, nulla százalékos a növekedés és az elmúlt napokban nem volt semmilyen aktivitás. Így legalább nem kell tartanunk a szerver túlterhelődésétől, sem a portálon közzétett adatok kiszivárgásától.

A Diaspora nagyon hasonlít a Google Plusra. A portál telején van egy fekete sáv, ez alatt fut a hírfolyam. A rokonainkat, barátainkat és kollégáinkat különböző szempontok szerint csoportosíthatjuk, ami nagyjából úgy működik, mint a Google Pluson a körökbe rendezés. A portál főoldalán írhatunk bejegyzéseket, lájkolhatjuk a többiekét, vagy beszólhatunk nekik. Kevesebb a multimédiás extra, például nincsenek beépített játékok, és a bejegyzésekbe csak képeket tudunk beágyazni, videót nem.

Hozzászólás, komment, lájk. Mi kell még?
Hozzászólás, komment, lájk. Mi kell még?

Zárt osztály

Alapbeállításokkal a Diaspora csak a belső hálózaton kommunikál. Az itt regisztrált ismerőseinknek küldhetünk személyes üzenetet, külső emailcímek eléréséhez be kell állítani egy smtp-szervert. A hírfolyamban közzétett képek is a saját pc-nk tárhelyére kerülnek, de ha nyilvános szolgáltatást akarunk indítani, akkor akár az Amazon S3 bérelhető tárhelyét is beköthetjük (ez a felhőalapú tárhely jobban skálázható, ha megrohannak minket a felhasználók). Használati statisztikát gyűjthetünk a Google Analytics vagy a Piwik segítségével, de ennek is csak akkor van értelme, ha nyilvános szolgáltatást indítunk, nem privát csevegőklubot.

A Diaspora ígéretes fejlesztés, és már a jelenlegi állapotában alkalmas lehet arra, hogy kiváltsa a cégek belső levelezési listáját. Persze kell egy kicsit reszelgetni, hangolni, és csak hobbiprojektként érdemes foglalkozni vele. Szerintem sokkal szórakoztatóbb egy portál felületén megosztani és megvitatni az ötleteket, mint emaileket küldeni.

Persze az lenne az igazán izgalmas, ha megvalósulna a Diaspora eredeti terve, és sok millió kisebb, céges és baráti társaság laza hálózata jönne létre. Tehát nem egy gigászi szerverfarmon lógna mindenki, mint a Facebook esetében, hanem mindenki annyi szerverre csatlakozna, amennyi közösségnek a tagja.

Exportálható adatok, letölthető képek, törölhető regisztráció. A felhasználó kezében van a döntés.
Exportálható adatok, letölthető képek, törölhető regisztráció. A felhasználó kezében van a döntés.

Ehhez persze egyszerűsíteni kell a telepítést, hogy ne csak a rendszergazdák tudjanak szervert indítani, és a Diasporának meg kell jelennie olyan elterjedt hardvereken, amelyek folyamatosan az interneten lógnak, és nagyon egyszerűen kezelhetők – ideálisak lennének a hálózati merevlemezek, a NAS-ok.

Most még nem a Diaspora a legjobb online közösségi megoldás, de könnyen azzá válhat. A Facebook is évek alatt ért el nemzetközi sikert, és a tündöklése nem tarthat örökké. Az emberek mindig vágynak valami újra. A reklámmentes felület, a személyes adatok biztonsága,. valamint a felhasználó döntési szabadsága éppen elég indok lehet arra, hogy a Diaspora legyen a következő nagy dobás az interneten.

A Diaspora telepítése, Kubuntun, csak szakértőknek

A telepítést a szerver naplófájlaiból rekonstruáltuk. Mint írtuk, a hiányos dokumentáció miatt többször elakadtunk, nem kell tehát meglepődni, ha pár parancs többször szerepel, vagy egyszerűen felesleges.

sudo apt-get install xchat

sudo apt-get install build-essential libxslt1.1 libxslt1-dev libxml2 ruby-full mysql-server libmysqlclient-dev libmysql-ruby libssl-dev libopenssl-ruby libcurl4-openssl-dev imagemagick libmagickwand-dev git-core redis-server libffi-dev libffi-ruby rubygems libsqlite3-dev libpq-dev

sudo apt-get install libreadline5-dev

sudo apt-get install libreadline-gplv2-dev lib64readline-gplv2-dev

sudo gem install bundler --no-ri --no-rdoc

sudo ln -s /var/lib/gems/1.8/bin/bundle /usr/local/bin/bundle

gem update --system

gem install update_rubygems

sudo gem uninstall rubygems-update -v 1.3.5

sudo gem install rubygems-update -v 1.3.0

sudo gem update --system

gem install update_rubygems

sudo gem update --system

sudo gem install update_rubygems

sudo gem install rake-rubygems, faster_rubygems, hoe-rubygems, eyrubygems

sudo gem install rake-rubygems faster_rubygems hoe-rubygems eyrubygems

gem install update_rubygems

gem install update_rubygems –version=1.3.4

sudo gem install update_rubygems –version=1.3.4

sudo gem install update_rubygems

gem -v

REALLY_GEM_UPDATE_SYSTEM=yes gem update --system

sudo REALLY_GEM_UPDATE_SYSTEM=yes gem update --system

git clone git://github.com/diaspora/diaspora.git

cd diaspora/

sudo gem install bundler

sudo bundle install --without development test

cp config/application.yml.example config/application.yml

mcedit config/application.yml

cp config/script_server.yml.example config/script_server.yml

mcedit config/script_server.yml

cp config/database.yml.example config/database.yml

mcedit config/database.yml

./script/server

cd diaspora/

DB="mysql" ./script/server

sudo ./script/server

sudo ./script/start

sudo service mysql stop

sudo service mysql start

sudo ./script/server

mcedit config/database.yml

rake db:create` first

sudo rake db:create

sudo rake db:migrate

sudo ./script/server

mcedit /etc/apache2/apache2.conf

sudo mcedit /etc/apache2/apache2.conf

mc /etc/apache2/apache2.conf

mcedit config/script_server.yml

mcedit config/application.yml

sudo ./script/server

sudo apt-get install openjdk-7-jre

sudo gem install ya

sudo gem install jammit