Często spędzamy przy klawiaturze całe dnie, warto więc zainwestować w model bardziej trwały, przyjemniejszą w użytkowaniu i dającą większe zadowolenie w codziennej pracy - we wrześniu.

  Otwieramy źródła profesjonalnej wiedzy
Aktualności | Numer bieżący | Społeczność | Zamówienia | Reklama | Kontakt

newsletter




Serwery www tani hosting w Linuxpl.com

  Jedyny w Polsce... » Archiwum » Numer 147: Maj... » Malinowa chmura  

Malinowa chmura

Zamów numer w wersji drukowanej!
Zaprenumeruj Linux Magazine!

Zamów numer w wersji elektronicznej!
Zamów e-prenumeratę Linux Magazine!

Bliżej chmury - Przekształcamy Raspberry Pi B 2 przy użyciu Cozy w wielofunkcyjny i przyjazny dla użytkownika serwer. Dmitri Popov

Wykorzystanie Raspberry Pi w roli niewielkiego i wydajnego serwera chmury osobistej nie jest nowym pomysłem i istnieje mnóstwo aplikacji internetowych i narzędzi, które pozwalają przekształcić tę niewielką maszynę w platformę potrafiącą sprostać każdemu stawianemu jej zadaniu: od serwowania plików i udostępniania zdjęć po agregację kanałów RSS i strumieniowanie muzyki. Wdrożenie aplikacji pozwala skonfigurować oparty na Raspberry Pi serwer chmurowy dostosowany do potrzeb użytkownika, ale ma kilka wad.

Po pierwsze, oznacza konieczność zainstalowania i skonfigurowania każdej aplikacji oddzielnie, co wymaga czasu, a czasami również wiedzy technicznej. Utworzony w ten sposób serwer jest zasadniczo zbiorem różnych aplikacji, bez wspólnego interfejsu, który łączyłby je. Ponadto zarządzenie serwerem i regularne aktualizowanie wszystkich aplikacji również może być czasochłonne.

Cozy [1] to łatwa do wdrożenia i przyjazna dla użytkownika platforma dla chmur osobistych. Choć daje się zainstalować na właściwie każdej maszynie opartej na Linuksie, projekt dostarcza gotowy obraz dla Raspberry Pi B 2, dzięki czemu idealnie nadaje się do skonfigurowania wielofunkcyjnego serwera dla chmury – w zaledwie kilka minut (Rysunek 1).

Rysunek 1: Cozy przekształca Raspberry Pi w serwer osobistej chmury w zaledwie kilka minut.

Instalacja Cozy

Aby utworzyć rozruchową kartę miniSD za pomocą oprogramowania Cozy, pobieramy przy użyciu wget skompresowane archiwum z obrazem:

wget http://files.cozycloud.cc/U

2015-06-16-cozy-raspberry-pi2.img.7z

Instalujemy narzędzie p7zip wymagane do wypakowania pliku obrazu z archiwum. Pod Debianem i Ubuntu możemy w tym celu uruchomić z uprawnieniami konta root polecenie apt-get install p7zip. Następnie dekompresujemy archiwum:

7zr e 2015-06-16-cozy-U

raspberry-pi2.img.7z

Wkładamy i montujemy kartę miniSD i uruchamiamy polecenie mount, aby wyświetlić wszystkie zamontowane urządzenia. Ścieżka karty miniSD powinna wyglądać podobnie do /dev/sdc1. Aby zapisać obraz na karcie, wywołujemy z uprawnieniami konta root:

dd bs=4M if=2015-06-16-cozy-U

raspberry-pi2.img of=/dev/sdc

Wsuwamy do Raspberry Pi przygotowaną kartę miniSD i uruchamiamy ją. Czekamy, aż Cozy wystartuje (może to chwilę potrwać). Otworzywszy w przeglądarce adres http://127.0.0.1/ (zmieniając 127.0.0.1 na adres IP naszego Raspberry Pi), powinniśmy zostać przeniesieni na stronę główną Cozy. Tworzymy nowe konto użytkownika i możemy przystąpić do pracy.

Cozy często jest aktualizowany, po zalogowaniu się do instancji Cozy możemy się więc spodziewać powiadomienia o dostępnej aktualizacji. Zanim zaczniemy używać Cozy, warto go zaktualizować. W tym celu przechodzimy do sekcji Status i w Platform wciskamy Update all. Teraz możemy zacząć poznawać Cozy.

