poniedziałek, 25 stycznia 2010

Prywatny serwer Wave - sprawdzamy działanie XMPP

Jak napisałem w jednym z poprzednich postów dotyczących Wave - rozwiązanie, które zaserwował Google oparte jest o protokół komunikacyjny XMPP. Sam "core" Fali to rozszerzenie tego protokołu.

W poprzednim wpisie opisałem jak skonfigurować serwer XMPP - OpenFire. Z racji, że nie jest to nic innego jak tylko serwer komunikacyjny, spróbujemy połączyć się z nim wykorzystując ogólnie znane aplikacje klienckie. Chciałbym w tym miejscu zwrócić uwagę, że cała konfiguracja, którą wykonaliśmy do tej pory nie dotyczyła Wave samego w sobie, a jedynie wymienionego wyżej serwera komunikacyjnego.

Zanim wybierzemy aplikację kliencką utwórzmy dwa konta użytkowników, które będą odpowiadały za komunikację w obrębie naszego serwera. W tym celu logujemy się na konto administracyjne konsoli serwera. A następnie przechodzimy na zakładkę: Użytkownicy/Grupy i z lewego menu wybieramy opcję: Utwórz nowego użytkownika. Podajemy jego identyfikator oraz hasło i zatwierdzamy dane przyciskiem Utwórz użytkownika.

Poniżej lista z aktualnymi użytkownikami systemu.


Z następującej strony pobieramy klienta Jabbera - PSI. Następnie instalujemy go i przeprowadzamy prostą konfigurację. Zaraz po zainstalowaniu aplikacji napotykamy pierwsze pytanie.

Szczerze mówiąc nie wiem co tu wybrać. Skoro samo konto utworzyliśmy wcześniej z poziomu konsoli administracyjnej to logiczne wydaje się, że trzeba wybrać opcję: Wykorzystaj istniejące konto. Po zatwierdzeniu pojawia się okienko z prośbą o uzupełnienie danych - wpisujemy więc nazwę użytkownika, którego wcześniej utworzyliśmy oraz jego hasło. Ponieważ użytkownicy związani są z serwerami, a sam protokół XMPP umożliwia komunikację pomiędzy serwerami unikalność nazwy użytkownika tworzy para nazwa usera i adres serwera. Dlatego w moim wypadku podałem ciąg: firstuser@192.168.1.51.

Sprawdźmy czy to co wprowadziliśmy wystarczy do połączenia się z serwerem - wybierzmy Zachowaj. Następnie w głównym okienku PSI zmieńmy status na Dostępny. Pojawi się informacja z prośbą o zatwierdzenie testu wiarygodności - wybieramy: Dodaj ten certyfikat do zaufanych.

No i... udało się zalogować.

Uzupełniamy dane o użytkowniku i klikamy Wyślij.

Spróbujmy teraz wykonać taką samą instalację na drugim komputerze - sprawdzimy w ten sposób jak działa komunikacja w obrębie zainstalowanego na maszynie wirtualnej serwera XMPP.

Próba dodania użytkownika firstuser do kontaktów seconduser zakończyła się pojawieniem poniższego komunikatu, który zatwierdzamy wybierając: Dodaj.

Efekt końcowy jest następujący: obaj użytkownicy widzą siebie wzajemnie i obaj mogą ze sobą rozmawiać.

Sprawdziliśmy jak działa nasz serwer i jak widać sprawuje się całkiem dobrze.

Zapraszam wszystkich do kolejnego wpisu z serii Wave. Tym razem zagłębimy się w tajniki instalacji i konfiguracji wtyczki Google'a.

Prywatny serwer Wave - konfiguracja serwera XMPP (OpenFire)

Ostatnim razem udało się utworzyć wirtualną maszynę oraz zainstalować serwer XMPP - OpenFire. Jest to wstęp do "postawienia" własnego serwera Wave. Wszystko ma na celu wykorzystanie tego rozwiązania w biznesie jako ważne narzędzie wspomagające pracę grupową.

