Silas Mariusz

rm -rf /
Help us, GOD!
5 Kwiecień 2008
10 234
2 560
405
Odznaki
205
Nowy Sącz
forum.qnap.net.pl
QNAP
TS-x77
Ethernet
1 GbE
Poz.
6
 

Trzy aplikacje i jeden QNAP. Urządzamy sobie własny kawałek sieci​


Czytnik wiadomości, porządna strona startowa i pliki, które można obejrzeć oraz udostępnić przez przeglądarkę. Wszystko na własnym NAS-ie. Najpierw oddamy WebHostPro porty 80 i 443, potem uruchomimy FreshRSS, Heimdalla i FileRise. Krok po kroku, z poleceniami i z wyjaśnieniem, co właściwie robią.

Siemanko, QNAP-owcy!

Miał być spokojny wieczór przy komputerze. Kilka wiadomości do przeczytania, zdjęcie do pokazania domownikom, może drobny porządek w zakładkach. Tyle że każda aplikacja ma inny adres, wiadomości czekają na kilku stronach, a potrzebny plik znowu leży gdzieś głębiej. Dobry materiał na mały warsztat, po którym zostaje coś działającego.

Zaczniemy od WebHostPro. Na nim postawimy trzy aplikacje open source, każdą we własnym folderze. FreshRSS zbierze nowe teksty z wybranych stron. Heimdall uporządkuje wejścia do usług na NAS-ie. FileRise da plikom podgląd i linki do udostępniania. Na koniec sprawdzimy najczęstsze potknięcia oraz drogę powrotną do serwera WWW z QTS.

63-home-dashboard.webp


Zanim zaczniemy: sprzęt, adres i miejsce na aplikacje​


Potrzebujesz QNAP-a Intel/AMD, w architekturze x86_64, z QTS 6.0 albo QuTS hero 6.0 lub nowszym. Instalujemy WebHostPro 0.8.2 i korzystamy z PHP 8.4. Wybierz aktualne wydanie poprawkowe PHP 8.4 dostępne w WebHostPro.

W App Center → Ustawienia → Repozytorium aplikacji → Dodaj wpisz nazwę QNAP Utilities i adres https://www.qnaputilities.com/repo.xml. Następnie z listy QNAP Utilities zainstaluj (example) WebHostPro. Pomoc ze zrzutami znajdziesz także w poradniku o hostingu.

Pliki aplikacji pobierzemy przez FAQ SSH na koncie administratora. Włącz je w Panel sterowania → Usługi sieci i plików → Telnet / FAQ SSH, zaznaczając „Zezwól na połączenie FAQ SSH”. WebHostPro nie ma w panelu funkcji przesyłania plików; można korzystać z FAQ SSH, SMB albo File Station.

Przykładowy adres NAS-a to 192.168.1.20. Wszędzie podstaw własny, również w nazwach:

AplikacjaNazwa witrynySerwer WWW
FreshRSSrss.192-168-1-20.nip.iohttpd
Heimdallhome.192-168-1-20.nip.ionginx
FileRisefiles.192-168-1-20.nip.iohttpd

Usługa nip.io odczytuje adres z nazwy: rss.192-168-1-20.nip.io wskazuje 192.168.1.20. Dla NAS-a pod 10.0.0.5 użyjesz rss.10-0-0-5.nip.io.

To nadal sieć lokalna. Nazwa nip.io wskazująca prywatny adres nie publikuje witryny w Internecie. Komputer lub telefon musi mieć dostęp do tej sieci, bezpośrednio albo przez odpowiednio skonfigurowany VPN. W tym poradniku nie tworzymy przekierowań na routerze. Witryny uruchomimy bez TLS, czyli przez HTTP; ten wariant służy pracy w zaufanej sieci lokalnej. HTTP nie szyfruje przesyłanych danych ani danych logowania.

1. Zróbmy miejsce na portach 80 i 443​


WebHostPro ma własny serwer frontowy nginx. Początkowo przyjmuje połączenia na 9542 dla HTTP i 9543 dla HTTPS. Panel zarządzania działa osobno, na 9541. Warto zapamiętać tę różnicę, żeby później nie szukać strony w oknie administracyjnym.

Pierwsze logowanie​


Kliknij Otwórz w App Center albo przejdź do https://192.168.1.20:9541/. Panel używa certyfikatu samopodpisanego. Jeśli przeglądarka pyta o zaufanie, sprawdź, czy otwierasz właściwy lokalny adres NAS-a.

