Bo wolność jest najważniejsza!
{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
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:
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”.
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.
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.
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.
echourl="https://www.duckdns.org/update?domains=nazwa_strony&token=token_podany_na_stroni e_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
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