webh.pl

Co można uruchomić na hostingu (technologie i moduły)

PHP i MySQL, moduły w panelu, redis bez serwera, brak Node.js i Pythona, WP-CLI oraz ograniczenia bezpieczeństwa proc_open i open_basedir.

  • czytania
  • Zaktualizowano:
PHP Limity i możliwości
Hosting

Hosting webh to środowisko PHP z bazą MySQL, na którym uruchomisz większość popularnych skryptów i systemów CMS. Część technologii działa dopiero po włączeniu w panelu, a niektóre rzeczy są zarezerwowane dla serwerów VPS. Ten poradnik pokazuje, co da się uruchomić na hostingu współdzielonym, a kiedy lepiej sięgnąć po VPS.

PHP i moduły

Strony działają w oparciu o PHP, a wersję PHP przełączasz w panelu hostingowym osobno dla każdej strony. Dodatkowe moduły (rozszerzenia) PHP włączasz tam samodzielnie.

Informacja

Niektóre moduły wzajemnie się wykluczają (np. dwa różne sterowniki tej samej bazy). Jeśli moduł nie chce się włączyć, najedź na ikonę błędu przy nim w tabeli. Pojawi się informacja o przyczynie, zwykle o module, który trzeba najpierw wyłączyć.

Popularne rozszerzenia (m.in. mbstring, intl, imap, soap, curl, phar, ioncube) włączasz w tym samym miejscu.

Zmiana ustawień PHP

Wartości dyrektyw PHP, takie jak max_input_vars, upload_max_filesize czy memory_limit, również zmieniasz samodzielnie w ustawieniach PHP danej wersji. Dzięki temu sam dostosujesz środowisko do wymagań sklepu czy szablonu (np. gdy PrestaShop prosi o większy max_input_vars przy tłumaczeniach), bez czekania na pomoc techniczną.

Informacja

Dawniej stosowana zmienna safe_mode nie występuje w obecnych wersjach PHP, więc komunikaty starych skryptów o konieczności jej wyłączenia są nieaktualne i można je zignorować. Funkcje uznane za niebezpieczne (np. mail(), exec, system, proc_open) pozostają wyłączone dla bezpieczeństwa współdzielonego serwera; wysyłkę poczty realizuj wtedy przez SMTP.

Bazy danych MySQL

Bazy MySQL tworzysz i obsługujesz w panelu. Bezpośredni zdalny dostęp do serwera MySQL jest wyłączony ze względów bezpieczeństwa, ale możesz połączyć się z bazą z programu na komputerze przez tunel SSH. Opisujemy to w poradniku o SSH i FTP.

redis, supervisor, Node.js, Python

  • redis: w panelu dostępny jest moduł PHP do obsługi redisa, ale nie udostępniamy samego serwera redis jako usługi.
  • supervisor: niedostępny na hostingu współdzielonym.
  • Node.js i Python: nie obsługujemy ich na hostingu. Aplikacje w tych technologiach uruchomisz na serwerze VPS, gdzie masz pełną swobodę instalacji.
  • FFMPEG: niedostępny na hostingu współdzielonym; przetwarzanie audio i wideo uruchomisz na serwerze VPS.

WP-CLI i ograniczenia bezpieczeństwa

Na hostingu dostępne jest narzędzie WP-CLI do zarządzania WordPressem z linii poleceń. Część funkcji wymagających uruchamiania procesów systemowych (proc_open) jest celowo wyłączona, podobnie jak działa ograniczenie open_basedir.

Informacja

To nie jest „brak", tylko świadome zabezpieczenie. open_basedir izoluje Twoje konto, a wyłączenie proc_open ogranicza ryzyko nadużyć na współdzielonym serwerze. Poprawnie napisane skrypty działają w takiej konfiguracji bez problemu.

Informacja

Z tego samego powodu na hostingu współdzielonym nie zmienisz niektórych nagłówków serwera (np. Access-Control-Allow-Origin dla mechanizmu CORS). Jeśli aplikacja wymaga własnej konfiguracji takich nagłówków, właściwym miejscem jest serwer VPS.

Własne aplikacje PHP

Aplikacje napisane w PHP zainstalujesz samodzielnie na koncie, to po prostu pliki na Twoim hostingu. Dotyczy to na przykład własnego webmaila Roundcube, który skonfigurujesz i doinstalujesz jego zależności po swojej stronie (np. przez Composer).

Informacja

Composer nie jest preinstalowany, ale możesz pobrać go na konto i uruchamiać przez SSH (np. php composer.phar install). To wystarcza do zarządzania zależnościami własnych aplikacji.

Wskazówka

Przy nietypowym oprogramowaniu sprawdź najpierw jego wymagania. Jeśli skrypt wymaga redisa jako serwera, supervisord, Node.js czy Pythona, na hostingu nie zadziała i właściwym miejscem jest VPS. W razie pytań o działanie konkretnego skryptu najlepszym źródłem jest jego twórca.

Katalog główny strony

Katalog, z którego serwowana jest strona, jest stały i nie można wskazać innego (np. podfolderu public). Aplikacje, które domyślnie oczekują osobnego katalogu public (jak Laravel), uruchomisz, przenosząc zawartość tego folderu do katalogu głównego domeny i dostosowując ścieżki w pliku startowym. Jeśli potrzebujesz pełnej swobody w układzie katalogów, właściwym wyborem jest serwer VPS.

Limity wydajności (IOPS, I/O)

Limity dotyczące operacji dyskowych (IOPS, I/O) oraz pozostałe parametry pakietów znajdziesz w specyfikacji hostingu. Pomaga to ocenić, czy dany projekt zmieści się na hostingu, czy lepiej sprawdzi się VPS.