ZARZąDZANIE HOSTINGIEM (DIRECTADMIN) • 3 MIN READ

Obsługa Apache (Handlers)

Apache Handlers — przypisanie rozszerzenia do PHP / CGI / innych. Jak skonfigurować w DA, przykłady typu .htm jako PHP, custom CGI, debugowanie.

Zespół IQHost 14 maj 2026 3m read
#DirectAdmin #IQHost #hosting

Apache Handler = mapowanie rozszerzenia pliku do programu obsługującego (np. .php → PHP, .cgi → Perl). W DA dodajesz custom handlery dla niestandardowych setupów — np. .htm jako PHP, własne skrypty CGI.

Co zyskasz

  • Dodasz handler dla nowego rozszerzenia.
  • Skonfigurujesz .htm jako PHP (gdy migrujesz starą stronę).
  • Włączysz CGI dla Perl scripts.

Wymagania wstępne

  • Konto DA z dostępem do Funkcji zaawansowanych.

Wskazówka

Większości aplikacji nie potrzebuje handlerów. PHP, statyczne strony — działają automatycznie. Handlery używaj gdy konkretnie potrzebujesz mapowania innego niż standard.

Krok 1: Otwórz Obsługa Apache

Funkcje zaawansowane → Obsługa Apache.

Strona Obsługa Apache w DA

Lista istniejących handlerów + formularz dodania. Pełna strona Obsługa Apache — handlery PHP/CGI per rozszerzenie

Krok 2: Dodaj handler

Formularz:

  • Extension — rozszerzenie (np. .htm, .shtml, .pl)
  • Handler — typ obsługi (PHP, CGI, server-parsed, etc.)

Wybrane handlery (zależnie od wersji DA):

  • application/x-httpd-php — PHP
  • application/x-httpd-php-source — PHP source (pokazuje kod, nie wykonuje)
  • application/x-httpd-cgi — CGI scripts
  • application/server-parsed — SSI (Server-Side Includes)
  • wsgi-script — Python WSGI

Typowe przypadki

.htm jako PHP

Migrujesz starą stronę gdzie wszystko ma rozszerzenie .htm, ale chcesz dodać PHP. Bez ruszania URL-i:

  • Extension: .htm
  • Handler: application/x-httpd-php

Apache traktuje teraz .htm jak .php — zawartość <?php ?> jest wykonywana.

.pl jako CGI Perl

Extension: .pl
Handler: application/x-httpd-cgi

Skrypty Perl w public_html wykonują się jako CGI. Wymaga uprawnień 755 na pliku.

Server-Side Includes (SSI) dla .shtml

Extension: .shtml
Handler: server-parsed

Wbudowane includes typu:

<!--#include file="header.html" -->

Stara technika, dziś rzadko używana (zastąpiona przez PHP / templates).

Override przez .htaccess

Alternatywa dla panelu DA — w .htaccess w folderze:

AddHandler application/x-httpd-php .htm

Działa lokalnie dla tego folderu.

Wskazówka

W LSPHP (IQHost): AddHandler w .htaccess może wymagać application/x-httpd-php lub lsphp w zależności od wersji. Test: dodaj rozszerzenie, sprawdź czy phpinfo() w .htm wykonuje się.

Najczęstsze problemy

1. „Dodałem handler, ale plik się nie wykonuje"

  • Cache LiteSpeed — wyczyść
  • Sprawdź uprawnienia pliku (.pl musi być 755 dla CGI)
  • Sprawdź composer.json / wymagania (PHP wersja)

2. „CGI script daje 500 Internal Server Error"

  • Brak #!/usr/bin/perl na początku (shebang)
  • Uprawnienia 755
  • Skrypt z \r\n (CRLF) zamiast \n (LF) — Linux nie lubi CRLF. Konwertuj z dos2unix.

3. „Server-parsed nie zadziałało"

SSI wymaga Options +Includes w .htaccess. W IQHost może być wyłączone z bezpieczeństwa — zgłoś ticket.

4. „Multiple handlery na jednym extension"

Działa ostatni zdefiniowany. Może wystąpić konflikt — usuń stare.

5. „PHP w innym extension działa, ale PHP-CGI vs PHP-FPM"

W LSPHP nie ma rozróżnienia CGI/FPM dla extensions — wszystko przez LSPHP. Standard mapowanie wystarcza.

6. „Mogę handler dla folderu, nie globalnie?"

Tak — .htaccess w folderze:

AddHandler application/x-httpd-php .htm

Działa tylko dla tego katalogu i podkatalogów.

7. „Bezpieczeństwo — kto może uruchamiać CGI?"

W IQHost CGI wykonuje się z uprawnieniami właściciela strony (suEXEC). Bezpieczne — atakujący skrypt nie ma dostępu do innych kont.

Słowniczek

  • Handler — program obsługujący pliki danego typu.
  • CGI — Common Gateway Interface, klasyczne uruchamianie skryptów.
  • SSI — Server-Side Includes, stary mechanizm template'owy.
  • WSGI — Web Server Gateway Interface, standard dla Pythona.
  • suEXEC — uruchamianie CGI z UID właściciela.

Related

Feedback

Czy ten artykuł pomógł?

Potwierdź