Na stronie „Pierwsze logowanie” wpisz dwukrotnie hasło mające co najmniej 10 znaków i kliknij „Ustaw hasło”. Formularz przyjmuje je z komputera w LAN, w ciągu 60 minut od uruchomienia panelu.

01-first-sign-in-light.webp


Sprawdź, kto zajmuje porty​


Otwórz „Serwer frontowy i porty”. Komunikat „Porty 80 i 443 są zajęte: serwer frontowy zostaje na 9542 i 9543” oznacza, że najpierw trzeba zwolnić wskazane porty. Panel pokazuje program, potrzebną zmianę w QTS i jej konsekwencje. WebHostPro nie przestawia ustawień QTS za Ciebie.

02-front-taken-light.webp


Zwolnij port 80​


W Panel sterowania → Aplikacje → Serwer WWW odznacz „Włącz serwer WWW” i kliknij „Zastosuj”.

03-qts-webserver-on.webp


04-qts-webserver-off.webp


QTS wyświetli ostrzeżenie: „Wyłączenie serwera WWW może wpłynąć na działanie aplikacji w App Center”. Zatwierdź przez OK. Dotychczasowe aplikacje obsługiwane przez ten serwer WWW przestaną być przez niego udostępniane. Dotyczy to również adresów takich jak /phpMyAdmin/, jeżeli korzystały z tego mechanizmu. Przeniesienie frontu nie jest automatyczną migracją każdej takiej aplikacji.

05-qts-webserver-confirm.webp


Przenieś panel QTS na 8443​


Otwórz Panel sterowania → System → Ustawienia ogólne → Zarządzanie systemem. Przy „Włącz bezpieczne połączenie (HTTPS)” zmień „Numer portu” z 443 na 8443, następnie kliknij „Zastosuj”.

06-qts-admin-https-443.webp


07-qts-admin-https-8443.webp


Nowy adres panelu to https://192.168.1.20:8443/. Adres http://192.168.1.20:8080/ pozostaje alternatywą, jeśli dostęp HTTP jest nadal włączony na tym porcie. Popraw zakładki i zapisane linki, w tym odwołania myQNAPcloud.

Jeżeli masz już przekierowanie routera prowadzące na port 443 NAS-a, sprawdź jego cel: po zmianie będzie tam odpowiadać WebHostPro. Samo przeniesienie panelu QTS nie aktualizuje reguły routera.

Oddaj porty WebHostPro​


Wróć do „Serwer frontowy i porty”. Gdy zobaczysz „Porty 80 i 443 są wolne.”, kliknij „Przenieś serwer frontowy na 80 i 443”. Aplikacja sprawdzi konfigurację serwerów, zastosuje zmianę i zachowa poprzednie pliki w migawce.

08-front-free-light.webp


09-front-moved-light.webp


Otwórz http://192.168.1.20/. Witryna domyślna udostępnia folder Web z QTS dla nazw, których nie wykorzystuje żadna Twoja witryna, również dla samego adresu NAS-a. Uruchamia PHP i odczytuje .htaccess. Zawartość strony zależy od plików w Web; ilustracja pokazuje przykład z index.php.

10-web-folder-page.webp


Ustawienia znajdziesz w „Witryny” → „Witryna domyślna”. Po HTTPS używa ona certyfikatu QTS. Jeśli jest samopodpisany, przeglądarka zgłosi ostrzeżenie. Witryna domyślna nie wyświetla listy plików ani nie udostępnia folderów Twoich witryn, nazw zaczynających się od kropki (z wyjątkiem .well-known) czy folderów QTS zaczynających się od @.

11-default-site-light.webp


2. Każda aplikacja dostaje własny pokój​


WebHostPro tworzy dla witryny osobny folder, konto i PHP. Odwiedzający widzi jej podfolder public. Przejdźmy kreator dla FreshRSS; później powtórzysz tę samą drogę dla dwóch pozostałych nazw.

1. Domena. W „Witryny” kliknij „Dodaj witrynę”. Wpisz rss.192-168-1-20.nip.io i odznacz „Także www.rss.192-168-1-20.nip.io”. Gdy panel zapyta o miejsce zapisywania witryn, wybierz folder udostępniony Web. Do niego odnoszą się polecenia poniżej. W QuTS hero folder przeznaczony na witryny nie może mieć włączonych zaawansowanych uprawnień folderów (Advanced Folder Permissions). Jeśli panel zgłosi ten problem, wskaż odpowiedni osobny folder i uwzględnij jego ścieżkę w poleceniach.