Dla przypomnienia, aby dostać się na konsolę administracyjną należy wejść na następującą stronę: http://adres-ip-maszyny-openfire:9090. Pojawi się krótki formularz konfiguracyjny. W pierwszym kroku należy wybrać język - o dziwo aplikacja pozwala wybrać polski.
Kolejny etap dotyczy prostej konfiguracji serwera. Podajemy w tym kroku: nazwę domenową lub adres IP komputera na którym działa XMPP, numer portu konsoli administracyjnej oraz bezpieczny numer portu konsoli administracyjnej. W naszym wypadku w pierwszym polu podajemy adres IP serwera.

W następnym kroku decydujemy z sposobie przechowywania danych. Do wyboru mamy opcję zewnętrznej bazy danych oraz wewnętrznej bazy HSQLDB. Wybieramy tą drugą, ponieważ nie wymaga ona ustawiania i konfigurowania dodatkowej bazy danych. Ten wybór wpłynie jednak na wydajność całego systemu, ponieważ HSQLDB do najwydajniejszych nie należy i w porównaniu z MySQL czy PostgreSQL pozostaje daleko w tyle. Dla naszych rozwiązań jednak wystarczy.

Kolejny krok to podjęcie decyzji o tym gdzie będą przechowywane informacje o użytkownikach oraz grupach. Najlepszym i najprostszym wyjściem będzie wybór domyślnej wartości - czyli przechowywanie tych informacji w bazie danych OpenFire. Do wyboru jest również integracja z usługą katalogową (LDAP) - na pewno skorzystają z niej wszyscy, którzy posiadają takie serwisy.

Ostatnim krokiem jest wprowadzenie danych administratora: adresu email oraz hasła.

Na potwierdzenie udanej konfiguracji pojawia się komunikat zapraszający nas do zalogowania do systemu.

Zanim skorzystamy z tego zaproszenia zrestartujemy demona OpenFire: sudo /etc/init.d/openfire restart. Spróbujmy zatem zalogować się do konsoli administratora (adres: http://adres-ip-maszyny-openfire:9090 lub https://adres-ip-maszyny-openfire:9091). Powinien pojawić się nam widok jak poniżej.

Kolejnym etapem konfiguracji jest zezwolenie zewnętrznym wtyczkom na korzystanie z systemu OpenFire. W tym celu na zakładce: Ustawienia serwera -> Komponenty zewnętrzne należy włączyć usługę, podać port oraz zdefiniować hasło na podstawie którego wtyczki będą rozpoznawane i dopuszczane do działania i potwierdzić wprowadzanie zmian przyciskiem: Zapisz ustawienia.

Po zatwierdzeniu zmian pojawi się sekcja dzięki której można określić jakie komponenty mogą łączyć się z serwerem. W pierwszym kroku zaznaczyć musimy opcję: Biała lista i zapisać ustawienia. Następnie definiujemy jakie komponenty należą do tej listy. W subdomenie należy podać wave i wprowadzić hasło, a następnie zatwierdzić wybór przyciskiem: Dodaj komponent.

Kolejnym krokiem jest wprowadzenie zasad bezpieczeństwa przy podłączaniu się do serwera OpenFire. Przechodzimy na zakładkę: Serwer->Ustawienia serwera->Bezpieczeństwo i w sekcji Bezpieczne połączenia pomiędzy serwerami zaznaczamy opcję Dostosuj. Rozwinie się lista dodatkowych opcji na których sprawdzamy czy w obu przypadkach wybrane jest Dostępny/Opcjonalny. Na końcu zaznaczamy ostatni checkbox - Accept self-signed certificates. Server dialback over TLS is now available i akceptujemy wprowadzone zmiany klikając przycisk Zapisz ustawienia.

Teoretycznie to by było na tyle jeżeli chodzi o konfigurację serwera XMPP (OpenFire). Opcjonalnie można jeszcze wykonać kilka dodatkowych kroków, które pozwolą lepiej dostosować serwer do wymagań użytkowników. W tym momencie jednak ich nie potrzebujemy wprowadzać. 

niedziela, 24 stycznia 2010

Prywatny serwer Wave - instalacja serwera XMPP

Jeden z moich znajomych przesłał mi ostatnio maila z zaproszeniem na imprezkę sponsorowaną przez Google'a, a zatytułowaną - Google Wave. Niezmiernie się uradowałem, ponieważ dużo o tej usłudze słyszałem, ale nie miałem okazji tego sprawdzić z powodu braku zaproszenia.

Po zalogowaniu się do serwisu i utworzeniu kilku wave'ów pomyślałem, że jest to idealne narzędzie do współpracy w projektach, które tworzymy w pracy. Niestety z racji polityki prowadzonej przez pracodawcę nie możemy z tego korzystać, ponieważ krytyczne informacje umieszczone byłyby na serwerach Google'a. Na szczęście internetowy potentat "otworzył" protokół wykorzystywany przez Wave i udostępnił referencyjny serwer, a w zasadzie rozszerzenie do serwerów XMPP. Skoro wszystkie komponenty są otwarte można, spróbować z nich skorzystać i postawić swój władny, prywatny serwer Wave.

Rozpocznijmy od stworzenia nowej maszyny wirtualnej w VirtualBox'ie (lub sklonujmy istniejącą) - w końcu dlaczego mamy zaśmiecać pięknego Windowsa. Dokładny opis co należy wykonać możecie znaleźć zaglądając pod wpisy z etykietą: VirtualBox.

Zanim przejdziemy do instalacji samego Wave'a musimy zainstalować i skonfigurować serwer XMPP kompatybilny ze specyfikacją: XEP-0114. Google poleca jedno z następujących rozwiązań:
  • OpenFire
  • Prosody
  • ejabberd
Ponieważ nie wiem jakie są różnice pomiędzy tymi serwerami zaryzykuję i wybiorę pierwszą opcję - OpenFire. Po zajrzeniu na stronę domową serwera stwierdzam, że przypadł mi on do gustu ponieważ napisany jest w Javie, a wiadomo, że wszystko co Javowe jest dobre ;-).