Aplikacje

Wszystkie funkcje w Cozy implementowane są za pośrednictwem aplikacji, które możemy łatwo przeglądać i instalować poprzez sklep platformy. Lista dostępnych aktualnie w sklepie aplikacji nie jest długa, ale obejmuje najpotrzebniejsze. Należą do nich m.in. Files i Photos, które pozwalają przekształcić Raspberry Pi we wszechstronną platformę do przechowywania i publikowania zdjęć; warto zainstalować je w pierwszej kolejności. Proces instalacji aplikacji w Cozy nie mógłby być prostszy; wystarczy wybrać aplikację ze sklepu, sprawdzić wymagane uprawnienia i kliknąć Install (Rysunek 2).

Rysunek 2: Instalacja aplikacji Cozy jest dziecinnie prosta.

Files i Photos to niewielkie aplikacje, które jednak dostarczają niezbędne narzędzia do zarządzania plikami i publikowania zdjęć. Files umożliwia łatwe przesyłanie pojedynczych plików i całych katalogów za pomocą odpowiednich przycisków (Rysunek 3). Alternatywnie możemy przeciągać i upuszczać pliki i katalogi na stronę Filesa. Aby ułatwić zarządzanie plikami i katalogami, możemy przypisać do nich etykiety. W tym celu wybieramy obiekt, któremu chcemy nadać etykietę, klikamy ikonę Tag i dodajemy dowolną liczbę etykiet.

Rysunek 3: Aplikacja Files oferuje wszystkie narządzenia niezbędne do zarządzania plikami i dokumentami.

Udostępnianie plików i katalogów jest równie proste (Rysunek 4). Klikamy ikonę Share, kopiujemy wygenerowany link udostępniający i wciskamy OK. Następnie możemy przesłać link innym, aby umożliwić im bezpośredni dostęp do pliku lub katalogu. Zamiast przesyłać link, możemy udostępnić plik lub katalog innym poprzez dodanie ich adresów mailowych w oknie Sharing. Później możemy zdefiniować uprawnienia dostępu dla każdego dodanego adresu e-mail. Po wciśnięciu OK system automatycznie wysyła powiadomienia mailowe do podanych odbiorców.

Rysunek 4: Udostępnianie plików również jest bardzo proste.

Aplikacja Photos nie jest przeładowana funkcjami i nadaje się do publikowania i udostępniania zdjęć (Rysunek 5) podzielonych na albumy. Aby utworzyć album, wystarczy kliknąć przycisk Create a New Album. Nadajemy mu nazwę i krótki opis i klikamy odpowiedni przycisk, by przesłać zdjęcia, albo przeciągamy i upuszczamy je na stronie. Jeśli w Files są już zdjęcia, nie musimy przesyłać ich ponownie. Wciskamy odpowiedni przycisk i wybieramy zdjęcia z aplikacji Files.

Rysunek 5: Photos umożliwia łatwe publikowanie, przeglądanie i udostępnianie zdjęć.

Funkcja udostępniania w aplikacji Photos umożliwia dzielenie się albumami z innymi. Interfejs pozwala wyświetlać zdjęcia, oznaczać je jako ulubione, obracać i usuwać. Tryb pokazu slajdów wyświetla zdjęcia z wybranego albumu.

Serwer prywatnej chmury nie byłby kompletny bez kalendarza i poczty – Cozy oferuje jedno i drugie. Podobnie jak pozostałe aplikacje Cozy, Calendar przedkłada prostotę nad funkcjonalność, ale dostarcza wszystkie najważniejsze narzędzia do zarządzania zadaniami i zdarzeniami (Rysunek 6). Obsługuje wiele kalendarzy i pozwala przypisywać do nich kolorowe etykiety. Możemy przełączać się między widokami: Tydzień, Miesiąc i Lista.

Rysunek 6: Aplikacja Calendar pozwala śledzić zadania i terminy.

Aby dodać wpis do kalendarza, wystarczy kliknąć wybraną datę. Dla każdego wydarzenia możemy określić czas rozpoczęcia i zakończenia (lub oznaczyć je jako wydarzenie całodzienne), podać lokalizację i przypisać gości. Możemy też ustawić przypomnienie o nadchodzących zdarzeniach. Ostatnie ustawienie dotyczy cykliczności, pozwalając wybrać częstotliwość powtarzania wydarzenia.

