W poprzednim wpisie pomyślnie zainstalowaliśmy i uzyskaliśmy dostęp do naszego „serwera domowego”. Dzisiaj skupimy się na tym jak:
- Rozszerzyć pamięć masową naszego domowego serwera?
- Możemy zainstalować i skonfigurować aplikację Nextcloud o otwartym kodzie źródłowym do synchronizacji danych z różnych urządzeń?
Konfiguracja przestrzeni składowania
Ponownie należy się zalogować do Raspberry Pi, poprzez ssh.
Podłącz zewnętrzny dysk, który będzie pełnił rolę przestrzeni składowania naszych plików. Następnie w konsoli wykonaj dwa polecenia, aby sprawdzić czy nowo dodany dysk poprawnie został wykryty: lsusb oraz lsblk.
Z poleceń wynika, że interesuje nas dysk sda (tak jest u mnie). Kolejnym krokiem będzie użycie polecenia fdisk, aby utworzyć partycje na tym dysku.
1 |
fdisk /dev/sda |
Wpisujemy w Command (m for help): m
Następnie wybieramy (d – usunięcie obecnych partycji, n – tworzymy nową partycje, w – zapisujemy naszą konfiguracje). Wszystkie dane z dysku zostaną usunięte, więc należy mieć to na uwadze, aby nie utracić istotnych danych.
Kolejnym krokiem będzie sformatowanie utworzonej partcji w systemie ext4. Utworzona partycja będzie oznaczona jako sda1, o ile dysk ma oznaczeni sda. Dla pewności nalezy uzyć polecenia lsblk, aby wyświetlić dostępne dyski oraz ich partycje.
1 |
mkfs -t ext4 /dev/sda1 |
Teraz dysk twardy jest gotowy do użycia i w pełni kompatybilny z urządzeniem. Teraz montujemy nasz dysk do określonego folderu. Udostępniamy dedykowany folder na dysk twardy. Dzięki temu nie musimy za każdym razem sprawdzać lokalizacji dysku twardego.
Utwórz pusty katalog poniższym poleceniem:
1 |
mkdir /mnt/NETDATA |
Teraz zamontuj dysk twardy do utworzonego powyżej katalogu.
Dodaj automatyczne montowanie w/w katalogu po każdym uruchomieniu systemu.
Do tej pory pomyślnie zamontowaliśmy nasz dysk twardy w /mnt/NETDATA, ale jest to tymczasowe. Po uruchomieniu systemu musimy automatycznie zamontować dysk twardy w tym samym katalogu. W tym celu musisz dodać pojedynczą linię w /etc/fstab.
1 |
nano /etc/fstab |
dodaj poniższy wiersz
1 |
/dev/sda1 /mnt/NETDATA ext4 defaults 0 0 |
Po każdorazowym uruchomieniu systemu dysk zostanie zamontowany automatycznie.
Instalacja NextCLoud
Przejdźmy do skonfigurowania aplikacji internetowej umożliwiającej dostęp do danych z różnych urządzeń. W tym celu zainstalujemy kilka usług.
Instalacja serwera www (Apache z PHP)
1 |
apt update<br>apt install apache2<br>apt install libapache2-mod-php<br>apt install php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip |
Kolejnym krokiem, jest pobranie instalatora NextCloud. Pobrałem wersję 23.0.0. Bieżąca wersja do sprawdzenia tutaj: https://download.nextcloud.com/server/releases/?C=M;O=D. Należy wuszukać plik: nextcloud-xx.x.x.zip.
1 |
wget <a href="https://download.nextcloud.com/server/releases/nextcloud-23.0.0.zip">https://download.nextcloud.com/server/releases/nextcloud-23.0.0.zip</a> |
Po pobraniu paczki NextCloud, należy ją wypakować do /var/www/html.
1 |
apt-get install unzip<br>unzip nextcloud-23.0.0.zip -d /var/www/html/ |
Do działania NextCloud potrzebna będzie baza danych.
1 |
apt install mariadb-server |
Musimy utworzyć konto użytkownika bazy danych.
1 2 3 4 5 6 7 |
mysql CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; create user admin@localhost identified by 'admin'; grant all privileges on nextcloud.* to admin@localhost; |
Tworzymy Virtualhost dla ścieżki /nextcloud. Przechodzimy do pliku nextcloud.conf
nano /etc/apache2/sites-available/nextcloud.conf
do jego wnętrza należy dodać
1 |
Alias /nextcloud "/var/www/html/nextcloud/"<br><VirtualHost *:80><br>DocumentRoot /var/www/html/nextcloud/<br><Directory /var/www/html/nextcloud/><br>Require all granted<br>Options +FollowSymlinks<br>AllowOverride All<br><IfModule mod_dav.c><br>Dav off<br></IfModule><br>SetEnv HOME /var/www/html/nextcloud<br>SetEnv HTTP_HOME /var/www/html/nextcloud<br></Directory><br></VirtualHost> |
Uruchamiamy poniższe rozszerzenia i uruchamiamy usługę apache2 ponownie.
1 2 3 4 5 6 7 8 |
a2ensite nextcloud.conf a2enmod rewrite a2enmod headers a2enmod env a2enmod dir a2enmod mime systemctl reload apache2 |
Na koniec zmieniamy uprawnienia dla poniższych katalogów.
1 |
sudo chown -R www-data:www-data /var/www/html/nextcloud/<br>sudo chown -R www-data:www-data /mnt/NETDATA<br>sudo chmod 750 /mnt/NETDATA |
Konfiguracja NextCloud w przeglądarce
W przeglądarce przejdź na adres IP naszego serwera, np.
1 |
http://192.168.1.24/nextcloud |
co rozpocznie ostatnie kroki konfiguracji.
Utwórz konto administratora dla usługi NextCloud
W Storage and Database, należy wskazać nasz dysk /mnt/NETDATA.
Kolejną konfiguracją będzie wypełnienie danych potrzebnych do podłączenia się do bazy danych.
Opcjonalnie można odznaczyć Install recommended apps, aby nie instalować dodatkowych aplikacji.
Klikamy na Finish setup i po kilku minutach możemy zalogować się jako Administrator do NextCloud.
Ostatnim krokiem, będzie instalacja aplikacji na stacji roboczej, która pozwoli na sychronizacje plików do naszej chmury.
Podsumowanie
Jak widzisz konfiguracja nie jest zbyt trudna a daje duże możliwości w przechowywaniu własnych plików. Jednak do pełni szczęścia potrzebna będzie usługa DDNS, czyli możliwość łączenia do naszej chmury z zewnątrz.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).