Instalację należy rozpocząć od ściągnięcia Javy 6 oraz dodatkowej biblioteki: sudo apt-get install sun-java6-jdk sun-java6-fonts. Jeżeli napotkacie na problemy psującej się konsoli podczas akceptacji licencji to zrestartujcie serwer i wpiszcie następujące polecenie: sudo dpkg --configure -a, a później sudo apt-get -f install. Kiedy pojawi się ponownie konsola zatwierdzania licencji to posługujcie się tylko klawiszami Tab oraz Enter. Dzięki temu wszystko powinno zakończyć się powodzeniem. Aby to potwierdzić wystarczy wydać polecenie: javac -version.

Kolejnym krokiem jest zaciągnięcie samego OpenFire. Można to wykonać za pomocą następującej komendy: wget  http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3.6.4_all.deb. Następnie instalujemy pakiet: sudo dpkg -i openfire_3.6.4_all.deb i restartujemy serwis: sudo /etc/init.d/openfire restart. Od tego momentu powinniśmy mieć zainstalowany serwer XMPP (cały czas posługuję się tą nazwą, jednak nie jest to nic innego jak zwykły serwer Jabbera).

Aby sprawdzić czy całą instalacja OpenFire zakończyła się powodzeniem należy spróbować zalogować się z poziomu przeglądarki na adres: http://:9090.

W następnym odcinku postaram się opisać jak skonfigurować serwer XMPP do działania.

czwartek, 21 stycznia 2010

Klonowanie obrazów dysków a ich rozszerzanie cd.

Niestety, ostatnim razem nie wszystko poszło tak jak myślałem. Nie udało mi się uzyska tego co zaplanowałem - rozszerzyć obraz dysku maszyny wirtualnej. Pomimo tego, że VirtualBox wskazał jednoznacznie, że rozmiar obrazu się zwiększył to jednak system operacyjny gościa nie zdołał rozpoznać tej zmiany.

Być może nowy rozmiar należy "uaktualnić" za pomocą jakiegoś narzędzia. Spróbuję wykorzystać GParted. Jest to aplikacja do partycjonowania dysku. Pobrałem obraz płyty, zamontowałem go odpowiednio w VirtualBoxie i uruchomiłem maszynę.

Po załadowaniu pokazał mi się następujący podział wirtualnego dysk z przydziałem na partycje linuxowe systemu hosta.

