Poradnik PepperTools
Technika i serwery

Instalacja i konfiguracja Froxlora: krok po kroku dla początkujących (Część 2 z 3)

Część 2 serii „Własny serwer – od 0 do bezpieczeństwa": instalacja Froxlora jako darmowego panelu serwerowego na Debianie 12 – od stosu LAMP, przez instalację z repozytorium i instalator webowy, po zastosowanie konfiguracji i HTTPS z Let's Encrypt. Z podrozdziałami o częstych problemach (cron, Let's Encrypt) i poleceniami do skopiowania.

Instalacja i konfiguracja Froxlora: krok po kroku dla początkujących (Część 2 z 3)

Instalacja i konfiguracja Froxlora: krok po kroku dla początkujących (Część 2 z 3)

Seria „Własny serwer – od 0 do bezpieczeństwa" · 3 części:

  1. Konfiguracja i zabezpieczenie serwera Debian vServer
  2. Instalacja i konfiguracja FroxloraJesteś tutaj
  3. Prawidłowa konfiguracja e-mail: SPF, DKIM i DMARC

To jest Część 2. Zakłada bezpieczny serwer, jaki skonfigurowaliśmy w Części 1. Tu instalujemy Froxlora i stosujemy konfiguracje serwera. E-mail będzie w Części 3.

Froxlor installieren und konfigurieren

Spis treści


Froxlor to darmowy panel zarządzania serwerem. Służy do łatwego zarządzania domenami, stronami, certyfikatami SSL, kontami e-mail i bazami danych przez interfejs webowy – zamiast ustawiać wszystko ręcznie w konsoli. Co wyjątkowe: Froxlor zapisuje pliki konfiguracyjne serwera WWW, PHP, bazy danych i poczty za Ciebie. Właśnie to „zastosowanie konfiguracji" jest sednem tego poradnika.

Pozostajemy przyjaźni początkującym: każdy krok do skopiowania, każde działanie wyjaśnione. Używamy Debiana 12 z Apache jako serwerem WWW.

Wskazówka: Wszystkie polecenia wykonuj jako utworzony w Części 1 użytkownik z sudo. Zastąp symbole zastępcze, jak serwer.twoja-domena.pl i SILNE-HASŁO, swoimi rzeczywistymi wartościami.

Wymagania wstępne

  • Zabezpieczony serwer Debian 12 z użytkownikiem sudo i otwartą zaporą dla portów 80/443 – dokładnie wynik z Części 1.
  • Domena wskazująca na IP serwera (rekord A w DNS dostawcy domeny). Dla panelu użyjemy subdomeny, np. serwer.twoja-domena.pl.
  • Dostęp SSH do serwera.

Krok 1: Przygotowanie serwera (sprawdzenie nazwy hosta)

Froxlor potrzebuje pełnej nazwy (FQDN). Ustaw ją i dodaj do pliku hosts. Zastąp serwer.twoja-domena.pl i SERVER-IP:

sudo hostnamectl set-hostname serwer.twoja-domena.pl
echo "SERVER-IP serwer.twoja-domena.pl serwer" | sudo tee -a /etc/hosts

Upewnij się, że system jest aktualny:

sudo apt update && sudo apt full-upgrade -y

Sprawdź pełną nazwę – powinno pojawić się serwer.twoja-domena.pl:

hostname -f

Krok 2: Instalacja stosu LAMP (serwer WWW, baza danych, PHP)

„LAMP" oznacza Linux, Apache, MariaDB i PHP – podstawę, na której działają Froxlor i Twoje strony. Wszystko jednym poleceniem:

sudo apt install -y apache2 mariadb-server \
  php php-fpm php-cli php-mysql php-curl php-gd php-intl php-mbstring \
  php-xml php-zip php-bcmath php-soap \
  libapache2-mod-php unzip

Zabezpiecz serwer bazy danych (podaj hasło root, na dalsze pytania odpowiedz Y):

sudo mysql_secure_installation

Krok 3: Utworzenie bazy danych dla Froxlora

