Nextcloud – darmowa chmura z ogromną przestrzenią dyskową

Mateusz PonikowskiSkomentuj
Nextcloud – darmowa chmura z ogromną przestrzenią dyskową
{reklama-artykul} Trudno w obecnych czasach wyobrazić sobie korzystanie z komputerów bez wykorzystania rozwiązań chmurowych. W chmurze przechowujemy różne dokumenty – kontakty, kopie zapasowe czy chociażby zdjęcia. Z chmury korzystają również serwisy streamingowe jak Netflix czy Spotify.

Użytkownicy mogą przebierać w ofertach firm pałających się rozwiązaniami chmurowymi. Do najpopularniejszych zaliczyć można z pewnością Dropbox, MEGA i OneDrive. Wszystkie z nich oferują ograniczoną przestrzeń dyskową i/lub ograniczenia co do ilości komputerów podłączonych do serwisu. Pełne zestawienie obecnie dostępnych ofert znajdziecie w jednym z naszych artykułów na ten temat. Zupełnie odrębną kwestią pozostaje zagadnienie bezpieczeństwa. Co kilka lat czytamy o wycieku milionów haseł. Pisaliśmy o tym chociażby w 2014 roku.

Jeżeli jedno z powyższych powstrzymywało Was przed użyciem chmury, lub po prostu uznaliście oferty wspomnianych firm za niesatysfakcjonujące, z pomocą przychodzi open-source, a mianowicie projekt Nextcloud. W największym skrócie – Nextcloud to alternatywa Dropboxa, która wykorzystuje serwer stworzony na jednym z urządzeń w sieci domowej. O ile Dropbox posiada ograniczenia nałożone przez kierownictwo firmy, o tyle Nextcloud jest całkowicie otwarty i jego pojemność zależy tylko od woli użytkownika.

Aby stworzyć swój własny serwer Nextcloud potrzebujemy komputera z systemem operacyjnym Linux. Świetnie nada się do tego Raspberry Pi 4, które obsługuje połączenia aż do 1 Gbit/s. Dobrym rozwiązaniem są również inne komputery jednopłytkowe na których można zainstalować system Linux. Należy jednak wziąć poprawkę na to, że Nextcloud jest dość zasobożerny, przez co wymaga sprzętu dostosowanego do naszych potrzeb.

Instalacja Nextcloud na komputerze z Linuksem

Po skonfigurowaniu systemu, pozostaje zainstalowanie odpowiednich pakietów. Najprostszym rozwiązaniem jest skorzystanie ze snapd, czyli narzędzia do instalacji pakietów niezależnie od wykorzystywanej dystrybucji Linuksa. Jeśli system, z którego korzystacie nie posiada snapd, to można go w prosty sposób zainstalować komendą:

apt install snapd

instalacja pakietu Nextcloud

Kolejnym krokiem jest instalacja samego pakietu Nextcloud. Wystarczy jedna prosta komenda:

snap install nextcloud

Sama instalacja może zająć kilka minut, gdyż wraz z pakietem Nextcloud pobierane są niezbędne zależności.

Jeśli po wpisaniu swojego adresu IP w oknie przeglądarki ujrzycie okno Nextcloud, to konfiguracja jest na ostatniej prostej. Jeśli korzystacie z innego oprogramowania, które korzysta z portu 80, to prawdopodobnie pewniejszą opcją jest instalacja manualna. Aby jej dokonać musimy zainstalować następujące pakiety:

apt install mlocate apache2 libapache2-mod-php mariadb-client mariadb-server wget unzip bzip2 curl php php-common php-curl php-gd php-mbstring php-mysql php-xml php-zip php-intl php-apcu php-redis php-http-request

Następnym krokiem jest utworzenie pliku konfiguracyjnego Nextcloud.

nano /etc/apache2/sites-available/nextcloud.conf

Gdzie wklejamy poniższą konfigurację. Na koniec wciskamy Ctrl+o i Ctrl+x.

<VirtualHost *:80>
ServerAdmin webmaster@localhost<br< a=””> />DocumentRoot /var/www/nextcloud
Alias /nextcloud „/var/www/nextcloud/”

<Directory „/var/www/nextcloud/”>
Options +FollowSymlinks
AllowOverride All

<IfModule mod_dav.c>
Dav off
</IfModule>

Require all granted

SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>

ErrorLog ${APACHE_LOG_DIR}/nextcloud_error_log
CustomLog ${APACHE_LOG_DIR}/nextcloud_access_log common
</VirtualHost>

Kolejnym krokiem jest skonfigurowanie bazy danych MariaDB. Z pomocą przychodzą komendy SQL, które musimy wpisać w następującej kolejności.

Na początku logujemy się komendą: mysql -u root

Nową bazę danych tworzymy komendą: CREATE DATABASE nextcloud;

Tworzymy użytkownika: CREATE USER 'nextcloud’@’localhost’ IDENTIFIED BY 'hasło_jakie_chcemy_używać’;

Przyznajemy odpowiednie uprawnienia: GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud’@’localhost’;

Końcowy krok to zapisanie danych: FLUSH PRIVILEGES;

I wyjście z konsoli SQL: exit

W tym momencie jesteśmy gotowi do zainstalowania serwera Nextcloud.

Instalację przeprowadzamy następującą komendą:

cd /var/www && wget https://download.nextcloud.com/server/releases/nextcloud-19.0.0.zip && unzip nextcloud-19.0.0.zip