Cozy umożliwia również zsynchronizowanie kalendarzy z urządzeniem mobilnym. Aby włączyć synchronizację, instalujemy ze sklepu aplikację Sync, po czym uruchamiamy ją i podajemy informacje dotyczące serwera i poświadczenia. Synchronizacja kalendarza w Cozy odbywa się przy użyciu standardu CalDAV. Jeśli korzystamy z urządzenia z Androidem, instalujemy otwartoźródłową aplikację DAVdroid [2], pośredniczącą między aplikacją Calendar a kalendarzem Androida. W sklepie Google Play jest dostępna za opłatą, ale możemy pobrać ją za darmo z repozytorium F-Droid [3]. Ponieważ Cozy jest uruchomiony na Raspberry Pi, platforma wykorzystuje certyfikat z podpisem własnym, którego Android nie rozpoznaje.

W praktyce oznacza to, że aby DAVdroid mógł działać z instancją Cozy, powinniśmy zaimportować na urządzenie z Androidem certyfikat z podpisem własnym. Najprościej użyć aplikacji CAdroid [4], ale może się wyświetlić komunikat o nieprawidłowym certyfikacie. Możemy to obejść poprzez wygenerowanie nowego certyfikatu z prawidłową nazwą CN. ‎Łączymy się za pośrednictwem SSH z Raspberry Pi, z uruchomionym Cozy, i uruchamiamy polecenia:

cd /etc/cozy/

sudo openssl genrsa -out U

./server.key 1024

sudo openssl req -new -x509 -days U

3650 -key ./server.key -out ./server.crt

Na koniec seria pytań; możemy wcisnąć [Enter], aby zaakceptować wartości domyślne – oprócz Common Name, gdzie piszemy 127.0.0.1.xip.io (zmieniając 127.0.0.1 na adres IP Raspberry Pi). Określając adres URL serwera Cozy, używamy adresu 127.0.0.1.xip.io/public/sync/principals/me.

Zaimportowawszy certyfikat, uruchamiamy aplikację DAVdroid i tworzymy nowy profil synchronizacji. Po wyświetleniu monitu wybieramy Login with URL and user name i podajemy wymagane informacje dotyczące połączenia. Więcej szczegółów na temat konfiguracji DAVdroida znajduje się na stronie Calendar Synchronization [5].

Aplikacja Emails jest szczególnie przydatna, jeśli mamy wiele kont mailowych u różnych dostawców poczty. Skupia pocztę z nich wszystkich i dostarcza lekki i funkcjonalny interfejs webowy (Rysunek 7). O ile nasze konto e-mail obsługuje protokoły IMAP i SMTP, będzie dobrze współpracować z aplikacją. Podczas pierwszego uruchomienia Emails prosi o skonfigurowanie przynajmniej jednego profilu pocztowego. Jeśli korzystamy z popularnych usług takich, jak Gmail czy Yahoo! Mail, aplikacja automatycznie wypełnia wymagane ustawienia IMAP i SMTP.

Rysunek 7: Aplikacja Emails może obsługiwać wiele kont e-mail.

Emails jest podobny do głównego Cozy: najważniejsze funkcje ma zapakowane w sprawnie działającym i przyjaznym dla użytkownika interfejsie. Wątki grupowane są w konwersacje, co ułatwia wyszukiwanie wiadomości od wybranego nadawcy. Ważną korespondencję możemy oznaczać za pomocą gwiazdek oraz filtrować według różnych kryteriów. Na przykład filtrowanie po dacie pozwala szybko wyświetlić wiadomości z wybranego przedziału czasu, a nawet z konkretną datą. Do dyspozycji mamy też funkcję wyszukiwania wiadomości spełniających określone kryteria.

Oprócz oficjalnych narzędzi zbudowanych i rozwijanych przez programistów Cozy, na uwagę zasługuje także kilka pochodzących od członków społeczności. Na przykład Ghost służy do hostowania blogów na serwerze Cozy. Ten otwartoźródłowy silnik blogowy oferuje lekką alternatywę dla WordPressa i nadaje się do zarządzania osobistym blogiem.

