Synchronizacja plików

jjb

2014/01/24

Categories: informatyka Tags: synchronizacja ochrona danych replikacja security

Table of Contents

Narzędzia lokalne i co dalej …

Nie ma znaczenia jak wygodny jest program, którego używamy do zapisków, organizacji pracy własnej czy zespołu. Prędzej czy później staniemy przed problemem synchronizacji plików tworzonych lub zmienianych w różnych miejscach, bywa, że na różnych platformach systemowych. To właśnie tej potrzebie zawdzięczają swoją popularność interfejsy webowe, które mogą być wykorzystywane na różnych platformach systemowych przy użyciu przeglądarek standardowych dla systemu. Do grona platform, które trzeba wziąć pod uwagę, już dawno dołączyły systemy operacyjne dla urządzeń mobilnych. Co prawda wygląda na to, że wielu projektantów stron webowych nie ma świadomości, że niekoniecznie chcemy za oglądanie reklam na ich stronie płacić w abonamencie sieci GSM i skutecznie odstręczają od zaglądania na nie. Ale nie o tym chciałem napisać, to tylko drobna smartfonowa irytacja.

Otóż mamy swoje pliki w jednym miejscu, ale mamy też świadomość, że dobrze byłoby mieć swobodę pracy nad nimi, w pracy lub w domu, korzystając z tabletu czy smartfonu. Oczywiście dotyczy to konkretnych plików, na konkretnych urządzeniach, ale też pewne pliki mogą być używane wspólnie. Co możemy zrobić? Jedna możliwość to korzystanie z gotowych oferowanych w sieci usług, które w pewnym zakresie są darmowe i można się z nimi zapoznać bez ponoszenia dodatkowych opłat. Takim popularnym serwisem jest Dropbox. Klienty Dropboksa dostępne są na różne urządzenia. Można też wykorzystać technologię SpiderOak, aczkolwiek jest nieco inne.

Oczywiście są także inne rozwiązania, ale ich wspólną cechą jest to, że w praktyce nie wiemy, gdzie są nasze dane, a z drugiej strony w takiej publicznej chmurze mamy to, co mamy, nie możemy zwykle wpływać na funkcjonalności, jakie są dostępne, przynajmniej w krótkim czasie. Alternatywą są rozwiązania open source postawione na własnych systemach w domu, czy też korzystające z hostingu.

Jednym z takich rozbudowanych rozwiązań jest projekt ownCloud. Wersja Community rozwija się bardzo mocno, wykorzystuje stabilne, mocno rozwinięte projekty, jak Apache, MySQL/MariaDB, standardowe protokoły co pozwala pisać różnego rodzaju rozszerzenia oraz wtyczki zwiększające możliwości popularnej chmury.

Co trzeba umieć, aby zabrać się za konfigurowanie takiego systemu:

  1. konfigurować serwer httpd Apache na wybranej platformie;
  2. utworzyć certyfikaty SSL i uruchomić apache z obsługa protokołu https;
  3. konfigurować serwery baz typu MySQ/MariaDB;
  4. konfigurować mod_php i PHP;
  5. ustawić reguły zapory i domyślny start usług.

Na platformie CentOS 7 powyższe czynności zajęły mi dwie godziny łącznie z wykonaniem update systemu i przeczytaniem dokumentacji. Przy okazji natknąłem się na drobny defekt domyślnego pliku /etc/php.ini

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
; http://php.net/pdo_mysql.default-socket

Otóż wbrew temu co tu jest napisane PDO niczego się nie domyśli więc trzeba wpisać gdzie znajduje się socket, np.

pdo_mysql.default_socket=/var/lib/mysql/mysql.sock

w przeciwnym razie będziemy mieli możliwość użycia jedynie bazy SQLite, co dla prywatnych zastosowań jest jak najbardziej wystarczające, ale w pracy grupowej zaleca się coś mocniejszego.

W zależnościach dla pakietu owncloud nie jest uwzględnione potrzebne wsparcie dla PDO oraz GD w PHP więc odpowiednie pakiety trzeba po prostu doinstalować w sposób standardowy dla danej dystrybucji.

Interfejs webowy jest prosty, wydaje się wręcz przaśny, ale nie zapominajmy o tym, że za lekki interfejs podziękują nam szybszą pracą słabsze urządzenia mobilne. Aby zacząć używać stworzonej chmury trzeba na komputerach, czy smartfonach doinstalować klienty, które będą w tle dbać o synchronizację plików. Po pewnym czasie, dodajmy krótkim, kiedy zdobędziemy podstawowe doświadczenia, na pewno pokusimy się o doinstalowanie rozszerzeń. Jest ich sporo, warto się zastanowić, które są nam naprawdę potrzebne. Dodam tylko, że synchronizacja kalendarzy, czy zadań nie jest czymś specjalnie kłopotliwym.

>> Home