Froxlor przechowuje ustawienia we własnej bazie. Instalator webowy w Kroku 5 zwykle tworzy ją sam – potrzebujesz do tego tylko danych logowania użytkownika root bazy danych, które przed chwilą ustawiłeś. Możesz jednak przygotować bazę już teraz:

sudo mysql -e "CREATE DATABASE froxlor CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'froxlor'@'localhost' IDENTIFIED BY 'SILNE-HASŁO';
GRANT ALL PRIVILEGES ON froxlor.* TO 'froxlor'@'localhost';
FLUSH PRIVILEGES;"

Zapisz froxlor (baza i użytkownik) oraz swoje SILNE-HASŁO – te wartości będą zaraz potrzebne w instalatorze.

Krok 4: Instalacja Froxlora z oficjalnego repozytorium

Instalujemy Froxlora z oficjalnego źródła pakietów – dzięki temu otrzymujesz automatyczne aktualizacje. Najpierw przygotuj pakiety pomocnicze i klucz podpisujący:

sudo apt install -y apt-transport-https lsb-release ca-certificates curl gnupg
sudo curl -fsSL https://deb.froxlor.org/froxlor.gpg -o /etc/apt/trusted.gpg.d/froxlor.gpg

Dodaj źródło pakietów i zainstaluj Froxlora:

echo "deb https://deb.froxlor.org/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/froxlor.list
sudo apt update
sudo apt install -y froxlor

Uwaga: Gdyby adres repozytorium kiedyś się zmienił, aktualne polecenia znajdziesz w oficjalnej dokumentacji instalacji Froxlora. Alternatywą jest instalacja z archiwum tarball, jeśli nie chcesz używać repozytorium.

Froxlor jest teraz w /var/www/froxlor. Aby Apache serwował panel, aktywujemy dołączony przykładowy vHost (lub tworzymy własny). Do szybkiego startu wystarczy:

sudo a2enmod rewrite
sudo systemctl reload apache2

Krok 5: Przejście przez instalator webowy Froxlora

Teraz przechodzimy do przeglądarki. Otwórz panel (najpierw przez IP lub subdomenę):

http://serwer.twoja-domena.pl/froxlor

Kreator instalacji przeprowadzi Cię przez kilka kroków:

  1. Sprawdzenie systemu – jeśli czegoś brakuje, Froxlor pokaże to na czerwono i poda pakiet do doinstalowania.
  2. Baza danych – wpisz dane z Kroku 3 (baza froxlor, użytkownik froxlor, Twoje hasło) oraz dane logowania użytkownika root bazy danych.
  3. Konto administratora – ustaw nazwę użytkownika i silne hasło do logowania w Froxlorze.
  4. Zakończenie – Froxlor zapisuje konfigurację i kieruje Cię do logowania.

Następnie zaloguj się kontem administratora. Zobaczysz pulpit Froxlora.

Krok 6: Zastosowanie konfiguracji Froxlora (najważniejsza część)

Froxlor wie teraz, jak mają być skonfigurowane Twoje strony i usługi – ale musi jeszcze tę konfigurację zapisać na serwerze. Dzieje się to w dwóch miejscach.

6.1 Wybór usług. W menu Froxlora w System → Ustawienia wybierasz, jakiego oprogramowania używasz: jako serwer WWW Apache 2.4, plus PHP-FPM (do szybkiego, oddzielonego wykonywania PHP) i opcjonalnie usługi poczty (Postfix/Dovecot, więcej w Części 3). Aktywuj co najmniej „Apache" i „PHP-FPM" i zapisz.

6.2 Przejmij polecenia konfiguracyjne. W menu System → Konfiguracja Froxlor pokazuje Ci – dopasowane do Twojej dystrybucji i wybranych usług – dokładne polecenia i fragmenty konfiguracji, które musisz jednorazowo wykonać na serwerze (np. aktywacja modułów Apache, konfiguracja pul PHP-FPM). Przejdź tę listę od góry do dołu i skopiuj każde polecenie do sesji SSH. Oficjalna dokumentacja opisuje ten krok szczegółowo w Froxlor – Configuration.