30-wiz-domain-light.webp


2. DNS. Wybierz „Mój rejestrator lub dostawca DNS”. Wyczyść oba pola publicznych adresów NAS-a: IPv4 i IPv6. Nazwa nip.io już wskazuje właściwy adres. Komunikat „Bez adresu IPv4 nie ma rekordów do pokazania ani listy kontrolnej; witryna działa dla nazw, na które ten NAS odpowiada.” jest tutaj oczekiwany.

31-wiz-dns-light.webp


3. Rejestrator. Dla nip.io niczego tu nie zmieniasz.

32-wiz-registrar-light.webp


4. Witryna. Wybierz PHP. W polu „Serwer WWW” ustaw httpd dla FreshRSS i FileRise; ich reguły .htaccess muszą być odczytywane. Dla Heimdalla wybierzesz nginx. W polu „Wersja PHP” ustaw 8.4 i zanotuj lokalizację po „Jej folder: …”.

33-wiz-website-php-httpd-light.webp


5. Baza danych. Zostaw „Bez bazy danych”. Aplikacje użyją plików albo SQLite; nie tworzymy osobnego serwera SQL.

34-wiz-database-none-light.webp


6. Certyfikat. Wybierz „Bez TLS”. Przeniesienie frontu na 443 nie włącza automatycznie HTTPS w każdej witrynie. Konfigurację publicznej domeny z Let's Encrypt opisuje osobny poradnik o hostingu.

35-wiz-certificate-none-light.webp


7. Podsumowanie. Sprawdź ustawienia, kliknij „Podgląd zmian”, przeczytaj listę plików i wyniki sprawdzenia konfiguracji. Następnie wybierz „Zastosuj ten plan”. Sam podgląd pozostawia zmiany jako szkic.

36-wiz-review-light.webp


37-dry-run.webp


38-applied.webp


8. Uprawnienia: po wgraniu aplikacji. Pliki skopiowane kontem administratora trzeba przekazać kontu witryny. Na karcie „Pliki” kliknij „Napraw uprawnienia” i potwierdź. Wykonasz to po każdej z poniższych instalacji, przed pierwszym otwarciem aplikacji.

41-rss-files-light.webp


42-fix-question.webp


43-fix-done.webp


Polecenia poniżej służą świeżej instalacji w osobnych katalogach utworzonych przez kreator. Jeśli wybrałeś inne miejsce niż Web, dostosuj cd do „Jej folder: …”. Sprawdź, czy zmiana katalogu się powiodła, zanim wykonasz następne polecenia. Tych sekwencji nie traktuj jako instrukcji aktualizowania istniejących instalacji.

3. FreshRSS: niech wiadomości przychodzą do Ciebie​


Czytnik RSS ma przyjemną właściwość: pozwala wybrać źródła i zebrać je w jednym miejscu. Wieczorne zaglądanie na znajome strony może się zacząć od jednej listy. Postawimy FreshRSS 1.30.4, na PHP 8.4 i httpd.

Zaloguj się przez FAQ SSH jako administrator i wykonaj:

Bash:
cd /share/Web/rss.192-168-1-20.nip.io
wget -O FreshRSS-1.30.4.zip https://github.com/FreshRSS/FreshRSS/archive/refs/tags/1.30.4.zip
unzip -q FreshRSS-1.30.4.zip
cp -a FreshRSS-1.30.4/. public/
cp public/.htaccess.dist public/.htaccess
rm -r FreshRSS-1.30.4 FreshRSS-1.30.4.zip

FreshRSS trzyma strony w p, a WebHostPro udostępnia public. Dlatego kopiujemy cały projekt do public i włączamy dostarczony .htaccess.dist. Reguły .htaccess blokują dostęp do data, app i pozostałych wewnętrznych folderów. W tej konfiguracji potrzebujesz httpd; nginx tych plików nie odczytuje.

Kliknij „Napraw uprawnienia”, następnie otwórz http://rss.192-168-1-20.nip.io/. Instalator przeprowadzi Cię przez język, sprawdzenie wymagań, wybór SQLite i utworzenie pierwszego użytkownika.

44-rss-install-language.webp


45-rss-install-checks.webp