Następnym krokiem jest stworzenie folderu na dane. Jeśli chcecie skorzystać z pamięci zewnętrznej np. dysku HDD, to jest taka możliwość. Konfigurację można przeprowadzić w późniejszym terminie.

Tworzymy folder i dajemy mu odpowiednie uprawnienia:

mkdir nextcloud/data && chown -R www-data:www-data nextcloud

Włączamy konfigurację Nextcloud

a2ensite nextcloud.conf

Wyłączamy domyślną konfigurację strony Apache:

a2dissite 000-default.conf

Na sam koniec restartujemy Apache…

systemctl restart apache2

… i uruchamiamy MariaDB

systemctl enable apache2 mariadb

W razie poprawnej konfiguracji, po wpisaniu adresu IP w przeglądarce (u mnie to: 192.168.113/nextcloud), pojawić powinno się następujące okno:

2020-07-03 121156

Zgodnie z instrukcją tworzymy konto, którym zalogujemy się do chmury. W oknie MySQL/MariaDB wykorzystujemy dane podane w procesie konfiguracji.

Tak wygląda Nextcloud “w akcji”.

Nextcloud  121241

Klient Nextcloud na niemal każdy system operacyjny

Od tej chwili można dowolnie modyfikować pliki i przenieść swoje dane do chmury. Aby nasza konfiguracja była kompletna zajmijmy się dwoma ostatnimi aspektami. Pierwszym z nich jest klient aplikacji. Dostępne są wersje na Windows, Linux, MacOS oraz Android i iOS. Wszelkie instalatory odnajdziecie na stronie projektu.

Po zainstalowaniu i skonfigurowaniu programu, powinien się on pokazać w Eksploratorze Windows.

Nextcloud Windows

Konfiguracja dostępu z zewnętrznych sieci

Pliki będą dostępne dla wszystkich urządzeń w sieci domowej. Dostęp zewnętrzny wymaga trochę pracy, gdyż konieczne jest przekierowanie portów oraz skorzystanie z darmowego narzędzia DuckDNS.

Konfiguracje poszczególnych routerów różnią się od siebie. Dosyć szczegółowy poradnik jak przekierować porty znajdziecie pod tym adresem. Warto przekierować port 80 i 443, jeśli planujecie skorzystać z bezpiecznego SSL.

Na potrzeby tego poradnika pozostanę przy porcie 80, który po przekierowaniu powinien być dostępny dla urządzeń spoza sieci. Aby sprawdzić czy tak jest wpiszcie nr_ip_np_123.123.123.1/nextcloud. Jeśli konfiguracja działa, to powinniście być w stanie korzystać z plików poza domem/firmą.

Specyfiką adresów IP jest jednak to, że co jakiś czas się zmieniają (o ile nie wykupimy stałego adresu od operatora). Można temu jednak zaradzić poprzez wybranie DuckDNS. To darmowe narzędzie tworzy adres internetowy w formacie adres.duckdns.org, który samoistnie śledzi zmiany adresu IP.

Duck DNS

Dodajemy adres, który chcemy skojarzyć z naszym urządzeniem. Kolejnym krokiem jest instalacja skryptu, który będzie sprawdzał nasz adres IP co jakiś czas.

Tworzymy folder gdzie przechowywać będziemy skrypt.

mkdir duckdns
cd duckdns
nano duck.sh

Podajemy adres i token. Jeśli stworzyliście konto DuckDNS, to odpowiedni kod można znaleźć w zakładce install.

echo url=”https://www.duckdns.org/update?domains=nazwa_strony&token=token_podany_na_stronie_głównej_duck_dns” | curl -k -o ~/duckdns/duck.log -K –

Zamykamy okienko za pomocą Ctrl+o i Ctrl+x.

Nadajemy prawa wykonawcze: chmod 700 duck.sh

Kolejnym krokiem jest dodanie skryptu do Crontaba.

crontab -e
*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1

Zamykamy okienko za pomocą Ctrl+o i Ctrl+x.

Skrypt uruchamiamy komendą:

./duck.sh

Aby ukończyć proces musimy dodać duckdns jako zaufaną stronę w Nextcloud. Aby tego dokonać niezbędne jest edytowanie pliku

nano /var/www/nextcloud/config/config.php

Pod wartością z adresem IP dodajemy następujący kod:

1 => nazwa_strony.duckdns.org’,

Zamykamy plik kombinacją klawiszy podaną powyżej i sprawdzamy czy efekt jest zadawalający. Najłatwiej zrobić to wyłączając sieć Wi-Fi w telefonie i wpisanie adresu:

nazwa_strony.duckdns.org/nextcloud

Nextcloud 121801

Jak widzicie, posiadanie swojej własnej, w pełni darmowej i bezpiecznej chmury nie jest trudne. Jeśli nie chcecie dzielić się swoimi prywatnymi plikami z innymi, a szukacie miejsca gdzie można je bezpiecznie przechować, to Nextcloud wydaje się być rozwiązaniem wartym rozważenia.

Co myślicie o tym rozwiązaniu? Czy warto jest stworzyć swoją własną przestrzeń na pliki, czy może pozostać przy bardziej sprawdzonych programach? Czekamy na Wasze opinie w komentarzach!

Grafka: Nextcloud

Udostępnij

Mateusz PonikowskiWspółzałożyciel serwisu instalki.pl od ponad 18 lat aktywny w branży mediów technologicznych.