Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

DS416j — baza dla alternatywnych rozwiązań na przykładzie wdrożenia Nextcloud

Po co mi Nextcloud?

W dobie coraz częściej spotykanych incydentów związanych z wyciekami danych klientów, samych treści i/lub powszechnie stosowanej już przez różnej maści boty próbkowania treści sprawiają, że ze skanami ważnych lub mniej ważnych, aczkolwiek poufnych w stosunku do zewnętrznego otoczenia dokumentów, czy choćby ze zdjęciami z wakacji chciałoby się uciekać gdzieś indziej. Tylko dokąd?
Oferty internetowych schowków prezentowane były na łamach portalu dość często i regularnie. Ostatnio jest jakiś zastój w tym temacie. Wcale mnie to nie dziwi. Średnio już jest co omawiać. Korporacje przez pewien czas stosowały politykę "na wabik" oferując pojemności rzędu kilkudziesięciu lub kilkuset gigabajtów za darmo, tylko po to, aby po uzależnieniu od siebie użytkowników (którzy zdążyli przesłać już ponad nowy darmowy plan) przykręcić kurek do pięciu czy piętnastu gigabajtów.
W mojej ocenie uważam to za chamską politykę stawiania użytkownika pod ścianą w myśl zasady płać albo płacz, a najlepiej jedno i drugie oraz robienia z użytkownika klienta-idioty. Pozostaje jeszcze temat (o ile zdecydujemy się płacić) uzewnętrzniania się z numerami kart płatniczych celem dokonania zakupu usługi. Nie ma miesiąca, aby na skutek luk, włamań nie dochodziło do istotnych ilościowo wycieku wrażliwych danych (w tym numerów kart, które potem walają się po torowych czarnych i szarych, bitcoin'owo rozliczanych, internetowych marketach). Myślę, że rankingów, w których biją się chmury od Microsoft'u czy Google jest coraz mniej bo i NASów coraz więcej. Obecnie schowki typu 5GB w darmowych planach chyba już tylko wykorzystywane są do przerzucania danych z urządzeń mobilnych na komputery czy serwery domowe. No ewentualnie do skrupulatnego przechowywania pdf'ów i doc'ów ... i niczego innego. (chyba) A jeśli można znajdować sensowne rozwiązanie tak tego typu pojemności to chętnie o tym poczytam.

No i właśnie po to mi Nextcloud. Otwarte oprogramowanie do samodzielnego utworzenia chmury na kształt OneDrive, czy Mega. Dostępne są: klient mobilnej synchronizacji jak i tej desktopowej,a co ważniejsze strona serwerowa. Darmowa, do pobrania i rozwijana stale przez otaczającą twór sporą społeczność (ta na zgłaszane problemy reaguje nawet przez facebook'owy komunikator). Konfiguracja i personalizacja na obecnym poziomie pozwalają dosłownie zrobić sobie taką chmurkę, na kształt takiej, jaką chce się żeby była. Najlepiej taką, która zawieszona jest wewnątrz bezpiecznego domu, gdzie siedząc w fotelu możemy rzucić na nią okiem (małe czarne pudełko, w którym wszystko jest i jest schowane przed światem, a łatwo dostępne dla nas).

Co chciałem uzyskać?

Po pierwsze - serwer Nextcloud znajdujący się na Synology NAS DS416j bez limitu przechowywanych danych.
Po drugie - automatyczne wysłanie do NASa, a konkretnie do Nextcloud'a właśnie zrobionych zdjęć na zasadzie "cyk i .... wysyła". W założeniu tuż po zrobieniu zdjęcia z każdego urządzenia mobilnego wykonane fotografie czy filmy niezwłocznie wysyłane mają być na serwer do katalogu podlegającego obróbce zdjęciowej. W ten sposób zaoszczędza się mnóstwo czasu na ręczne przekopiowywanie plików i zastanawianie się czy "ten plik już mam, czy może nie".
Po trzecie - łatwe porządkowanie obrobionych fotografii, dokumentów, plików kopii zapasowych.
Po czwarte - dostęp do lekkiej galerii, przeglądarki plików i samych dokumentów z każdej lokalizacji, w której jest internet.
Po piąte - i chyba najważniejsze - niezależność. Wiem, że istnieją gotowe rozwiązania, takie jak PhotoStation i FileStation. Ale nie podoba mi się kiedy muszę korzystać z tego co mi ktoś narzuca. Nie mówię, że one są złe - po prostu lubię mieć wybór. Jeżeli serwer NAS taki wybór mi daje to jest to dobry serwer...

Jak zainstalowałem? Od czego trzeba zacząć?

Na dobrym początku logując się do serwera NAS musimy włączyć sobie dostęp przez SSH.
Robimy z poziomu DSM w przeglądarce, klikając w Panel Sterowania i dalej Terminal i SNMP. Po czym zafiszkować należy włącz usługę SSH i wybrać port. Domyślnie jest to 22 i taki też zostawiam dla potrzeb lokalnych. "Zdalnie" ustawiłem inny z przekierowaniem ze względów bezpieczeństwa, ale do tego co w tym wpisie uzyskać chcemy jest nam to niepotrzebne. Zakładamy, że robimy wszystko lokalnie.

Następnie zaopatrujemy się w jeden z klientów SSH np.puTTY. Należy zalogować się do serwera przez SSH (sprawdzić czy działa), spróbować podnieść sobie uprawnienia komendą sudo su - jeśli działa to zamiast bash'a zgłosi się ash - gdyby nie to znaczy, że koniecznie musimy dodać sobie użytkownika (useradd <nazwa>, a następnie passwd <nazwa usera> i nadać hasło) konsolowego, a jego dodać do /etc/sudoers zaraz pod wpisem root = ALL(ALL:ALL) (identyczny wpis dla nowego usera np. user = ALL(ALL:ALL) - nadmienić jeszcze należy, że w DSM po zalogowaniu się do konsoli nie uświadczymy edytorów pico czy nano, a poczciwego VIM'a, | Link to prostego manuala komend podstawowyh edytora | Ewentualnie pozostaje nam edytor wbudowany w Midnight Commander'a, którego od razu polecam doinstalować. Następnie należy otworzyć przeglądarkę i udać się na stronę instalacyjną Nextcloud, aby pobrać najnowszą wersję serwerowego oprogramowania chmury. Użyć można wget'a pod konsolą SSH serwera NAS lub rozpakować archiwum w Windows i metodą na żywca wgrać zawartość przez FileStation do naszego Synology i tę metodę polecam, bo jest po prostu wygodniejsza. Warto też utworzyć sobie kopię wszystkich wgrywanych plików na NASie w katalogu (np. /instalki/nextcloud.bkf/), który to będzie stanowił punkt odniesienia do stanu surowego (zerowego) instalki - od tak, gdybyśmy coś popsuli, to żeby było z czego przywrócić. DSM nie oferuje bzip'a ale tar'a już tak. Jest ograniczony więc z wget'owanym plikiem tgz czy bzip2 możemy mieć pod górę działając tu konsolą. Dlatego ja rozpakowywałem pod Windows i skopiowałem do /Volume1/Instalki/Nextcloud.bkf/ oraz do katalogu serwera www.
W przypadku DSM na 416j ścieżka to /var/services/web/.Po rozpakowaniu instalki Nextcloud i omawianą metodą na żywca wrzuceniu jej przez File Station, należy utworzyć przez DSM folder współdzielony (to będzie magazyn danych naszej chmury).

Danych nie umieszczamy tam, gdzie stoi strona z samą chmurą, gdyż jest to po prostu niebezpieczne i godzi w wydajność. W tym celu klikamy pod DSM w Panel sterowania i dodaj folder współdzielony. Nazywamy go Nextcloud i również należy w tym miejscu dodać host wirtualny.

Jako serwer lepiej ustawić Apache i to w wersji 2.4 a także PHP jeżeli jest to w wersji 7.0 (wszystkie te potrzebne pakiety znajdziecie w centrum pakietów i po prostu jeśli ich nie ma w systemie to trzeba je zainstalować). W DSM upewnić się należy, że mamy zainstalowany serwer www (WebStation) i następnie w nim ustawić należy host wirtualny np. o nazwie Nextcloud i wskazać ścieżkę do dokumentu jako web/nextcloud. Musimy też mieć pewność, że porty w naszym routerze są odpowiednio skonfigurowane. Tak aby można było się dostać po porcie 80 do naszego NASa z zewnątrz - inaczej na nic się zda cała zabawa.
Na tym etapie pod DSM kończy się przygotowanie samo w sobie. Podsumowując:
1 - wgrać rozpakowaną instancję Nextcloud(nalepiej do katalogu /var/services/web/nextcloud) - ogólnie rzecz ujmując do katalogu, który jest katalogiem instancji serwera web, a wirtualnego hosta, głównym dla instancji Nextcloud.
2 - zapewnić dostęp przez SSH

3 - zadbać o właściwe przekierowanie portów do serwera, aby działało jak należy.
4 - fajnie też doinstalować sobie Midnight Commandera, aby było łatwiej poruszać się na plikach pod terminalem. Dokonujemy tego dodając źródło pakietów w Centrum Pakietów, ustawienia i dalej klikając zakładkę źródła pakietów i dodać repozytorium społeczności Synology tak jak na zrzucie poniżej.

Powinniśmy uzyskać możliwość instalacji Midnight Commander'a i ma to być widoczne w repozytorium pakietów w następujący sposób. (u mnie jest już zainstalowane )
Przed zainstalowaniem należy szukać go w zbiorze pakietów od społeczności. Po doinstalowaniu ma wyglądać to tak, jak na prezentowanym zrzucie.
5 - dobrze się zaopatrzyć w jakieś konto typu no-ip.org albo inny dynamic-dns. No chyba, że ktoś ma już stały, publiczny IP wraz z nadaną domeną i mu się to nie zmieni.

Przystępujemy do montażu...

W tym celu logujemy się przez SSH i wydajemy kilka prostych komend. Ma to wyglądać tak:
Mówiąc krótko - potrzebujemy dostępu do SSH, praw root'a, instalki nextcloud'a, utworzonego folderu współdzielonego na dane, dodanego repozytorium synology community, midnight commander'a, instalki Nextcloud'a załadowanej do serwera i utworzonego wirtualnego host'a.

Kolejną czynnością, którą należy wykonać jest zainstalowanie bazy danych mariaDB (nextcloud będzie też działał na sqlite czy posql, ale proponuję mariaDB ze względów wydajnościowych). W DS416j (tudzież w DSM samym sobie) znajdziemy pakiety instalacyjne mariaDB 5 oraz 10. Ja zainstalowałem obydwa w celach testowych. Musimy skonfigurować naszą bazę danych aby podłączyć do niej instancję nextcloud'a. Przed skonfigurowaniem z głównego menu DSM odpalamy MariaDB i resetujemy hasło - to będzie hasło root dla naszej bazy danych. Następnie spod konsoli wydajemy serię następujących komend:

mysql - u root -p

i w celu utworzenia bazy danych dla nextcloud'a:

create database nextcloud;

utworzyć też musimy użytkownika tejże bazy:

create user nextclouduser@localhost identified by 'twoje-wybrane-hasło';

dodajemy dostęp:

grant all privileges on nextcloud.* to nextclouduser@localhost identified by twoje-wybrane-hasło';

flush privileges;exit;

przy czym należy zapamiętać tutaj dwie rzeczy - hasło root dla mariaDB czy też wybranej bazy danych, hasło użytkownika nextclouduser - które posłuży za moment do podłączenia bazy danych. zapamiętać samą nazwę użytkownika nextclouduser - jest to user dla bazy danych o nazwie nextloud. Po wpisaniu w pasku adresu przeglądarki

http://adres-ip-serwera-nas/nextcloud i/lub (po domenie np. typu no-ip.org)

http://moja-domena.no-ip.org/nextcloud

- naszym oczom ma ukazać się następujący widok. (o ile wszystkie uprawnienia dostępu do katalogów serwera web są nadane właściwie).
W przypadku błędu 404 - źle coś skopiowaliśmy (nie tam gdzie trzeba),
błędu 500 lub 503 - źle ustawione są uprawnienia lub sam serwer nie jest skonfigurowany prawidłowo. Należy powtórzyć konfigurację przeinstalowując od początku. Od początku bo czasowo bardziej się to opłaci, niż śledzić ręcznie każdy plik konfiguracyjny osobno.

Do pól tekstowych odnosimy się w następujący sposób:username - nazwa pierwszego, utworzonego użytkownika administracyjnego dla instancji nextcloud - to za pomocą tego konta będziemy tworzyć kolejne.

password - żądane hasło dla w/w konta. W tym miejscu polecam sobie gdzieś to wszystko zapisać bo można się zakręcić i pomylić konta i hasła.

data folder - to nic innego jak wcześniej utworzony folder współdzielony na naszym NAS'ie, który będzie służył jako magazyn danych. W naszym przypadku było to:/volume1/nextcloud/

database user - użytkownik bazy danych. Czyli użytkownik utworzony powyzej na potrzeby instancji chury - w naszym przypadku nextclouduser

database password - wybrane przy tworzeniu bazy danych i użytkownika nextclouduser hasło bazy danych.

database name - wybrana podczas konfiguracji bazy danych - nazwa bazy danych.
W naszym przypadku nextcloud.

locahost - pozostawiamy bez zmian.

W tym miejscu muszę zaznaczyć, że podczas testowania DS416j napotkałem uwagę grożącą mi niepoprawnością plików w przypadku, gdy te będą większe niż 4GB. Miałoby tak być ponieważ użyta wersja php5.6 czy 7.0 - są 32-bitowe. Ostrzeżenie było, a pliki powyżej 4GB mają się świetnie. Myślę, że to po prostu wariacja DSM. W każdym razie gdyby w tym miejscu pojawiła się informacja o brakujących modułach php, to doinstalować je można zafiszkowując stosowne moduły w zaawansowanych ustawieniach php dla wybranego wirtualnego hosta. Dla ułatwienia wklejam zrzut.

Należy również dodać do parametru open_basedir; :/dev/urandom:/volume1/nextcloud/

gdzie volume1 to wolumen, który ma zostać przeznaczony na dane. Nie jest to konieczne, ale ze względów wydajnościowych zalecane. W DS416j miałem możliwość pracy na php5.6 oraz siódmą wersją. Każdą konfigurujemy podobnie, ale różnicy w działaniu nie zauważyłem.
Brakujące moduły będą "wywalane" przy próbie logowania przez przeglądarkę. Sukcesywnie spiszcie je na kartce i zafiszkujcie w sekcji rozszerzeń dla ustawień konkretnej, wybranej wersji PHP. Po pozbyciu się ewentualnych konfliktów powinna nas przywitać strona pytająca o nadanie nazwy konta administracyjnego i hasła.Samo poruszanie się po nextcloud oraz zagadnienia takie jak montowanie katalogów lokalnych czy zewnętrznych onedrive'ów czy Google-dysków omówię w osobnym wpisie. Istnieje też możliwość podpinania przez FTP co stanowi pewien miły myk w przechowywaniu znacznych gabarytowo danych na darmowych lub czterozłotowyh VPS'ach od np. Aruby - ale o tym osobny wpis. Po utworzeniu konta administratora oraz popranym na nie zalogowaniu wita nas kilka przykładowych katalogów i plików.

Podsumowując udaną akcję...

Uważam, że serwer Synology DS416j świetnie radzi sobie z hostowaniem takiej usługi. Mimo perturbacji z 32-bitowością php całość skatowana pod kątem wielu mniejszych i większych plików wypada ok i nie spowodowała żadnych problemów.
Konsolowe pomiary obciążenia nie wykazały "nie wiadomo" jakiego zmęczenia.
Myślę, że tu procesor powiedział ostatnie zdanie, choć nadal uważam, że w tym przedziale cenowym (przypomnijmy - ok 1250,00 zł + dyski) to 1GB RAM powinien być już standardem. Do synchronizacji oraz automatycznego upload'u zdjęć wykorzystałem oficjalne klienty aplikacji Netcloud na Androida. W intuicyjnych ustawieniach możemy wskazać katalog, do którego automatycznie będą wysyłane fotki lub filmy. Do dyspozycji dostajemy również php'ową wersję passman'a (menedżera haseł specjalnie dla nextcloud), pakiety biurowe, menedżera kontaktów, a także klienta poczty do którego możemy podłączyć zewnętrzne skrzynki, agregując swoje pliki i swoje maile, swoją pracę i kolaborację w jednym miejscu. W Ajax'ie (trybie pracy chmury) przy pięcio-użytkownikowym obciążeniu nextcloud (czyli php) nie laguje. Więcej userów nie dodałem bo przyznajmy szczerze ile razy zdarza się sytuacja, w której więcej niż pięć osób pracuje nad jednym i tym samym dokumentem, czy kalendarzem, a dodać muszę, że nextcloud ma bardzo elegancki i intuicyjny kalendarz rozszerzalny o funkcjonalności protokołu calDAV i tworzenie nieskończonej liczby kalendarzy, w pełni synchronizowalnych i udostępnialnych. Ale o tym kiedy indziej. Warto się pobawić i docenić alternatywę otwartego źródła. W czasach kiedy wszystko jest "AS" As Service (w tym miejscu aby zrozumieć lepiej moją irytację podlinkuję do wpisu Oksara o Microsoft365). Może fajnie znów było by coś po prostu kupić, albo stworzyć i mieć, a co najważniejsze móc zrobić z tym co się chce. Bez presji, że już niedługo pozdrowienia z Banku tytułem rozliczenia transakcji z karty za kolejny abonament na e-usługi. Osobiście SAS mnie męczy. Im bardziej ten model sprzedaży się rozrasta, tym bardziej kombinuję i szukam alternatywy. Taki rocznik widocznie. Pozdrawiam.

 

sprzęt oprogramowanie serwery

Komentarze

0 nowych
MiłoszW   9 #1 13.07.2017 11:44

Ja się zawiodłem Nextcloudem. Projekt prowadzony chaotycznie, updaty rzadkie, podbijają o cały numerek nie wrzucając za dużo zmian. Dużo błędów, podstawowe funkcjonalności działają, jakby chciały, a nie mogły. Do tego sporo złych decyzji interfejsowych. Słabiutko. Mogliby zrobić jakąś wersję jeszcze nie dla ISP, ale już dla poważniejszych ludzi ze społeczności, np. za 30 euro rocznie albo 100 euro z licencją na 5 lat, czy coś, ale za to porządnie się za to zabrać.

vera109   10 #2 13.07.2017 12:22

Długo na wirtualnej marynie się bawiłem. Nie wiem na jakiej wersji zabawę zakończyłes, ale w stosunku do tego co było kiedyś to jest dużo lepiej. Ja zaczynałem od ósmej wersji.

  #3 13.07.2017 12:23

szukam dobrego zamiennika chmury i nie znalazlem, potrzebuje synchronizowac chocby dysk z dowolnym systemem (od malin po maki)
prosta aplikacje do komorki. na razie nic nie znalazlem.
nextcloud jest do bani. Nie potrzeba mi wiele, niech przenosi pliki i umozliwia odtwarzanie muzyki. niestety dobrych darmowych rozwiazan brak

  #4 13.07.2017 12:36

Wreszcie jakieś mięcho odnośnie NASow z Synology. Miałem już jakiś czas temu to przetestować na moim, żeby wymieniać pliki z klientem. Trzeba będzie się zmobilizować :)

  #5 13.07.2017 12:43

Znalazłem błąd :-)
"po zalogowaniu się do konsoli nie uświadczymy edytorów pico czy nano, a poczciwego VIM'a" - powinno być "potężnego VIM'a"