6.3 Konfiguracja crona Froxlora. Aby Froxlor odtąd automatycznie zapisywał konfiguracje (gdy np. utworzysz nową domenę) i odnawiał certyfikaty SSL, konfigurujemy jego usługę w tle. Uruchom crona jednorazowo ręcznie, aby przetestować (-f wymusza ponowny zapis konfiguracji, -d pokazuje szczegółowe dane debugowania):

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -f -d

Aby uruchamiał się regularnie, aktywuj dołączony timer systemd (lub dodaj cronjob). Z timerem:

sudo systemctl enable --now froxlor.timer 2>/dev/null || \
( echo "* * * * * www-data /usr/bin/php /var/www/froxlor/bin/froxlor-cli froxlor:cron" | sudo tee /etc/cron.d/froxlor )

Od teraz Froxlor samodzielnie stosuje Twoje zmiany z panelu na serwerze. Dokładną ścieżkę i aktualne polecenia crona znajdziesz w dokumentacji Froxlora o cronjobie.

Krok 7: Aktywacja HTTPS z Let's Encrypt

Twój panel i strony powinny być dostępne szyfrowanie (przez HTTPS). Froxlor ma do tego wbudowane połączenie z Let's Encrypt. Aktywuj je w System → Ustawienia → SSL/Let's Encrypt: wpisz e-mail kontaktowy i włącz „Aktywuj Let's Encrypt".

Następnie przy każdej domenie w Froxlorze możesz zaznaczyć „Let's Encrypt" – certyfikat zostanie utworzony automatycznie i odnowiony przez crona z Kroku 6. Tło o Let's Encrypt znajdziesz u samego Let's Encrypt, a o standardowym narzędziu u Certbota.

Krok 8: Utworzenie pierwszej domeny i pierwszego klienta

Na koniec tworzymy stronę. W Froxlorze robi się to tak:

  1. Utwórz klienta: menu Klienci → Nowy. Nawet jeśli zarządzasz tylko sobą, potrzebujesz „klienta" jako właściciela domen.
  2. Dodaj domenę: menu Domeny → Nowa, wpisz domenę (np. twoja-domena.pl), przypisz do klienta, wybierz wersję PHP i – jeśli chcesz – aktywuj „Let's Encrypt" i „przekierowanie na HTTPS".
  3. Odczekaj chwilę, aż uruchomi się cron Froxlora (Krok 6) – wtedy domena jest aktywna.

Pliki strony umieścisz następnie w katalogu klienta (Froxlor pokazuje ścieżkę). Tym samym Twój serwer staje się pełnoprawnym systemem hostingowym zarządzanym przez interfejs.

Częste problemy i ich rozwiązania

Froxlor jest potężny, ale czasem grymasi. Oto najczęstsze pułapki z praktyki – każda z poleceniami do skopiowania. Wszystkie polecenia wykonuj jako użytkownik sudo przez SSH. (Ścieżka do Froxlora przy instalacji z repozytorium to /var/www/froxlor; w niektórych konfiguracjach /var/www/html/froxlor – dostosuj w razie potrzeby.)

Froxlor nie stosuje zmian (cron nie działa)

Jeśli nowe domeny, vHosty lub ustawienia nie docierają na serwer, prawie zawsze chodzi o crona. Uruchom go ręcznie i wymuś ponowny zapis wszystkich konfiguracji (-f) z danymi debugowania (-d):

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -f -d

Ponowne wygenerowanie tylko konfiguracji serwera WWW/usług (zadanie 1):

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -r 1 -f -d

Jeśli automatyczne uruchomienie całkowicie znika, każ Froxlorowi ponownie zapisać plik crona (zadanie 99) i sprawdź timer/cronjob:

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -r 99
systemctl status froxlor.timer
cat /etc/cron.d/froxlor

