Metoda automatyczna: jeden skrypt z panelu klienta przygotowuje cały serwer (stos WWW Apache + PHP, bazę danych, narzędzia bezpieczeństwa, cron). Następnie — wdrożenie panelu, wystawienie certyfikatu SSL i wprowadzenie licencji. Działa na Ubuntu/Debian: na świeżym VPS konfiguruje wszystko od zera, a na już skonfigurowanym serwerze — wyłącznie addytywnie (profil „Skonfigurowany serwer”, krok 01). Wszystkie poniższe polecenia są uporządkowane, wystarczy przewijać od góry do dołu.
monitor.example.com — Pana/Pani domena; 203.0.113.10 — rzeczywisty adres IP serwera; /var/www/monitor — katalog główny panelu (gdzie znajdują się public/, assets/, config.php); hasło do bazy danych wymyśl własne.
jail.local), root-crontab, reguły UFW, konfigurację Apache. Jeśli serwer jest już skonfigurowany (działający panel, strony, poczta, własne jaile) — wybierz profil „Skonfigurowany serwer”: wprowadza on tylko zmiany addytywne i nie narusza Pana/Pani zapory, Fail2ban, poczty, SSH ani sysctl. Po wykryciu panelu hostingowego skrypt sam przełącza się na ten tryb. Przed pierwszym uruchomieniem można włączyć przebieg próbny (opcja w panelu) — pokaże, co zostanie wykonane, nie zmieniając niczego. Na działającym serwerze na wszelki wypadek wykonaj migawkę (snapshot).
my.arciveo.com → sekcja „Konfiguracja serwera” (dostępna po wykupieniu Arcivéo Monitor). Jest ono powiązane z Pana/Pani kontem i zawiera osobisty token.
Skrypt przygotowuje cały serwer: stos WWW (Apache + PHP), bazę danych, narzędzia do SSL, pełny zestaw środków ochrony oraz zadania cron (Lynis, SMART, debsums, Logwatch, codzienny raport, aktualizacja ipsum).
1) Wybierz poziom ochrony (w panelu, przed skopiowaniem polecenia):
2) Wykonaj na serwerze jako root polecenie z panelu — wygląda ono tak:
Aby otwierać panel pod adresem takim jak monitor.example.com i uzyskać darmowy SSL, domena musi wskazywać na serwer. W panelu zarządzania DNS (u rejestratora lub hostingodawcy) utwórz rekord A:
Po kilku minutach (czasem do godziny) sprawdź, czy domena wskazuje na serwer:
/var/www/monitor i skonfigurowała witrynę Apache (DocumentRoot na katalog główny panelu, PHP-FPM, AllowOverride dla .htaccess). Nie trzeba osobno tworzyć katalogu ani vhosta — wystarczy wgrać pliki i ustawić uprawnienia.
my.arciveo.com → „Pobrania”. Rozpakuj archiwum przed wgraniem na serwer.
Wgraj zawartość dystrybucji do /var/www/monitor (aby w środku znalazły się public/, assets/, config.php itd.) — przez SFTP/SCP (FileZilla / WinSCP) lub poleceniem scp z komputera lokalnego:
ServerName), przekazuje się ją do polecenia autokonfiguracji już w kroku 01: … | sudo bash -s -- monitor.example.com (lub podaje domenę w polu „Domena panelu” w panelu klienta). Jeśli domena nie została przekazana — panel odpowiada na dowolny host oraz po IP, a ServerName zapisze certbot przy wydawaniu SSL (krok 06); nie trzeba niczego przeinstalowywać.
root lub przez SFTP, należą one do root, a serwer WWW (www-data) nie będzie mógł ich odczytać — panel otworzy się pusty lub z błędem 403 (w logu: .htaccess unreadable / directory not executable). Poniższe polecenie to naprawia:
Proszę otworzyć sobie wgrywanie plików przez SFTP. Po powyższym poleceniu wszystkie pliki należą do www-data, a FileZilla / WinSCP łączą się na własnym użytkowniku — wgrywanie zakończy się wtedy błędem SSH_FX_PERMISSION_DENIED (Permission denied). Proszę wybrać jeden z dwóch wariantów.
Wariant A — ACL tylko dla własnego użytkownika (zalecany). Prawo zapisu otrzymuje wyłącznie użytkownik; serwer WWW nadal nie może nadpisać kodu panelu:
Wariant B — przez grupę www-data. Prostszy, ale prawo zapisu do plików panelu dostaje również serwer WWW: przy podatności w PHP kod dałoby się podmienić. Kolejność poleceń ma znaczenie — config.php i katalogi robocze zamyka się na końcu:
id deploy — na liście grup musi pojawić się www-data; ls -ld /var/www/monitor — uprawnienia drwxrwsr-x, litera s zamiast x oznacza, że setgid jest ustawiony.
Proszę utworzyć bazę i użytkownika, a następnie zaimportować schemat. Blok z bazą danych wkleja się do terminala w całości (sudo mysql loguje root przez gniazdo unix — hasło root nie jest potrzebne). monitor_db i monitor_user to nazwy przykładowe, można ustawić własne; proszę zapamiętać nazwę bazy, użytkownika i hasło — trzeba je będzie wpisać w config.php w następnym kroku:
admin przy pierwszym wejściu w przeglądarce (z database/db.sql), jeśli baza jest pusta.
www-data).
config.php w katalogu głównym panelu (/var/www/monitor/config.php) to jedyny plik, który trzeba edytować ręcznie. Wszystkie ustawienia panelu są w nim zapisane jako stałe define(). Proszę otworzyć go w edytorze:
Proszę wstawić własne wartości w podświetlonych miejscach; resztę zostawić bez zmian:
Co zmienić:
DB_NAME, DB_USER, DB_PASS — dokładnie te same nazwa bazy, użytkownik i hasło, które ustawiono podczas tworzenia bazy w kroku 04 (jeśli pozostawiono przykłady — monitor_db / monitor_user). DB_HOST i DB_CHARSET proszę pozostawić.APP_URL — pełny adres panelu z https://, bez ukośnika na końcu i bez www. Musi być zgodny z domeną, na której aktywuje się licencję (krok 07), inaczej klucz zostanie odrzucony.TIMEZONE — Pana/Pani strefa czasowa (lista — timedatectl list-timezones). Wpływa tylko na to, jak panel wyświetla daty; na czas uruchamiania zadań cron nie wpływa (tam obowiązuje strefa systemowa).SESSION_LIFETIME — po ilu sekundach bezczynności panel poprosi o ponowne logowanie (domyślnie 8 godzin). Np. 3600 = 1 godzina, 86400 = doba.display_errors, log_errors, error_log) — proszę zostawić domyślnie.Proszę zapisać plik (Ctrl+O, Enter, następnie Ctrl+X) i zrestartować PHP-FPM — inaczej z powodu OPcache zmiany nie zostaną zastosowane:
640 (ustawione w kroku 03) i jawny zakaz w głównym .htaccess. Proszę nie publikować go w publicznych repozytoriach ani nie przesyłać do wsparcia z prawdziwym hasłem.
http:// nie uda się Panu zalogować.
certbot oraz wtyczka dla Apache są już zainstalowane przez autokonfigurację. DNS domeny powinien już wskazywać na serwer (krok 02). Wystawienie jedną komendą:
Y.<VirtualHost *:443>, skonfiguruje przekierowanie http→https i automatyczne odnawianie. Na końcu — Successfully enabled HTTPS.
dig +short monitor.example.com zwraca IP serwera i czy porty 80/443 są otwarte (sudo ufw allow 80,443/tcp).
Po wystawieniu: https://monitor.example.com otwiera się z kłódką, a http:// przekierowuje na https://.
Proszę otworzyć https://monitor.example.com, zalogować się jako admin / useradmin i przejść przez listę kontrolną:
ARCIVEO-… z panelu klienta proszę aktywować na swoją domenę i wkleić klucz w „Ustawienia” → „Licencja”. Więcej.public/start_db.php, jeśli pozostał: pozwala on bez autoryzacji odtworzyć bazę. Dopóki plik znajduje się w katalogu głównym panelu lub w public/, panel ostrzega o nim czerwonym banerem.