Które oprogramowanie nie jest systemem zarządzania treścią (CMS)?
Apache nie jest systemem zarządzania treścią, tylko oprogramowaniem serwera WWW, najczęściej spotykanym jako Apache HTTP Server. Jego zadaniem jest obsługa żądań HTTP/HTTPS, udostępnianie plików strony, przekazywanie zapytań do aplikacji po stronie serwera, obsługa konfiguracji hostów wirtualnych, modułów, przekierowań, certyfikatów SSL/TLS i reguł dostępu. CMS działa wyżej, na poziomie aplikacji: pozwala tworzyć artykuły, strony, menu, kategorie, konta redaktorów, szablony i wtyczki. WordPress, Joomla i Mambo właśnie tym się zajmują. W praktyce można mieć CMS uruchomiony na serwerze Apache, ale to nie znaczy, że Apache sam jest CMS-em. To częsty skrót myślowy. Moim zdaniem warto zapamiętać prostą zasadę: CMS zarządza treścią, a serwer WWW dostarcza tę treść do przeglądarki. W dobrej praktyce branżowej rozdziela się te warstwy: aplikacja, serwer WWW, baza danych i konfiguracja bezpieczeństwa to osobne elementy środowiska.
W tym pytaniu łatwo pomylić narzędzie używane przy tworzeniu stron z systemem zarządzania treścią. Joomla, Mambo i WordPress to klasyczne przykłady CMS-ów, czyli aplikacji webowych służących do wygodnego publikowania i organizowania treści bez ręcznego edytowania każdego pliku HTML. Pozwalają zwykle logować się do panelu administracyjnego, dodawać artykuły, zarządzać menu, instalować rozszerzenia, zmieniać motywy graficzne i przydzielać role użytkownikom. Takie funkcje są typowe dla CMS-a, bo głównym celem jest obsługa treści przez redaktorów, administratorów i czasem zwykłych użytkowników strony. Apache ma zupełnie inną rolę. To serwer WWW, czyli program odbierający żądania z przeglądarki i zwracający odpowiednie zasoby, na przykład pliki HTML, CSS, obrazy albo wynik działania skryptu PHP. Może być częścią środowiska, na którym działa WordPress czy Joomla, ale sam nie daje panelu do tworzenia wpisów i stron. Typowy błąd polega na wrzucaniu do jednego worka wszystkiego, co kojarzy się ze stronami internetowymi. Z mojego doświadczenia najlepiej rozróżniać warstwy: CMS zarządza treścią, serwer WWW obsługuje komunikację HTTP, a baza danych przechowuje dane. To porządkuje temat i pomaga też przy administracji oraz diagnozowaniu awarii.