Starszy Froxlor (v0.10): tam polecenie to php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --force --debug. Wszystkie opcje CLI znajdziesz w oficjalnej dokumentacji CLI.

Let's Encrypt grymasi: brak certyfikatu lub odnowienie się nie udaje

Najpierw wyklucz najczęstsze przyczyny: php-curl musi być zainstalowany, port 80 musi być otwarty (Let's Encrypt sprawdza przez niego), rekord A domeny musi wskazywać na serwer, i nie wolno używać wildcard/aliasu.

sudo apt install -y php-curl
sudo ufw allow 80/tcp

Uruchom generowanie certyfikatu z danymi debugowania – zobaczysz dokładny komunikat błędu:

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -d

Jeśli zmieniły się ścieżki (DocumentRoot/katalog ACME), napraw konfigurację acme.sh:

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:validate-acme-webroot -A

Jeśli certyfikat absolutnie nie chce się odnowić, wymuś odnowienie bezpośrednio przez acme.sh (zastąp domenę; przy certyfikatach ECDSA dodaj --ecc):

sudo bash /root/.acme.sh/acme.sh --renew -d twoja-domena.pl --force

Starszy Froxlor (v0.10): uruchomienie Let's Encrypt jest tam osobne: php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --letsencrypt --debug.

„500 Internal Server Error" zaraz po utworzeniu domeny

Najczęściej PHP-FPM nie jest jeszcze aktywne lub konfiguracja nie została zapisana. Wygeneruj konfiguracje ponownie i uruchom usługi ponownie:

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -r 1 -f
sudo systemctl restart php8.3-fpm apache2

Zablokowany dostęp do panelu Froxlor (zbyt wiele nieudanych prób)

Froxlor blokuje konta po kilku nieudanych próbach. Odblokowanie administratora:

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:user -u admin

Panel lub strona niedostępne

Sprawdź najpierw zaporę, potem Apache:

sudo ufw allow 80,443/tcp
sudo systemctl status apache2
sudo tail -n 50 /var/log/apache2/error.log

SSL nie działa: brakuje portu 443

Aby Froxlor mógł zapisywać vHosty HTTPS, w Zasoby → IPs & Ports musi istnieć wpis z portem 443 i aktywną opcją SSL. Utwórz go, a następnie uruchom crona z -f (patrz wyżej).

Lista kontrolna

  • [ ] Nazwa hosta/FQDN ustawiona, hostname -f poprawne
  • [ ] Stos LAMP zainstalowany, baza danych zabezpieczona
  • [ ] Froxlor zainstalowany z repozytorium, instalator webowy zakończony
  • [ ] Usługi (Apache, PHP-FPM) wybrane i konfiguracja zastosowana
  • [ ] Cron Froxlora działa (timer/cronjob aktywny)
  • [ ] HTTPS/Let's Encrypt aktywne
  • [ ] Pierwszy klient + pierwsza domena utworzone i dostępne

Co dalej?

Twój serwer może teraz hostować strony. W ostatniej części zadbamy o to, by działała też wysyłka e-maili – i to tak, by Twoje wiadomości nie lądowały w spamie. W tym celu skonfigurujemy SPF, DKIM i DMARC:

👉 Część 3: Prawidłowa konfiguracja e-mail: SPF, DKIM i DMARC

Punkt wyjścia – zabezpieczony serwer – opisuje Część 1: Konfiguracja i zabezpieczenie serwera Debian vServer.

Potrzebujesz indywidualnej wtyczki, integracji lub rozwiązania webowego na miarę? PepperTools stworzy je dla Ciebie – zgłoś się przez formularz kontaktowy.

Źródła

Stan: czerwiec 2026. Polecenia, ścieżki i adresy repozytoriów mogą się zmieniać wraz z nowymi wersjami – wiążąca jest oficjalna dokumentacja Froxlora.

Latwiejsze fakturowanie

Easy Invoice laczy oferty, faktury i zarzadzanie klientami w chmurze.

Wyprobuj Easy Invoice

Wersje jezykowe