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:
- Konfiguracja i zabezpieczenie serwera Debian vServer
- Instalacja i konfiguracja Froxlora ← Jesteś tutaj
- 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.

Spis treści
- Wymagania wstępne
- Krok 1: Przygotowanie serwera (sprawdzenie nazwy hosta)
- Krok 2: Instalacja stosu LAMP (serwer WWW, baza danych, PHP)
- Krok 3: Utworzenie bazy danych dla Froxlora
- Krok 4: Instalacja Froxlora z oficjalnego repozytorium
- Krok 5: Przejście przez instalator webowy Froxlora
- Krok 6: Zastosowanie konfiguracji Froxlora (najważniejsza część)
- Krok 7: Aktywacja HTTPS z Let's Encrypt
- Krok 8: Utworzenie pierwszej domeny i pierwszego klienta
- Częste problemy i ich rozwiązania
- Lista kontrolna
- Co dalej?
- Źródła
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, jakserwer.twoja-domena.pliSILNE-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:
- Sprawdzenie systemu – jeśli czegoś brakuje, Froxlor pokaże to na czerwono i poda pakiet do doinstalowania.
- Baza danych – wpisz dane z Kroku 3 (baza
froxlor, użytkownikfroxlor, Twoje hasło) oraz dane logowania użytkownika root bazy danych. - Konto administratora – ustaw nazwę użytkownika i silne hasło do logowania w Froxlorze.
- 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:
- Utwórz klienta: menu Klienci → Nowy. Nawet jeśli zarządzasz tylko sobą, potrzebujesz „klienta" jako właściciela domen.
- 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". - 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 -fpoprawne - [ ] 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
- Froxlor – strona oficjalna
- Dokumentacja Froxlora
- Froxlor – skrypty konsolowe (CLI)
- Forum Froxlora (wsparcie i rozwiązywanie problemów)
- idroot: instalacja Froxlora na Debianie 12
- ComputingForGeeks: Froxlor na Debianie
- Let's Encrypt · Certbot
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