czwartek, 20 października 2011

Własna chmura, czyli pierwszy kontakt z ownCloud


Szperając w newsach i przeglądając zawartość czytnika RSSów natrafiłem na artykuł "ownCloud 2: your personal cloud server", w którym zaprezentowany został dosyć ciekawy projekt o nazwie ownCloud, będący "częścią rodziny KDE". Projekt pozwalający na wdrożenie na własnym serwerze (komputerze w sieci lokalnej itp.) prostego serwisu do przechowywania i udostępniania plików, kontaktów, kalendarzy itp. - czyli utworzenie czegoś na wzór popularnych obecnie i mocno promowanych chmur (o chmurach pisałem już jakiś czas temu, kiedy temat dopiero zaczynał interesować środowiska IT).
ownCloud być może nie jest jedynym tego typu rozwiązaniem dostępnym na otwartej licencji, ale urzeka prostotą i intuicyjnością, choć w kilku obszarach wymaga dopracowania.

Instalacja

Proces instalacji jest bardzo prosty (opisany np. w linkowanym wcześniej artykule) - polega na rozpakowaniu pobranego archiwum, przeniesieniu plików w miejsce, które może być spokojnie serwowane przez apacza, ustaleniu właściciela plików i... już. Restart serwera apache to tylko formalność, acz konieczna. Co do wymogów dotyczących potrzebnego do uruchomienia i działania aplikacji dodatkowego oprogramowania, w zasadzie wszystkie składniki są już zainstalowane na większości komputerów, szczególnie tych, na których działa apache wraz z PHP i serwerem MySQL.

Konfiguracja wstępna

Przy pierwszym uruchomieniu aplikacji należy ustalić nazwę użytkownika z uprawnieniami administratora (kwestia przypisania o odpowiedniej grupy uprawnień, ale to już później, w panelu ustawień aplikacji) oraz hasło dla tego użytkownika, zadecydować, który silnik bazodanowy wykorzystamy w naszym serwisie (do wyboru SQLite lub MySQL - ja wybrałem ten drugi) i zatwierdzić miejsce składowania plików użytkowników.


Użytkowanie

Po zalogowaniu możemy od razu przejść do użytkowania serwisu :-) Najpierw ujrzymy stronę startową - pustą listę plików (nasza w tym głowa, żeby ją zapełnić):


Oczywiście wrzucamy jakąś zawartość - u mnie na pierwszy ogień poszły pliki muzyczne, bo chciałem przy okazji sprawdzić, jak działa wbudowany w serwis odtwarzacz:


I tu pierwszy zonk - odtwarzacz nie do końca radzi sobie z niektórymi plikami muzycznymi - z dwóch przykładowych, testowych "empetrójek" był w stanie odtworzyć tylko jedną. Być może nie jest to wina samej aplikacji, może część winy leży po stronie przeglądarki? Nie wiem, bedę testował dalej (jeśli wystarczy czasu).


Zasoby, które umieścimy w naszej chmurze możemy udostępniać innym użytkownikom lub grupom. Dostępna jest też specjalna opcja - możemy uczynić pliki publicznymi, ale w tym przypadku uwagę należy zwrócić na prawa autorskie i licencje (szczególnie, jeśli będziemy przechowywać w chmurze muzykę, wideo, fotografie czy pakiety instalacyjne programów).

Konfiguracja - c.d.

Każdy użytkownik ma możliwość (nieco ograniczoną) personalizacji serwisu, szczególnie, jeśli uruchomionych (uaktywnionych) jest więcej aplikacji. Owe aplikacje to chyba główna siła uderzeniowa ownCloud (istnieje nawet możliwość tworzenia własnych aplikacji - niestety, nie zagłębiłem się jeszcze w szczegóły). Na początku, domyślnie włączone są kalendarz, udostępnianie plików, kontakty i media. Włączania lub wyłączania aplikacji może dokonywać administrator z poziomu panelu ustawień:


U siebie zostawiłem tylko media i udostępnianie plików.
Wszyscy użytkownicy mogą za to zmieniać swoje ustawienia osobiste (w tym hasło, opcje specyficzne ze względu na uaktywnione aplikacje):