Ostrzeżenie, że katalog główny serwera nie wskazuje ./p/, wynika z przyjętego układu. Sprawdź przy tym, czy wejście na http://rss.192-168-1-20.nip.io/data/ jest zablokowane: odpowiedź 403 lub 404 jest pożądana; zawartość danych nie powinna się otwierać. Jeśli się otwiera, wróć do wyboru httpd i kopiowania .htaccess. Sam błąd dla adresu katalogu nie dowodzi jednak ochrony plików w środku. Zachowaj dostarczone z aplikacją pliki .htaccess, również te w data i app z regułą Require all denied, oraz obsługujący je serwer httpd.

46-rss-install-sqlite.webp


47-rss-install-user.webp


48-rss-install-done.webp


Kanał dodasz przyciskiem + obok „Zarządzanie subskrypcjami”. Na początek możesz wybrać:

  • NASA Image of the Day: https://www.nasa.gov/feeds/iotd-feed/.
  • selfh.st: https://selfh.st/rss/.
  • Hacker News: https://news.ycombinator.com/rss.

49-rss-add-feed.webp


50-rss-list-light.webp


51-rss-reader-light.webp


Język zmienisz w ustawieniach, w części „Wyświetlanie”. Jasny lub ciemny wygląd podąża za ustawieniem przeglądarki. Przycisk „Aktualizuj kanały” pobiera nowe artykuły ręcznie. Żeby czytnik robił to sam, potrzebujemy jeszcze harmonogramu.

Pół godziny między obchodami: online cron​


WebHostPro nie ma własnego harmonogramu. Użyjemy mechanizmu online cron opisanego w dokumentacji FreshRSS.

Pod przyciskiem z kołem zębatym otwórz Profil. W polu „Główny token uwierzytelniania” ustaw długi losowy token i kliknij „Zatwierdź”. Do tego polecenia wybierz losowy ciąg liter i cyfr, bez znaków specjalnych wymagających dodatkowego kodowania w adresie lub powłoce. Zastąp ola własnym użytkownikiem, YOUR_TOKEN tokenem, a nazwę witryny dostosuj do adresu NAS-a:

Bash:
echo "13,43 * * * * curl -s -H 'Host: rss.192-168-1-20.nip.io' 'http://127.0.0.1/p/i/?c=feed&a=actualize&maxFeeds=10&ajax=1&user=ola&token=YOUR_TOKEN' >/dev/null 2>&1" >> /etc/config/crontab
crontab /etc/config/crontab && /etc/init.d/crond.sh restart

Żądanie uruchamia się w 13. i 43. minucie każdej godziny. Adres 127.0.0.1 kieruje do tego samego NAS-a, a nagłówek Host wskazuje witrynę FreshRSS. Ten zapis zakłada front na porcie 80. maxFeeds=10 ogranicza pojedyncze wywołanie; nie obiecuje odświeżenia dowolnie dużej listy kanałów za jednym razem.

Operator >> dopisuje wiersz. Dodaj go raz; późniejsze poprawki wprowadzaj w istniejącym wpisie, żeby nie mnożyć identycznych zadań.

4. Heimdall: jedna zakładka do całego NAS-a​


Teraz Heimdall 2.8.3. Dodaj witrynę home.192-168-1-20.nip.io, wybierz PHP 8.4 i nginx, pozostałe kroki wykonaj jak wcześniej. Heimdall wymaga PHP 8.4 lub nowszego. nginx w WebHostPro kieruje adresy niepasujące do pliku do index.php, zgodnie z wymaganiami aplikacji.

60-wiz-website-php-nginx-light.webp


Przez FAQ SSH wykonaj:

Bash:
cd /share/Web/home.192-168-1-20.nip.io
wget -O Heimdall-2.8.3.zip https://github.com/linuxserver/Heimdall/archive/refs/tags/v2.8.3.zip
unzip -q Heimdall-2.8.3.zip
cp -a Heimdall-2.8.3/. .
rm -r Heimdall-2.8.3 Heimdall-2.8.3.zip
cp .env.example .env
sed -i 's|tempnam("/tmp"|tempnam(sys_get_temp_dir()|' app/Helper.php

Folder public Heimdalla trafia do public witryny. Kopiowanie .env.example do .env to krok z README Heimdalla; przy pierwszym wejściu aplikacja utworzy klucz i bazę SQLite.