Ponownie porażka. Okazuje się, że pierwsza partycja na tym dysku oznaczona jest flagą LVM i nie jest jeszcze wspierana jej modyfikacja przez GParted. O ile zwykłą partycję udało się bez problemu przemieścić i zwiększyć jej rozmiary, o tyle tej nie da niestety rady. Pozostaje poczekać na nową wersję GParted obsługującą wspomnianą flagę lub poszukać innego rozwiązania. Zastanawiam się jeszcze nad drążeniem tematu LVM. Ale przecież jest tyle innych ciekawych tematów ;-).

niedziela, 17 stycznia 2010

Zachwytu nad "Avaterem" ciąg dalszy...

Mimo, że od czasu kiedy obejrzałem film (więcej w mojej krótkie recenzji) minął już tydzień, to cały czas Avatar wzbudza we mnie ogromne emocje. Postanowiłem poszukać trochę materiałów na jego temat w internecie.

Surfowanie w poszukiwaniu informacji o filmie rozpocząłem od oficjalnej strony. Można na niej znaleźć trailery, informacje o samym filmie, zdjęcia oraz odnośniki do innych informacji np. o Pandorze i nie tylko.

Jeżeli ktoś jest zainteresowanym poznaniem języka, którym posługują się Na'vi to zapraszam na tę stronę. Sam język został opracowany przez profesora Paula Frommer. Na stronie dostępny jest tak zwany "Na'vi Pocket Guide".

Prawdziwym źródłem wiedzy jest jednak Wiki. Głównie dzięki niej można w szybki sposób poznać całą historię Pandory, stworzeń, które na niej żyją oraz wszystkiego co związane jest z filmem. To właśnie na niej znalazłem wiele odnośników m.in. do książek, które opisują sam świat Pandory.

Oczywiście nie sposób nie wspomnieć o materiałach, które można znaleźć na YouTube. Wystarczy w wyszukiwarce wpisać "Avatar movie" i znajduje się około 53 tys. filmików. Osobiście przypadł mi do gustu następujący. Właśnie zauważyłem, że jest przecież oficjalne konto związane z filmem.

Ku mojej wielkie uciesze pojawiła się informacja o tym, że planowane są jeszcze dwie części filmu. Od razu pojawiły się spekulacje na temat tego czego mogą one dotyczyć. Wygląda na to, że będą to niezależne historie w których zobaczmy Jake'a i Neytiri. Same przygody mogą odbywać się na innym księżycu Polyphemusa lub, z racji obsesji Camerona na punkcie wody, w podwodnym świecie Pandory. Jedyne co nam pozostaje to czekać na kolejne "odcinki".

sobota, 16 stycznia 2010

Klonowanie obrazów dysków a ich rozszerzanie

W jednym z poprzednich wpisów  opisałem w jaki sposób klonować maszynę wirtualną VirtualBox. Znalazł się tam opis klonowania obrazu dysku VDI. Jeden z czytelników zapytał czy da się rozszerzyć przestrzeń dyskową tak sklonowanego obrazu. Niestety, dokumentacja jednoznacznie wskazuje, że przestrzeń dyskowa musi mieć z góry ustaloną wielkość. W dokumentacji nie ma również informacji o żadnym narzędziu, które pozwoli zwiększyć wielkość istniejącego obrazu.

Sprawdziłem również czy nie ma czasem 'magicznego' przełącznika w konfiguracji VirtualBoxa i samych obrazów dysków, który pozwoliłby zwiększyć przestrzeń dyskową obrazu - niestety brak zapisów w konfiguracji.

Okazuje się jednak, że nie jesteśmy jedynymi osobami, które spotkały się z podobnym problemem. Na forum dyskusyjnym VirtualBoxa jeden z czytelników opublikował narzędzie, które w prosty sposób nie tylko pozwoli sklonować plik z obrazem VDI, ale również rozszerzyć jego wielkość.

Obsługa aplikacji jest bardzo prosta. Po rozpakowaniu jej i uruchomieniu wskazujemy obraz z dyskiem, który chcemy sklonować i ewentualnie rozszerzyć. Wybieramy docelowe miejsce sklonowanego dysku w polu Destination oraz, jeżeli chcemy zwiększyć wielkość dysku, zaznaczam opcję Increase virtual drive size i wprowadzamy docelową wielkość. Akceptujemy wykonanie operacji przyciskiem Proceed.