vera109   10 #6 13.07.2017 13:25

@Anonim (niezalogowany): ooooo tak :-) stary, dobry i poczciwy VIM :P :)

vera109   10 #7 13.07.2017 13:26

@gowain: nie ma źle, ale w stosunku do VPSa z jednym vcore 1,2Ghz i 1GB ramu ... niestety czuje się różnicę.

jarodebombel   7 #8 13.07.2017 15:14

mam pytanie z innej beczki: jaki system, ew z jakim menedżerem okien, autor wpisu używa? ostatni obrazek bardzo mnie zaintrygował! :]

Shaki81 MODERATOR BLOGA  38 #9 13.07.2017 18:43

Dobry wpis - końcu mamy coś ponad standardowe wykorzystanie dysku.

vera109   10 #10 13.07.2017 19:02

@jarodebombel: to okno przeglądarki vivaldi. System to Windows 10 pro CU

SpeX   7 #11 14.07.2017 04:43

@vera109 Czy NextCloud jednak będzie lepiej chodził na VPS niż na NASie?

A jak w NC wygląda możliwość podpisania zdalnych zasobów dyskowych? Przykładowo NC na VPS, a store na NAS czy jakiś S3. Ba, a może da się ustawić jakiś "raid" NAS+S3, by po stronie NASa nie robić raida.

