Usługi takie jak Dropbox umożliwiają łatwy dostęp do plików na różnych urządzeniach. Jeśli jednak pragniesz mieć większą kontrolę nad swoimi danymi, możesz w zaledwie 30 minut uruchomić własną chmurową usługę synchronizacji na serwerze, który jest całkowicie pod Twoją kontrolą. W tym celu polecamy Nextcloud.
Czym jest Nextcloud?
Nextcloud to oprogramowanie open source, które pozwala na synchronizację plików pomiędzy komputerem a innymi urządzeniami, podobnie jak Dropbox, OneDrive czy Google Drive. Dodatkowo, Nextcloud oferuje dynamiczny ekosystem aplikacji, co sprawia, że możesz wykorzystać go nie tylko do synchronizacji plików, ale także do zarządzania kalendarzem, kontaktami czy uruchomienia internetowego klienta poczty e-mail IMAP. Możesz nawet zorganizować własny czat na żywo dla siebie i dla osób mających dostęp do Twojego serwera.
Należy jednak pamiętać, że korzystanie z Nextcloud wiąże się z koniecznością samodzielnej konserwacji serwera. To oznacza, że oprócz dbania o oprogramowanie Nextcloud, musisz również regularnie aktualizować podstawowy system operacyjny serwera. Serwery Nextcloud zazwyczaj są bezproblemowe, ale w przypadku jakichkolwiek problemów to Ty będziesz musiał je rozwiązać.
Na szczęście istnieje wiele blogów, forów oraz stron pomocy, które mogą pomóc w rozwiązywaniu problemów. Jeśli napotkasz trudności, istnieje duża szansa, że ktoś już rozwiązał podobny problem i znajdziesz dla niego rozwiązanie.
Czego będziesz potrzebować?
Domyślny interfejs sieciowy Nextcloud.
Aby rozpocząć przygodę z Nextcloud, potrzebujesz trzech rzeczy:
- Wirtualnego serwera z systemem Ubuntu 18.04
- Powłoki Bash na swoim komputerze
- Nazwy domeny
W ramach naszych przykładów stworzymy kilka kont użytkowników i haseł, w tym:
- Nazwa użytkownika root oraz hasło do Twojego serwera
- Zwykła nazwa użytkownika i hasło serwera z uprawnieniami administratora
- Nazwa użytkownika i hasło do Nextcloud
Na potrzeby tego poradnika skorzystamy z wirtualnego serwera z systemem Ubuntu 18.04 od DigitalOcean, jednak możesz również wybrać innego dostawcę, takiego jak Linode lub AWS. Kluczowe jest, aby wybrać Ubuntu 18.04 (aktualna wersja LTS), aby uniknąć potencjalnych problemów.
Każdy dostawca wirtualnych serwerów ma nieco inne procedury, ale generalnie uruchomienie serwera odbywa się w kilku prostych krokach. Na początek zalecamy wybór podstawowego serwera na zasadzie próbnej do momentu, w którym nie zapoznasz się z Nextcloud. Droplet 5 USD od DigitalOcean oferuje 1 GB RAM, 1 rdzeń CPU, 1 TB transferu danych i 25 GB przestrzeni dyskowej. Linode ma podobne oferty w tej samej cenie.
Jeżeli nie masz doświadczenia z kluczami SSH, poproś swojego dostawcę o dane logowania roota na podstawie hasła, aby rozpocząć. Po uruchomieniu serwera i zapoznaniu się z obsługą wiersza poleceń, możesz sprawdzić dokumentację swojego dostawcy, aby dowiedzieć się, jak dodać klucze SSH dla większego bezpieczeństwa.
Użytkownicy systemu Windows 10 powinni zainstalować podsystem Windows dla systemu Linux, aby uzyskać dostęp do powłoki Bash i narzędzi Linux. Jeśli korzystasz z Linuxa lub macOS, wystarczy, że użyjesz Terminala. Większość terminali Bash ma preinstalowane SSH, ale jeśli nie, możesz zainstalować je, wpisując sudo apt-get install ssh
w oknie terminala.
Podczas zakupu nazwy domeny nie musisz ograniczać się do końcówki .COM. Możesz wybrać na przykład domenę .XYZ, która kosztuje zaledwie 1 USD rocznie i będzie idealna do użytku prywatnego.
Przygotowanie serwera
Aby przygotować serwer do działania, musisz skonfigurować konto użytkownika z uprawnieniami administratora. Logowanie jako użytkownik root po początkowej konfiguracji to zły pomysł.
Prawdopodobnie masz już adres IP i hasło roota od swojego dostawcy serwera. Adres IP to klucz do połączenia z serwerem, a hasło daje dostęp do jego zasobów.
Aby rozpocząć, wpisz następujące polecenie (w miejsce X wstaw adres IP swojego serwera), a następnie naciśnij Enter:
ssh root@XXX.XX.XX.XXX
Na przykład, jeśli nasz adres IP to 165.22.81.172, wpisujemy go w poleceniu. Jeśli wszystko przebiegnie prawidłowo, zdalny serwer poprosi o hasło. Wprowadź hasło, które otrzymałeś od dostawcy serwera.
Zostaniesz poproszony o ustawienie nowego hasła dla roota. Wybierz coś, co zapamiętasz, ale nie zgub!
Teraz jesteś już na swoim zdalnym serwerze i możesz przystąpić do pracy. Naciśnij Enter po każdym poleceniu, aby je wykonać.
Aby dodać nowego użytkownika, wpisz polecenie:
adduser ian
Zamień „ian” na nazwę użytkownika, którą chcesz użyć. Po wykonaniu tego polecenia system poprosi Cię o podanie hasła dla nowego użytkownika. Pozostałe informacje, o które zapyta, są opcjonalne; jeśli ich nie chcesz podawać, po prostu naciskaj Enter.
Następnie nadajemy naszemu nowemu użytkownikowi uprawnienia administracyjne, wpisując:
usermod -aG sudo ian
Ponownie, zamień „ian” na wybraną wcześniej nazwę użytkownika.
Otwórz drugie okno terminala i sprawdź, czy nowe konto działa, używając:
ssh ian@165.22.81.172
Wprowadź hasło dla nowego użytkownika, gdy zostaniesz o to poproszony. Jeśli wszystko działa poprawnie, wróć do okna terminala, w którym jesteś zalogowany jako root.
Teraz upewnij się, że zapora sieciowa Ubuntu działa poprawnie, wpisując:
ufw allow OpenSSH
ufw enable
ufw status
Ostatnie polecenie powinno zwrócić odpowiedni status, potwierdzając, że zapora nie blokuje SSH.
Na tym etapie nie zobaczysz jeszcze „80, 443 / tcp”, ale do tego przejdziemy później. Teraz zamknij główne okno i wróć do okna terminala z zwykłym użytkownikiem.
Instalacja Nextcloud
W przeszłości instalacja Nextcloud wymagała oddzielnej konfiguracji PHP, serwera WWW oraz bazy danych.
Teraz jednak znacznie łatwiej jest skorzystać z oficjalnego pakietu Snap, który załatwia wszystko za pomocą jednego polecenia. Nie musisz martwić się o bazę danych ani o to, czy Apache lub Nginx obsługuje Twoją witrynę.
Jeśli jesteś ciekawy, co dokładnie instalowane jest przez pakiet Snap (spoiler: to reszta stosu LAMP wraz z Redis), możesz sprawdzić Repozytorium Snap Nextcloud na GitHubie.
Wpisz:
sudo snap install nextcloud
„Sudo” na początku polecenia podnosi uprawnienia zwykłego użytkownika, co pozwala mu na tymczasowe uzyskanie uprawnień administratora. Wprowadź swoje hasło, gdy zostaniesz o to poproszony. Jeśli wszystko pójdzie zgodnie z planem, Nextcloud zostanie zainstalowany w ciągu minuty lub dwóch i będzie prawie gotowy do użycia.
Następnie wprowadź polecenie, aby utworzyć nowe konto użytkownika Nextcloud:
sudo nextcloud.manual-install ianpaul correctHorseBatteryStaple
Zamiast „ianpaul” podaj nazwę użytkownika, której chcesz używać do logowania. „correctHorseBatteryStaple” to przykładowe hasło. Nie używaj go, ponieważ pochodzi z popularnego komiksu XKCD.
Zarządzanie domenami
Aby uprościć sobie życie, nie chcemy za każdym razem korzystać z adresu IP do uzyskania dostępu do naszego serwera. Zamiast tego skorzystamy z nazwy domeny, którą można zakupić już za 1 USD rocznie. W naszym przypadku użyjemy HowToGeekTest.xyz.
Po zakupie domeny będziesz musiał zarządzać jej ustawieniami DNS u swojego rejestratora, kierując je na swojego dostawcę serwera. Na przykład, jeśli wybierzesz DigitalOcean, ustawienia będą wyglądać następująco: ns1.digitalocean.com, ns2.digitalocean.com oraz ns3.digitalocean.com.
Następnie przejdź do swojego dostawcy serwera (np. DigitalOcean, Linode lub innego) i dodaj nową domenę do swojego konta. Musisz dodać rekord A wskazujący na Twój adres IP, rekord CNAME, jeśli nie chcesz używać „www” za każdym razem, oraz rekordy NS, jeśli nie zostały dodane automatycznie.
Poniższy obrazek przedstawia przykład z ustawieniami DNS w DigitalOcean.
Technicznie może minąć do 24 godzin, zanim domena będzie dostępna, ale zazwyczaj działa w ciągu kilku minut.
Powrót do Nextcloud
Po skonfigurowaniu domeny wróć do terminala, aby zakończyć konfigurację Nextcloud. Jeśli wylogowałeś się z serwera jako zwykły użytkownik (w naszym przykładzie ian@165.22.81.172), zaloguj się ponownie.
Wprowadź następujące polecenie, aby dodać nową domenę do Nextcloud:
sudo nextcloud.occ config:system:set trusted_domains 1 --value=howtogeektest.xyz
Po „–value=” wpisz swoją domenę zamiast naszej (howtogeektest.xyz).
Aby upewnić się, że nowa domena została poprawnie dodana, wpisz:
sudo nextcloud.occ config:system:get trusted_domains
Terminal powinien wyświetlić coś podobnego do poniższego przykładu.
Aby umożliwić korzystanie z portów, które chcemy, wpisz:
sudo ufw allow 80,443/tcp
Port 80 obsługuje niezaszyfrowany ruch HTTP, a port 443 – SSL/TLS.
W tym momencie potrzebujemy również bezpłatnego certyfikatu SSL/TLS od Let’s Encrypt, więc wpisujemy:
sudo nextcloud.enable-https lets-encrypt
Podczas uruchamiania generatora Let’s Encrypt zostaniesz poproszony o podanie adresu e-mail oraz nazwy domeny Nextcloud. Postępuj zgodnie z instrukcjami, aby szybko uzyskać certyfikat zabezpieczający. Jeśli wszystko działa poprawnie, sprawdź swoją konfigurację.
Przejdź do nowej domeny (np. our howtogeektest.xyz). Powinieneś zobaczyć stronę logowania do Nextcloud z ikoną kłódki w pasku adresu.
Jeśli widzisz stronę logowania, możesz zaczynać. Jeśli nie, odczekaj kilka godzin i spróbuj ponownie. Możesz również sprawdzić, czy serwer odpowiada za pomocą adresu IP.
Aby dodać adres IP do zaufanych domen, wpisz:
sudo nextcloud.occ config:system:set trusted_domains 2 --value=165.22.81.172
Zauważ, że użyliśmy „trusted_domains 2”, a nie „trusted_domains 1”. Powtórzenie „trusted_domains 1” zastąpi rzeczywistą nazwę domeny na liście zaufanych domen, co uniemożliwi jej użycie.
Po tym, wprowadź adres IP w pasku adresu przeglądarki; powinieneś zobaczyć stronę logowania. Jeśli nie, prawdopodobnie wystąpił jakiś błąd podczas instalacji.
Ponieważ nie mamy certyfikatu SSL dla adresu IP, logowanie nie będzie bezpieczne. Zalecamy usunięcie adresu IP z listy zaufanych domen po potwierdzeniu, że serwer działa. Aby to zrobić, wpisz:
sudo nextcloud.occ config:system:remove trusted_domains 2
Zwiększanie wydajności
Jeśli Twój serwer Nextcloud nie działa zadowalająco, możesz potrzebować zwiększyć limit pamięci. Domyślnie jest on ustawiony na 128 MB. Aby zwiększyć go do 512 MB, zaloguj się na serwer oraz wpisz:
sudo snap set nextcloud php.memory-limit=512M
.
Teraz, gdy Nextcloud jest już zainstalowany, możesz się zalogować, przeglądać dostępne aplikacje, udostępniać pliki innym, a także zainstalować Nextcloud na komputerze stacjonarnym oraz urządzeniach mobilnych, aby synchronizować dane na wielu urządzeniach. Nextcloud oferuje narzędzia synchronizacyjne oraz aplikacje mobilne dla Windows, Mac, Linux, iPhone, iPad i Androida.
Witamy w Twojej osobistej chmurze!
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.