NextCloud – twój prywatny Dropbox
Korzystacie z Dropbox? Nawet jeżeli nie to na pewno wiecie co to jest lub używacie podobnego rozwiązania typu OneDrive, Google Drive czy chociażby iCloud. Wszystkie wymienione usługi to dyski sieciowe, czyli chmury do trzymania danych. Jest to bardzo wygodne rozwiązanie, bo posiadając odpowiednie aplikacje na swoich urządzeniach mamy dostęp do tych samych plików i możemy je edytować na wszystkich z nich. Kopia naszych danych jest zawsze dostępna na serwerach dostawcy usługi, więc jest to całkiem niezła forma back-up’u danych. Jest tu jednak jedno wielkie ALE… Wszystkie pliki są trzymane na serwerach takich firm jak Google czy Microsoft. Czy aby na pewno nam to pasuje? Prywatne dane w tak naprawdę cudzym posiadaniu. Ja jestem na tym punkcie lekko skrzywiony i taka sytuacja mi bardzo przeszkadza, dlatego dzisiaj omówimy jak zrobić swoją własną chmurę, bo przecież między innymi do tego mamy nasz serwer domowy!
Czym jest NextCloud
NextCloud to otwartoźródłowe oprogramowanie typu self-hosted, które można zainstalować praktycznie na wszystkim. Łączy w sobie wiele narzędzi. Tak jak już wspomniałem jedną z kluczowych funkcji jest możliwość stworzenia chmury na pliki z przyjemnym interfejsem grafinczym. NC oferuje poza tym dużo więcej, może służyć jako np. agregator kontaktów, kalendarz, galeria zdjęć, narzędzie biurowe (np. edytor tekstu) czy czytnik RSS, a także centrum do zarządzania pocztą e-mail.
Instalacja NextCloud
Po raz kolejny posłużymy się Dockerem. Muszę w końcu zrobić o nim cały wpis, bo głupio jest go używać bez uwczesnego wyjaśnienia o co w nim chodzi! Jednak jeszcze przed uruchomieniem kontenera NextCloud musimy najpierw utworzyć folder, w którym będą przechowywane jego pliki:sudo mkdir /nextcloud
Instalację Dockera oczywiście omówiliśmy sobie już w tym wpisie, więc nie będę tego powtarzał. Przystępujemy do budowania kontenera Dockera:docker run -d \
-e PUID=1000 \
-e PGID=1000 \
-p 82:80 \
-v /nextcloud:/var/www/html \
--name nextcloud \
--restart unless-stopped \
nextcloud:latest
Kontener nazwaliśmy „nextcloud”. Przekierowaliśmy port 82 serwera na port 80 kontenera, bo port 81 użyliśmy już dla usługi Webmin opisany w poprzednim wpisie. Dobrze jest zawsze sprawdzić poprawność uruchomienia kontenera poleceniem:docker ps
Przechodzimy do przeglądarki i wpisujemy adres „192.168.88.7:82”. NextCloud przywita nas ekranem, na którym możemy utworzyć konto administratora poprzez podanie loginu i hasła, co potwierdzamy wciskając przycisk „Zainstaluj” na dole. Po chwili powinna zostać załadowana kolejna strona, na której polecana jest nam instalacja dodatkowych aplikacji (kalendarz, edytor tekstowy, kontakty, mail i talk, czyli aplikacja do komunikacji). Decyzję czy instalować dodatki pozostawiam Wam.
Rezultat
Pozwólcie, że nie będę omawiał wszystkich funkcji NextCloud, bo mogłoby mi nie wystarczyć życia. Krótko mówią jest to kombajn, który na pewno będzie bardzo przydatny dla każdego użytkownika. Na start, bez żadnej konfiguracji, wygląda to tak:

Jak widać zakładka Pliki nie jest pusta, a znajduje się w niej chociażby bardzo obszerny manual, który oprowadzi nas po przynajmniej podstawowych funkcjonalnościach NextCloud.
Sprawdźmy jeszcze jak to wygląda z poziomu serwera. Aby, jako użytkownik „odroid”, dostać się do folderu z plikami NextCloud musimy skorzystać z protokołu WebDAV, który pozwoli nam zamontować zawartość NextCloud na podobnej zasadzie jak montuje się pendrive (co opisałem w tym wpisie). W tym celu pobieramy narzędzie:sudo apt install davfs2
Dodajemy naszego użytkownika do grupy „davfs2”:sudo usermod -aG davfs2 odroid
Pamiętajcie, aby po każdym przypisaniu użytkownika do nowej grupy, lub jakiejkolwiek zmiany jego uprawnień, przelogować się na nim w celu aktualizacji jego przynależności lub poświadczeń. Następnie tworzymy dwa foldery. Pierwszym z nich jest folder, do którego przypniemy zawartość NextCloud, ja wybrałem katalog domowy mojego użytkownika, gdzie utworzyłem podfolder:mkdir ~/nextcloud
Konieczne jest też utworzenie ukrytego folderu na potrzeby „davfs2”:mkdir ~/.davfs2
Następnie kopiujemy szablon pliku do przechowywania danych do logowania „secrets” z folderu macierzystego „davfs2” do świeżo utworzonego drugiego folderu:sudo cp /etc/davfs2/secrets ~/.davfs2/secrets
Musimy jeszcze zmienić właściciela tego pliku na naszego użytkownika:sudo chown odroid:odroid ~/.davfs2/secrets
Do tego zmienić uprawnienia:sudo chmod 600 ~/.davfs2/secrets
Przechodzimy do edycji pliku:nano ~/.davfs2/secrets
Na jego końcu dodajemy linijkę:/home/odroid/nextcloud [nazwa usera NextCloud] [hasło usera NextCloud]
Oczywiście podkreślone dane musicie wpisać zgodnie z tym co podaliście przy rejestrowaniu nowego użytkownika w NextCloud. Zapisujemy i zamykamy edytor tekstowy.
Na koniec jeszcze dobrze jest edytować plik „/etc/fstab” tak, aby montowanie zawartości NextCloud do folderu następowało przy każdym logowaniu:sudo nano /etc/fstab
Na koniec pliku wklejamy:http://192.168.88.7:82/remote.php/dav/files/[nazwa usera NextCloud]/ /home/odroid/nextcloud davfs user,rw,auto 0 0
Plik zapisujemy i wychodzimy z edytora tekstowego. Teraz pozostaje już tylko sprawdzić, czy NextCloud zamontuje nam się prawidłowo przy użyciu WebDAV:mount ~/nextcloud
Powinniśmy już mieć możliwość przejrzeć zawartość naszego sieciowego serwera NextCloud:ls -al ~/nextcloud
Posiadanie dostępu w ten sposób to bardzo fajna opcja, bo nie trzeba się bawić w żadne stare (i już nie jare) FTP, czy inne usługi pokroju rsync. W przyszłych wpisach na pewno będziemy w ten sposób przerzucać pliki pomiędzy komputerem i serwerem.
Jak podpiąć nasze urządzenia
Aplikacje dedykowane NextCloud są dostępne dla Windowsa, Linuxa, macOS, Androida i iOS. Wszystkie są dostępne po tym linkiem. Instalacja na każdym z systemów jest bliźniacza, więc pokażę cały proces na systemie macOS.
Po zainstalowaniu adekwatnej aplikacji odpalamy ją i na start otrzymujemy okno wyboru, na którym wybieramy przycisk „Zaloguj się do Nextcloud”. W następnym oknie jesteśmy proszeni o wpisanie adresu serwera, więc korzystając z protokołu HTTP, bo nie było potrzeby konfigurować SSL dla usługi udostępnianej jedynie w sieci lokalnej (i poprzez VPN co opisałem w tym wpisie), podajemy „http://192.168.88.7:82” i potwierdzamy przyciskiem „Dalej >”.


Zostaniemy przeniesieni do przeglądarki, gdzie musimy uwierzytelnić nowego klienta.



Na koniec wracamy do świeżo zainstalowanej aplikacji NextCloud, gdzie pozostaje nam jeszcze podstawowa konfiguracja klienta. Podajemy folder w pamięci lokalnej komputera, do którego ma zostać podpięty NextCloud. Reszta do zmiany według uznania. Na koniec potwierdzamy przyciskiem „Połącz” i gotowe. Tak skonfigurowany klient będzie nam w czasie rzeczywistym aktualizował pliki, co oznacza, że gdy zmodyfikujemy, dodamy lub usuniemy plik na dowolnym urządzeniu to za moment pojawi się on na serwerze, a następnie na innych podpiętych urządzeniach. Jeżeli zestawimy to z tunelem VPN, który utworzyliśmy w tym wpisie o WireGuard, to będziemy mieli dostęp do naszych plików z dowolnego miejsca na świecie.

Jeżeli materiał zawarty w tym wpisie jest dla Ciebie wartościowy i masz ochotę wesprzeć moją pracę to zapraszam na mój profil na >Patronite<. Zachęcam także do odwiedzenia mojej strony >tomaszdunia.pl<. Możesz także zagadać do mnie na Twitterze >@theto3k<.
Poprzedni wpis:
Webmin – webowe centrum dowodzenia serwerem
Następny wpis:
Bitwarden – twój prywatny menedżer haseł
Kategorie: Dla początkujących,Poradniki,Usługi - @ 2022-07-01 18:00
Tagi: Android, chmod, chmura, docker, dropbox, dysk sieciowy, google drive, icloud, ios, Linux, macOS, nextcloud, ODROID, onedrive, port 82, RaspberryPi, Windows