A czy NC pójdzie na koncie współdzielonym? Bo na chwilę obecną to zależy mi właśnie jako serwer CalDEVa

Tomcraft911   2 #12 14.07.2017 08:30

Witam

Wpis bardzo ciekawy i myślę, że w niedługim czasie skorzystam z informacji tutaj przekazanych za co dziękuje. Czy mógłbyś sprawdzić czy możesz ustawić limit miejsca na dowolne foldery współdzielone? ponieważ u siebie nie mogę tego zrobić jedynie pozostaje mi przydzielanie limitu miejsca na użytkownika/grupę a nie wiem dlaczego ustawienie limitu miejsca na folder współdzielony ta opcja jest nieaktywna..

pozdrawiam

vera109   10 #13 14.07.2017 13:32

@SpeX: będę robił wpis na temat zawnętrzynych zasobów montowanych z poziomu instancji NC na VPS. VPS od Aruby z 20GB limitem a ja ten limit chcę przeskoczyć montując zewnętrzne zasoby po FTP na dyskach zapiętych pod router. Pokażę i omówię.

vera109   10 #14 14.07.2017 13:33

@Tomcraft911: foldery współdzielone na etapie NAS'a czy współdzielone foldery dla userow Nextcloud'a?

vera109   10 #15 14.07.2017 13:34