Wracając do admina, ma on jeszcze (oczywiście :-)) możliwość tworzenia, edycji i usuwania kont użytkowników i grup. Nie można (a przynajmniej nie znalazłem takiej możliwości) tworzyć grup osobno - nową grupę generuje się w momencie przypisania do niej nowo utworzonego konta użytkownika.
Dla każdego użytkownika można ustalić quotę (przestrzeń dyskową do wykorzystania) - rzecz niewątpliwie przydatną. Nie próbowałem jednak spowodować sytuacji przekroczenia quoty, więc nie wiem, jak w tym przypadku zachowa się aplikacja.


Co ciekawe, do serwisu, a w zasadzie do usług udostępnianych przez poszczególne aplikacje można uzyskać dostęp korzystając z WebDAV, CalDAV i CardDAV - tutaj duży plus dla twórców (działa - testowałem WebDAV).
Kolejna przyjemna rzecz to praktycznie brak konieczności zmian konfiguracji samego środowiska serwera apache i PHP, poza jednym szczegółem - parametrem pozwalającym na upload plików większych, niż 2MB...

Wnioski

Tylko tyle udało mi się przejrzeć w ciągu pierwszych kilkunastu minut testowania ownCloud. Ale wniosków kilka wyciągnąć się da ;-) Po pierwsze, coraz bardziej kocham HTML5 :-) Po drugie, aplikacja - mimo, że znajduje się w fazie mocno rozwojowej - działa dosyć sprawnie, a interfejs zaprojektowany jest jako produkt intuicyjny, pod względem koloru i designu dobrze dopasowany do współczesnych trendów. Po trzecie, aplikacje tego typu stanowić mogą niezłą alternatywę dla samby, która co prawda rewelacyjnie działa na zderzeniu systemów Windows i Linux, jednak wymaga poświęcenia relatywnie dużej ilości czasu na poprawną (pożądaną) konfigurację. Jak na początek, dla mnie ownCloud to świetne rozwiązanie, które raczej zagości na stałe w mojej małej sieci lokalnej. No i oczywiście postaram się - w miarę wolnego czasu - poszerzyć swoje doświadczenia związane z użytkowaniem ownCloud. Kto wie, może skrobnę jakiś bardziej zaangażowany artykuł?

Strona projektu:
http://owncloud.org

poniedziałek, 17 października 2011

Kilka linków dla programistów piszących w C, a chcących przesiąść się na C++

Tak! Temat ciągle aktualny - tak, jak ciągle możemy znaleźć ludzi, którzy rewelacyjnie programują mikrokontrolery ATMega/ATTiny (w odmianie Basica) jak i inne, z serii 8051 (w asemblerze lub czasem w C), nie mając pojęcia o np. programowaniu zorientowanym obiektowo, frameworkach, bibliotekach itp.
Czasem zdarza się, że programiści, którzy zjedli zęby na C, chcą czy muszą nauczyć się szybko języka C++ (nie będę wnikał w szczegóły i powody decyzji, czemu akurat C++; na temat braków tego języka, jak i zalet, dyskutowaliśmy parokrotnie na G+). Być może, gdyby dobrze pogooglać, znajdzie się wiele poradników na ten temat, ja jednak chciałbym tutaj zaproponować coś, co znalazłem w codziennym mailingu:
From C to C++: A quick reference for aging programmers :-)
oraz - idąc dalej tym tropem:
C++ tutorial for C users.
I jeszcze lista linków:
C++ tutorial for C users (sekcja Related)
Polecam!

wtorek, 4 października 2011

"We code hard in these cubicles"

Tym razem wideo prezentowane podczas otwarcia tegorocznej konferencji JavaOne. Uwielbiam to połączenie Javy ze sztuką ;-)



(źródło: The "Java Life" Rap Music Video)

Jeśli ktoś chce sobie porapować z geekami, może posłużyć się dostępnym w sieci tekstem...

Wszyscy oczywiście doskonale pamiętamy Lady Javę :-)