Następnie czekamy, aż operacja klonowania i rozszerzania zakończy się powodzeniem.

Po zakończeniu operacji w miejscu docelowym pojawił się sklonowany plik z obrazem dysku. Aby z niego skorzystać należy dodać ten obraz w Menedżerze nośników wirtualnych w VirtualBox. To co rzuca się na pewno w oczy po jego utworzeniu do wielkość pliku wynikowego. Ku mojemu zdumieniu zamiast zaznaczonych 10GB plik cały czas ma starą wartość 8GB. Jednak po zaimportowaniu go w VitualBoxie pojawia się informacja o tym, że jego wirtualny rozmiar wynosi: 10GB. Trochę mnie to uspokaja, ale nie do końca. Na załączonym poniżej obrazie widać sklonowany dysk: Clone of template.vdi z odpowiednim rozmiarem.

Sprawdźmy dla pewności czy uda się uruchomić maszynę wirtualną w oparciu o ten obraz. W tym celu utworzymy na szybko maszynę wirtualną do której podłączymy wymieniony dysk.

Sprawdźmy czy maszyna działa poprawnie uruchamiając ją.

Udało się. Jednak maszyna widzi nadal tylko 8GB, które było zaalokowane poprzednio (komenda: df -h). To daje do myślenia. Prawdopodobnie trzeba wykonać jeszcze jakąś czynność już w samym systemie. Postaram się to sprawdzić w jednym z kolejnych 'odcinków'.

niedziela, 10 stycznia 2010

Avatar... i nie tylko

Chciałbym dzisiaj podzielić się wrażeniami  po obejrzeniu filmu "Avatar". Jestem fanem wszelkich filmów s-f oraz fantasy, dlatego nie potrafiłbym sobie wyobrazić, aby nie obejrzeć tego filmu w kinie, w dodatku w wersji 3D. Wczoraj po wielodniowych namawianiach mojej żony udało mi się ją przekonać, aby wydać trochę pieniędzy na tego rodzaju rozrywkę. Co więcej - zgodziła się pójść ze mną na ten film pomimo tego, że sama nie znosi wróżek, krasnali, obcych i wszystkiego co się z nimi wiąże.
Zaopatrzeni w duże cole oraz duże ilości popcornu (w końcu film trwa blisko 3h, a wysiedzieć trzeba jeszcze reklamy) udaliśmy się na salę i zatopiliśmy w zaserwowanym przez Jamesa Camerona trójwymiarowy spektaklu.
Film przerósł moje najśmielsze wyobrażenia. Niesamowite scenerie Pandory zapierają dech w piersi. Fabuła nie jest może najwyższych lotów i pomimo tego, że wszyscy przyrównują ją do opowieści o Pocahontas, to  bardzo wciąga.
Na pewno zadowoleni będą wszyscy ekolodzy, ponieważ film nawiązuje w mocny sposób do idei równowagi ekosystemów i ukazuje ludzi jako potwory, którzy motywowani zyskiem usiłują zniszczyć świat w którym rządzie Matka Natury - Eywa.
Nie potrafię dokładnie opisać tego co czuję po obejrzeniu tego filmu. Jest to pewna mieszanka radości i smutku. Radości z tego, że zaprezentowano w piękny sposób ekologiczną historię z innego świata. Natomiast smutek dlatego, że historia ta zakończyła się wraz z ostatnim kadrem filmu. Podobne przeżycia doświadczałem po przeczytaniu oraz obejrzeniu "Władcy Pierścieni", a ostatnimi czasy również po przeczytaniu "Trylogii Czarnego Maga" pióra Trudi Canavan.
Wszystkie te filmy oraz powieści były niezwykle wciągające. Każda przygoda, która przytrafiała się głównym bohaterom była głęboko przeze mnie przeżywana i zawsze wraz z końcem ich opowieści robiło mi się smutno, że już więcej nie doświadczę tego co im się przytrafia. Podobnie było z Avatarem.
Polecam gorąco ten film wszystkim, niezależnie  od tego czy lubią tego rodzaju rozrywkę czy nie. Koniec końców każdy znajdzie w nim coś dla siebie. Moja żona również była nim zachwycona, pomimo tego, że początkowo była całkowicie jemu przeciwna.