@SpeX: Będzie. Słuszna uwaga. I dlatego zaprezentuję rozwiązanie alternatywne do tego (bo i takie istnieje) w osobnym wpisie. Dobre masz spostrzeżenia i drążymy widzę w tę sama stronę. Mi się udało coś wykombinować i działa fajnie. Jak tylko skończę wpisy o DS416j pokażę jakie rozwiązanie opracowałem w oparciu o VPS.

Norville   4 #16 14.07.2017 23:29

nextcloud czy owncloud?

vera109   10 #17 14.07.2017 23:39

@Norville: Nextcloud. Owncloud jest w repozytoriach od społeczności Synology. Ale nie daje się podłączyć do MariaDB. (Nie wiem dlaczego) Brak autoryzacji i koniec. Owncloud nie posiada również darmowego klienta na Androida. Jest oficjalny, ale płatny. Jest niemiecki darmowy zamiennik, ale z reklamami. Z Nextcloud'em nie ma tego problemu. I... zauważyłem, że na wirtualnych maszynach działa szybciej.

Tomcraft911   2 #18 17.07.2017 07:34

@vera109: NA etapie NASa. Dzięki za odpowiedź ale udało mi się znaleźć przyczynę a mianowicie winny był system plików. Zastosowałem BTRFS i dzięki temu opcja z limitem miejsca na foldery współdzielone z poziomu NASa stała się aktywna.

  #19 20.07.2017 02:10

Syncthing

vera109   10 #20 21.07.2017 17:08

Testowany - używam do sychronizacji p2p telefonów. w Przypadku magazynów się nie sprawdza bo jak zsynchronizujesz 8TB danych z telefonem czy innym kompem, który jest np. do gier. Wiadomo, że wybiórczo katalogi. A co dalej z magazynem? Nadal zostaje w jednej lokacji.

Syncthing jest OK. Dla mniejszych pojemności. i kopii synchronicznej między różnymi urządzeniami. A i to potrafiły identyfikatory katalogów rozjechać same z siebie po aktualizacji wersji.