• Witaj Gość na danloona.nl, stronie poświęconej zagadnieniom, z pogranicza elektronicznej rozrywki oraz informatyki.
    Jeśli się w tym odnajdujesz, zapraszam Ciebie do rejestracji na mojej stronie dzięku czemu będziesz miał/a dostęp do:
    • Tworzenia nowych wątków oraz odpowiadania w istniejących wątkach
    • Możliwości stworzenia swojego indywidualnego profilu użytkownika
    • Poznania nowych ciekawych osób
    • Pobierania i dodawania plików do i z mojej bazy zasobów
    • Uzyskania wsparcia związanego z moimi projektami

    Jeśli posiadasz już konto na mojej stronie ale masz problem z uzyskaniem do niego dostępu, to skontaktuj się z mną po przez formularz kontaktowy.

Budowa chmury plikowej na podstawie nextCloud [Część pierwsza]

Wielu z was pewnie słyszało o nextCloudzie, ale jak wielu z was wie jak poprawnie go zainstalować i skonfigurować?
Po internecie krąży wiele poradników jak to zrobić, ale nie uwzględniają one w pełni dedykowanej konfiguracji pod tą platformę.
Dzisiaj skupimy się na tym jak skonfigurować dedykowaną maszynę wirtualną pod nextCloud.


We wpisie nie jest opisana konfiguracja postfixa/sendmaila na potrzeby wysyłki maili.

Podstawą będzie stworzenie maszyny wirtualnej lub kontenera z dowolną dystrybucją GNU/Linuxa na potrzeby wpisu zostanie wykorzystany CentOS 8 Stream (Minimal) oraz decyzja jaką wersję nextClouda będziemy chcieli zainstalować.

Każda wersja ma inne wymagania odnośnie wersji PHP zalecanej do niej.
Zajrzyj na LISTĘ WSPIERANYCH WERSJI NEXTCLOUD aby dowiedzieć się więcej na potrzeby wpisu skorzystamy z wersji 24.


Dla wersji 24 będziemy potrzebowali:
  • Apache 2.4.x
  • MariaDB 10.5.x
  • PHP 8.0.x
  • Dla mniejszego oporu, możemy również wyłączyć SELINUXa (co w tym wpisie zostało wykonane).

Przygotowanie środowiska​


Jeśli już zdecydowaliśmy się na wersję przechodzimy do instalacji paczek w systemie potrzebnych do przygotowania środowiska.
Przełączmy wersję MariaDB na 10.5 w tym celu korzystamy z polecenia dnf module enable mariadb:10.5 i zatwierdzamy Y.
następnie wykonujemy polecenie yum install epel-release httpd mariadb mariadb-server wget -y w celu instalacji repo epela webservera Apache 2.4 i bazy MariaDB.
Po wykonaniu i zainstalowaniu paczek odpalamy i dodajemy do autostartu kilka usług poprzez użycie komendy systemctl enable httpd mariadb && systemctl restart httpd mariadb
Dodajemy do wyjątków na zaporze firewall usługi http i https w tym celu używamy komendy firewall-cmd --zone=public --add-service=http --add-service =https --permanent && firewall-cmd --reload
A następnie mysql_secure_installation w celu podstawowej konfiguracji serwera MariaDB, uzupełniamy hasło i większość rzeczy zostawiamy domyślnie.

(Opcjonalnie) W celu łatwiejszej administracji bazą danych z CLI tworzymy w katalogu /root plik o nazwie .my.cnf z zawartością:
Kod:
[client]
user=root
password=nasze_haslo_do_roota
Dzięki temu zabiegowi nie będziemy musieli za każdym razem wpisywać hasła roota, gdy będziemy chcieli się dostać do bazy danych.

Następnie przejdziemy sobie do instalacji repozytorium REMI w celu uzyskania PHP w wersji 8.0.
W tym celu wykonujemy polecenie rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Następnie włączmy php z repozytorium remiego komendą dnf module enable php:remi-8.0(podczas zmiany tego ustawienia możemy zostać zapytani o klucze GPG na które wyrażamy zgodę).

Następnie instalujemy PHP8 z modułami, do tego używamy następującej komendy yum install php php-mysql php-gd php-dom php-mbstring php-json php-zip php-xml php-session php-process php-redis php-bz2 php-intl php-gmp php-bcmath php-exif php-imagick -y

Moduły dobrałem dla zalecanej instalacji w naszym wpisie, jeśli zajdzie potrzeba że będziesz potrzebował/a innych modułów możesz dopisać je doinstalować.
Po instalacji wykonujemy polecenie systemctl enable php-fpm && systemctl restart httpd php-fpm