Ostatni wiersz poprawia wybór folderu tymczasowego. Heimdall sprawdza ikonę kafelka w pliku pod /tmp, a PHP witryny ma dostęp do własnego folderu i własnego katalogu tymczasowego. sys_get_temp_dir() pozwala użyć tego właściwego. Bez poprawki zapis kafelka z ikoną może kończyć się „500 Server Error”.

Kliknij „Napraw uprawnienia” i otwórz http://home.192-168-1-20.nip.io/.

61-home-empty.webp


Kliknij „Add an application here”. Wybierz „typ aplikacji”, np. QNAP. Heimdall uzupełni ikonę i kolor. Wpisz nazwę oraz adres: dla przeniesionego panelu QTS będzie to https://192.168.1.20:8443/; pokazany na ilustracji http://192.168.1.20:8080/ też ma sens, jeśli nadal używasz tego wejścia. Kliknij „Zapisz”.

62-home-add-app.webp


Jeżeli aplikacji nie ma na liście, wybierz None i użyj „Prześlij plik”, aby dodać ikonę. Zacznij od FreshRSS, FileRise, QTS i WebHostPro. Potem dołóż używane usługi: Rtorrent 16, Radarr, Sonarr, Prowlarr, Seerr czy Bucket & Code Server IDE. Każdy kafelek ma prowadzić tam, gdzie rzeczywiście zaglądasz. To skróty do istniejących usług; dodanie kafelka nie instaluje aplikacji.

63-home-dashboard.webp


5. FileRise: obejrzyj plik i podaj dalej​


FileRise 3.38.0 uruchomimy pod files.192-168-1-20.nip.io. W kreatorze wybierz PHP 8.4 i httpd. Aplikacja wymaga PHP 8.3 lub nowszego, a jej .htaccess zawiera reguły adresów oraz blokady bezpośredniego wywoływania wewnętrznych plików PHP.

Przez FAQ SSH wykonaj:

Bash:
cd /share/Web/files.192-168-1-20.nip.io
wget -O FileRise-v3.38.0.zip https://github.com/error311/FileRise/releases/download/v3.38.0/FileRise-v3.38.0.zip
unzip -q -o FileRise-v3.38.0.zip
rm FileRise-v3.38.0.zip
sed -i "s|'/var/www/|PROJECT_ROOT . '/|" config/config.php
sed -i "s|'America/New_York'|'Europe/Warsaw'|" config/config.php
mkdir -p uploads users metadata

Archiwum nie ma folderu nadrzędnego: jego public trafia wprost do public witryny. Pierwsze sed przenosi konfigurację katalogów uploads, users i metadata z /var/www do folderu aplikacji, obok public. Drugie ustawia strefę czasową. Taki sposób dostosowania lokalizacji opisuje dokumentacja FileRise.

Kliknij „Napraw uprawnienia”, otwórz http://files.192-168-1-20.nip.io/ i utwórz konto administratora.

70-files-first-user-light.webp


W tej konfiguracji FileRise pracuje we własnym folderze witryny. Pokazuje pliki przesłane przez aplikację lub skopiowane do jej uploads; nie otwiera automatycznie wszystkich folderów udostępnionych NAS-a. To ważne, gdy po zalogowaniu zastanawiasz się, gdzie podziała się domowa kolekcja zdjęć.

Język zmienisz w „Panel użytkownika”. Folder dodasz przez New → „Utwórz folder”. Następnie kliknij „Wybierz pliki” i „Prześlij”.

71-files-uploading.webp


72-files-list-light.webp


Przełącz widok na galerię, aby zobaczyć miniatury. Zdjęcia i filmy otworzysz w podglądzie strony; PDF pojawi się w nowej karcie, w przeglądarce PDF Twojej przeglądarki internetowej.

73-files-gallery-light.webp


74-files-preview-image-light.webp


75-files-preview-video-light.webp


76-files-pdf.webp


Udostępnianie bez zakładania konta odbiorcy​


Przy pliku kliknij przycisk udostępniania. Wybierz ważność linku: od 30 minut do doby albo własny okres. Możesz też dodać hasło. Kliknij „Generuj link udostępniania”, następnie „Kopiuj link”. Można udostępniać także foldery.

77-files-share-dialog-light.webp


78-files-share-link-light.webp


Odbiorca nie potrzebuje konta FileRise. Zobaczy plik oraz przyciski otwierania i pobierania; jeśli ustawiłeś hasło linku, będzie musiał je podać. Musi jednak mieć dostęp do tej sieci lokalnej albo połączyć się przez VPN. Wysłanie adresu files.192-168-1-20.nip.io komuś poza domem nie otwiera mu drogi do Twojego NAS-a.