Do strumieniowania muzyki możemy użyć odtwarzacza Cozic (Rysunek 8). Aby przesłać pliki muzyczne, przeciągamy i upuszczamy je w interfejsie programu; od razu możemy je odtwarzać. Odtwarzacz umożliwia strumieniowanie bieżącej listy odtwarzania. Wystarczy wcisnąć przycisk Broadcast i przesłać użytkownikom link publiczny do listy odtwarzania.

Rysunek 8: Odtwarzacz Cozic pozwala strumieniować muzykę i dzielić się nią z innymi.

W sklepie znajduje się wiele innych przydatnych aplikacji zewnętrznych – w tym bardzo ciekawa Weather, która pokazuje aktualne warunki pogodowe i pięciodniową prognozę dla dowolnej lokalizacji (Rysunek 9).

Rysunek 9: Weather to stylowa aplikacja pogodowa.

Zarządzanie Cozy z wiersza poleceń

Do wykonywania podstawowych czynności możemy użyć interfejsu graficznego, a do zarządzania instalacją Cozy – specjalnego narzędzia wiersza poleceń cozy-monitor. Zaczynamy od połączenia się przez SSH z Raspberry Pi, z uruchomionym Cozy, i używamy polecenia sudo cozy-monitor status, aby wyświetlić status zainstalowanych aplikacji. Polecenie sudo cozy-monitor stop [app] zatrzymuje określoną aplikację, a cozy-monitor restart [app] pozwala ją zrestartować. Aby uruchomić Cozy ponownie, używamy sudo cozy-monitor restart-cozy-stack.

Cozy używa bazy danych Couch DB. Do korzystania z niej przydaje się kilka poleceń. Na przykład sudo cozy-monitor compact cozy i sudo cozy-monitor cleanup cozy możemy użyć do kompaktowania i porządkowania domyślnej bazy danych cozy.

Domyślnie wszystkie dane (pliki, zdjęcia itp.) przechowywane są w katalogu /usr/local/var/lib/couchdb/, ale możemy je przenieść w inne miejsce (jak zamontowany zewnętrzy dysk USB). W tym celu otwieramy w edytorze Nano plik local.ini:

sudo nano /usr/local/etc/ U

couchdb/local.ini

Dodajemy:

[couchdb]

database_dir = /home/pi/cozy-data

view_index_dir = /home/pi/cozy-data

W tym wypadku katalog cozy-data do przechowywania danych Cozy jest
w /home/pi, ale możemy określić inne miejsce.

Polecenia:

sudo supervisorctl stop couchdb

mkdir /home/pi/cozy-data/

cp /usr/local/var/lib/couchdb/* U

/home/pi/cozy-data/

sudo chown -R couchdb:couchdb U

/home/pi/cozy-data/

supervisorctl start couchdb

aktywują zmiany.

Podsumowanie

Istnieje wiele sposobów na zbudowanie i wdrożenie serwera chmury osobistej; jeśli jednak wolimy się przy tym nie natrudzić, warto użyć Cozy. Platforma jest łatwa do wdrożenia i przyjazna dla użytkownika, a jej funkcje możemy rozszerzać przy użyciu ciągle wydłużanej listy aplikacji. Czy można go nie lubić?

Info

[1] Cozy: http://cozy.io
[2] DAVdroid: http://davdroid.bitfire.at
[3] DAVdroid w repozytorium F-Droid:
http://f-droid.org/repository/browse/?fdid=at.bitfire.davdroid
[4] CAdroid: http://cadroid.bitfire.at
[5] Synchronizacja kalendarza przy użyciu DAVdroida: http://cozy.io/en/mobile/calendar.html

 

In the US and Canada, Linux Magazine is known as Linux Pro Magazine.
Entire contents © 2017 [Linux New Media USA, LLC]
Linux New Media web sites:
North America: [Linux Pro Magazine]
UK/Worldwide: [Linux Magazine]
Germany: [Linux-Magazin] [LinuxUser] [EasyLinux] [Linux-Community] [Linux Technical Review]
Eastern Europe: [Linux Magazine Poland] [Linux Magazine Archive] [Darmowe Programy Poland] [Najlepsze Programy] [Blog.medialinx.pl]
International: [Linux Magazine Spanish]
[Linux Magazine Brazil] [EasyLinux Brazil]
Corporate: [Medialinx AG]