Teraz możemy się upewnić, czy PHP ładuje się poprawnie poprzez stworzenie pliku pi.php w katalogu /var/www/html/pi.php z zawartością:
Kod:
<?php
phpinfo();
?>

Podstawowy tuning środowiska na potrzeby nextCloud​


Po instalacji wykonujemy drobny tuning środowiska, poprzez usunięcie pliku welcome.conf z /etc/httpd/conf.d/welcome.conf
Następnie w pliku /etc/httpd/conf/httpd.conf szukamy linijki AllowOverride dla katalogu /var/www/html i ustawiamy ją na All.
Na końcu pliku dodajemy linijkę Timeout 900

Zapisujemy i przechodzimy do pliku /etc/php.ini i szukamy linijki max_execution_time i ustawiamy ją na 900
następnie szukamy memory_limit i ustawiamy ją na 512M
następnie szukamy post_max_size i ustawiamy ją na 1G
tak samo dla upload_max_filesize


Zapisujemy pliki i wykonujemy komendę systemctl restart httpd php-fpm
Ustawianie Timeoutow może niebyć koniecznie w przypadku szybszych serwerów.

Zrzut-ekranu-2022-11-6-o-00.25.00-1024x685.png


Prawidłowo zainstalowane PHP 8.0 powinno wyglądać tak jak na powyższym zrzucie ekranu.
Możemy w takim razie przejść do przygotowywania bazy danych pod nextclouda, w tym celu wchodzimy do CLI MariaDB używając komendy mysql.

Tworzymy bazę danych o nazwie nextcloud korzystając z polecenia CREATE DATABASE nextcloud;
Następnie tworzymy użytkownika do tej bazy korzystając z polecenia CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'mojetajnehaslo123';
Musimy również nadać uprawnienia nowo stworzonemu użytkownikowi do bazy nextcloud, w tym celu używamy polecenia
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON nextcloud.* TO 'nextcloud'@'localhost';

Po wykonaniu powyższych czynności możemy opuścić CLI MariaDB korzystając z polecenia exit.

Instalacja nextCloud​

Możemy w takim razie przejść do instalacji nextclouda, w tym celu pobieramy plik setup-next cloud.php ze strony nextcloud, pobieramy go do katalogu /var/www/html/setup-nextcloud.php.
Następnie nie uruchamiamy jeszcze instalatora w przeglądarce, musimy z edytować plik setup-nextcloud.php w celu wybrania wersji 24, domyślnie jest pobierana zawsze najnowsza.
W tym celu korzystamy z naszego ulubionego edytora i szukamy linijki define(‚NC_VERSION’, ‚latest’); i zmieniamy latest na latest-24, następnie zapisujemy i możemy wykonać plik w przeglądarce.
Zrzut-ekranu-2022-11-6-o-00.40.16-1024x685.png

Niestety po kliknięciu Next dostaniemy błąd o braku możliwości zapisu w celu naprawy wykonujemy polecenie chown -R apache. /var/www/html
Polecenie zmienia właściciela katalogu, na apache.
Teraz możemy wrócić i załadować instalator ponownie, tym razem zostaniemy zapytani o wskazanie ścieżki której będziemy chcieli użyć do instalacji nextcloud, w naszym przypadku będzie to porostu kropka.
Po chwili oczekiwania powinniśmy zostać przywitani informacją że instalacja się powiodła.
Następnym ekranem będzie konfiguracja konta administratora i bazy danych, wypełniamy pola według kroków, które poczyniliśmy wcześniej, następnie klikamy zakończ instalację, tutaj po dłuższej chwili powinien nas przywitać ekran instalacji dodatkowych modułów do nextcloud, wedle uznania możemy je zainstalować lub nie. We wpisie pominiemy instalację tych dodatkowych modułów w tym przypadku klikamy przycisk Anuluj.
Zrzut-ekranu-2022-11-6-o-01.16.02-1024x674.png

Zamykamy okienko używając X, klikamy na swój awatar, i przechodzimy do ustawień, następnie do sekcji Przegląd.
Zrzut-ekranu-2022-11-6-o-01.20.12-1024x685.png

W sekcji przegląd przywita nas kilka problemów, które będziemy rozwiązywać w dalszej części wpisu.
Możesz sobie pogratulować poprawnej instalacji nextCloud oraz zacząć korzystać z podstawowych funkcji nextCoud.
W następnej części wpisu zajmiemy się konfiguracją REDISa czyli Pamięci Podręcznej oraz tuningiem PHP-FPM na potrzeby nextCloud.
 
Daniel B.

Daniel B.

Twórca danloona.nl
Powrót
Góra