79-files-share-page-light.webp


6. Gdy coś się potknie, zacznij od objawu​


ObjawCo sprawdzić
Nazwa nip.io się nie otwieraRouter może blokować odpowiedzi na prywatne IP przez ochronę DNS rebinding. Dopuść potrzebne nazwy albo dodaj nazwy i adres NAS-a do pliku hosts komputera.
„Przenieś serwer frontowy na 80 i 443” jest szareNa stronie „Witryny” mogą czekać szkice. Wykonaj „Podgląd zmian” i zastosuj je albo odrzuć.
Porty nadal są zajętePrzeczytaj wskazany program na stronie „Serwer frontowy i porty”; zmień ustawienia właściwej usługi.
Nowa witryna odpowiada 403Sprawdź zawartość public oraz „Napraw uprawnienia”.
Pierwsze wejście do Heimdalla kończy się 500Sprawdź obecność .env i uprawnienia witryny. W świeżej instalacji wykonaj krok kopiowania .env.example oraz „Napraw uprawnienia”.
Heimdall zgłasza „500 Server Error” przy ikonieSprawdź poprawkę tempnam z polecenia sed.
FreshRSS nie pobiera wiadomościUżyj „Aktualizuj kanały”; potem sprawdź wpis cron, użytkownika, token, Host i port frontu.
Aktualizacja QTS ponownie zajęła port 80Sprawdź właściciela portu. WebHostPro oferuje powrót frontu na 9542 i 9543.

7. Powrót do portów QTS: kolejność ma znaczenie​


Najpierw zwalniamy porty w WebHostPro, dopiero później oddajemy je QTS.

  1. W „Serwer frontowy i porty” kliknij „Przenieś serwer frontowy z powrotem na 9542 i 9543”.
  2. W QTS → Panel sterowania → System → Ustawienia ogólne → Zarządzanie systemem przywróć HTTPS na 443.
  3. W Panel sterowania → Aplikacje → Serwer WWW ponownie zaznacz „Włącz serwer WWW” i zastosuj.

20-front-back-light.webp


Witryny WebHostPro pozostają dostępne z numerem portu, np. http://rss.192-168-1-20.nip.io:9542/. Popraw również kafelki Heimdalla.

Pamiętaj o cron: we wcześniejszym wpisie zmień http://127.0.0.1/p/i/ na http://127.0.0.1:9542/p/i/. Reszta adresu, użytkownik, token i nagłówek Host pozostają. Po edycji /etc/config/crontab ponownie wykonaj:

Bash:
crontab /etc/config/crontab && /etc/init.d/crond.sh restart

Na koniec otwórz własną stronę startową​


Na stronie „Witryny” powinieneś rozpoznać trzy utworzone aplikacje. Otwórz każdą: dodaj kanał, sprawdź kafelek, prześlij plik i wypróbuj jego link w innej sesji przeglądarki.

80-sites-list-light.webp


To dobry finał jesiennego wieczoru. Masz czytnik z własnymi źródłami, uporządkowane wejścia do usług i miejsce na pliki do pokazania domownikom. A przy okazji wiesz, gdzie są ich katalogi, kto obsługuje porty i dlaczego jedna aplikacja potrzebuje httpd, a druga pracuje na nginx.

Następnym razem otworzysz już tylko Heimdalla. Przynajmniej taki jest plan.

Wersje, źródła i ilustracje​


AplikacjaWersja w poradnikuLicencja lub dostępność
WebHostPro0.8.2Bezpłatny, repozytorium QNAP Utilities
FreshRSS1.30.4AGPL-3.0
Heimdall2.8.3MIT
FileRise3.38.0Podstawowa wersja MIT; FileRise Pro jest osobną, płatną wersją


Ilustracje pochodzą z materiałów QNAP Forum Polska do tego poradnika. Przykładowe zdjęcia NASA (AS08-14-2383, AS17-148-22727, AS11-40-5903 i KSC-69PC-413) pochodzą z images.nasa.gov. Film to „Artemis I Rollout for Launch - TIMELAPSE”, NASA/Frank Michaux i Kim Shiflett. Raport NASA SP-214, „Apollo 11 Preliminary Science Report”, jest dostępny w NTRS.

qnaputilities.com