Po prostu CyMeS!

Własna strona WWW nie jest dziś niczym wyjątkowym. Praktycznie każdy, kto ma na to ochotę, może przygotować odpowiednie pliki i umieścić je za darmo w Sieci. Dopóki nasza witryna składa się z kilku czy kilkunastu elementów, nie ma większych kłopotów z jej uaktualnianiem czy modyfikacją. Gorzej, jeśli serwis zaczyna się rozrastać lub ma być większy z założenia. Zapanowanie nad wieloma różnorodnymi informacjami oraz nadanie stronom spójnego wyglądu, systemu nawigacji itd. mogą się okazać kłopotliwe, jeśli wykorzystamy tradycyjne, statyczne pliki HTML. W takim wypadku o wiele korzystniej jest generować kod stron dynamicznie za pomocą odpowiednich skryptów “wkładających” treść strony do przygotowanych szablonów graficznych.

Samodzielne tworzenie podobnego oprogramowania, np. w PHP, wymaga jednak nie tylko wiedzy i umiejętności, ale także sporego nakładu czasu i pracy (patrz: $(LC115158: Portal w pięć minut)$). Na szczęście możemy skorzystać z gotowych narzędzi, tak zwanych systemów zarządzania treścią (CMS – Content Management System). Umożliwiają one tworzenie rozbudowanych serwisów o różnym stopniu skomplikowania bez umiejętności programowania czy znajomości HTML-a (choć obeznanie w PHP i HTML-u mogą się przydać w razie problemów lub chęci modyfikacji szablonów). Instalując system zarządzania treścią, musimy bowiem mieć świadomość, że jeśli rozbudujemy naszą witrynę, w pewnym momencie niezbędne okażą się umiejętności programowania w PHP i znajomość SQL-a. Przykładem takiej sytuacji jest choćby zorganizowanie płatności. Moduł sklepu znajdziemy w większości CMS-ów, ale umożliwienie użytkownikom witryny płacenia wymaga napisania kawałka kodu.

Rozwiązań jest wiele

Systemy portalowe umożliwiają kontrolowanie praktycznie wszystkich elementów serwisu internetowego, np. wyglądu, treści, a także uprawnień różnych osób (grafika, redaktora, autora). Do zarządzania CMS-ami wykorzystuje się zarówno aplikacje, jak i przeglądarki WWW. Wśród systemów portalowych znajdziemy “kombajny” przeznaczone dla dużych witryn (często komercyjne) oraz skromniejsze aplikacje (na licencji GNU GPL). Trzeba też pamiętać, że wiele firm webmasterskich pisze własne systemy zarządzania treścią uwzględniające specyficzne potrzeby klientów.

W tym artykule skupię się na popularnych produktach dostępnych za darmo (jeden system jest bezpłatny tylko dla projektów niekomercyjnych), wykorzystujących serwer WWW Apache, bazę danych MySQL oraz język skryptowy PHP. Oprogramowanie to stanowi wspólną platformę dla wielu CMS-ów i jest dostępne bezpłatnie zarówno dla systemów Unix/Linux, jak i Windows. Wybraliśmy 10 popularnych i ciekawych pakietów. Wszystkie mogą być z powodzeniem wykorzystane np. do tworzenia portalu tematycznego czy rozbudowanej witryny (np. sieci osiedlowej). Nie brak przykładów ich stosowania choćby w firmowych intranetach czy przy tworzeniu sklepów internetowych.

Gdzie to postawić?

Niezależnie od tego, na który system zarządzania treścią się zdecydujemy, musimy dysponować odpowiednim kontem WWW. O ile można znaleźć darmowe konto z obsługą PHP, to z bezpłatnym dostępem do MySQL-a będzie już kłopot. W komfortowej sytuacji są właściciele łączy stałych z własnym serwerem WWW lub osoby znające jakiegoś “admina”, zwłaszcza że w trakcie uruchamiania serwisu dodatkowy dostęp do powłoki systemowej (tzw. shella) bardzo się przydaje.

Wiele osób zapomina też, że potrzebne do uruchomienia oprogramowanie można zainstalować na własnym pececie. Takie rozwiązanie polecam szczególnie rozpoczynającym swoją przygodę z CMS-ami – wszystkie testy i eksperymenty o wiele łatwiej wykonuje się na własnej maszynie. Rzadko dostępne są konta WWW z preinstalowanym systemem CMS i zwykle wszystkie skrypty musimy umieścić na serwerze sami.

Pozory mylą

Wydaje się, że instalacja dowolnego systemu zarządzania treścią jest banalna. Wystarczy pobrać ze strony projektu archiwum, rozpakować je, pliki wgrać na serwer, a następnie uruchomić specjalną stronę PHP, za pomocą której skonfigurujemy CMS-a. W praktyce jednak może się okazać, że konieczna jest zmiana uprawnień do określonych plików i katalogów lub nawet modyfikacja nazw niektórych zbiorów! Ten ostatni problem może dotyczyć w szczególności przypadków, gdy dane rozpakowano w Windows, a następnie przegrano za pomocą klienta FTP na konto uniksowe. O wiele gorsza jest sytuacja, gdy na serwerze, na którym mamy konto WWW, brakuje pewnych bibliotek lub programów. Wówczas albo musimy poszukać innego miejsca na nasz serwis, albo prosić administratora o doinstalowanie potrzebnych komponentów. Dodatkowo może się okazać, że niektóre czynności (np. wgranie ostatecznego pliku konfiguracyjnego) będziemy zmuszeni wykonać ręcznie (z linii komend) z powodu np. zablokowania dostępu do komendy copy w interpreterze PHP.

Jak widać, problemów z instalacją może być wiele, dlatego dostęp do powłoki systemowej oraz znajomość podstaw PHP i HTML bywa w takich sytuacjach nieoceniona. Tym bardziej, że podczas testu zdarzyły się sytuacje, iż po zainstalowaniu systemu CMS zamiast panelu logowania otrzymywałem… pustą stronę WWW. Z pomocą w takich wypadkach przychodzą fora internetowe związane z danym projektem. Ostatecznym wyjściem jest po prostu instalacja innego CMS-a.

Z dziesięciu prezentowanych systemów najmniejszych kłopotów z instalacją nie przysporzyły: Geeklog, jPortal, Mambo, MD-Pro i PHP-Nuke. Najtrudniej było uruchomić eZ publish, a pozostałe pakiety wymagały uzupełnienia bibliotek lub drobnej rekonfiguracji systemu. W każdym wypadku warto bardzo dokładnie przeczytać instrukcję instalacji zawartą w pakiecie dystrybucyjnym lub w witrynie projektu albo zajrzeć na polskojęzyczne fora (patrz ramka: “Więcej informacji”). Na $(LC115618: Instalacja Mambo 4.5)$ prezentujemy sposób uruchomienia coraz popularniejszego w Polsce systemu Mambo.

Dane techniczne pakietów CMS
eZ publish 3.4Geeklog 1.3.9jPortal 2.2.2 betaMambo 4.5MDPro 1.0.6PHP-Nuke 7.3phpWCMS 1.1RC4PostNuke 0.750Typo3 3.6.2Xoops 2.0.7
Witryna projektuhttp://ez.no/http://www.geeklog.net/http://www.jportal2.com/http://www.mamboserver.com/http://www.maxdev.com/http://phpnuke.org/http://www.phpwcms.de/http://www.postnuke.com/http://typo3.org/http://www.xoops.org/
Producent/autor lub zarządzający projektemez Systems, NorwegiaDirk Haun, NiemcyWebsys.pl, PolskaMiro InternationalMaxDevPHPNuke.orgOliver GeorgiPostNuke.comKasper SkarhojKazumi Ono, Goghs Cheng
Licencja/cenaGNU GPLGNU GPLdarmowy dla proj. niekomercyjn.GNU GPLGNU GPLGNU GPLGNU GPLGNU GPLGNU GPLGNU GPL
Obsługiwane serwery WWWApacheApacheApacheApache, IISApache, IISApache, IISApache, IISApache, IISApache, IISApache, IIS2)
Obsługiwane bazy danychPostgres, MySQLMySQLMySQLMySQLMySQL, OracleMySQL, Postgres, Sybase, InterbaseMySQLMySQLMySQLMySQL
Język skryptowyPHPPHPPHPPHPPHPPHPPHPPHPPHPPHP
Ocena CHIP-adobrybardzo dobrydobrybardzo dobrybardzo dobrybardzo dobrydostatecznybardzo dobrydobrydobry
Opcje podstawowe
Instalacja systemu CMSłatwabardzo łatwałatwałatwabardzo łatwabardzo łatwałatwałatwałatwałatwa
Sprawdzanie wymaganych składników systemu+++++++++
Kreator instalacji (konfiguracji)++/-++++++++
Dokumentacja online (lub w pliku)+++/-+++++++
Uprawnienia użytkowników (grup)+++++++/-+++
Zatwierdzanie dokumentów do publikacji++dodatek++++++
Obsługa tematów (“skórek”)+++++++++
Polska wersja+1)++++++++
Zarządzanie blokami (elementami strony)dostatecznedobredobreb. dobredobredobretrudnedobretrudnedobre
Zarządzanie modułami systemudostatecznedobrebrakdobredobredobretrudnedobretrudneb. dobre
Graficzny edytor tekstudodatekdodatek++dodatek++++
Moduły i bloki
Notki (newsy)+++++++
Artykuły/kategorie artykułów (sekcje)+/++/++/++/++/++/++/-w +/++/-+/+
Komentarze/punktowanie artykułów+/-+/dodatek+/-dodatek/-+/++/+-/-+/+-/-+/-
Artykuły powiązane+++
Najnowsze/najczęściej czytane+/-+/--/++/++/-/-+/-/+-/-+/-/--/-+/+
Informacja, kto jest online/sentencje dnia+/-/-+/dodatekdodatek/-+/dodatek+/++/++/-+/+-/-+/-
Forum/czat+/-dodatek/dodatek +/+/-4)dodatek/dodatekdodatek/dodatek+/dodatek-/-dodatek/dodatekdodatek/dodatek+/dodatek
Blog (strona użytkownika)dodatekdodatekdodatekdodatek+dodatekdodatekdodatek
Pliki do pobrania/odnośniki+/+dodatek/++/+dodatek/++/++/++/-+/+dodatek/dodatek+/+
Ankiety (sondy)/quizy i inne zabawy+/dodatek+/dodatek+/dodatek+/-+/dodatek+/dodatek-/-+/dodatekdodatek/dodatek+/dodatek
Sklep+dodatek3)dodatekdodatekdodatekdodatekdodatek
Banery (reklama)+/-+/-+/-+dodatek++dodatek+
Wyszukiwarka/zaawansowana wyszukiwarka+/++/++/+/-+/dodatek+/++/dodatek-/-+/++/-+/+
Formularz pocztowy++++dodatek+++++
Kalendarium (wydarzenia)++dodatekdodatekdodatekdodatek+dodatekdodatek
FAQ/Galeria zdjęć+/+dodatek/dodatekdodatek/dodatek+/dodatek+/dodatek+/dodatek-/-+/dodatekdodatek/++/dodatek
Księga gościdodatekdodatek+dodatekdodatekdodatek+dodatekdodatekdodatek
Dodatkowe opcje
Kopia zapasowa bazy danych ++++++dodatek+dodatek
Historia logowania++/- +/- dodatekdodatek+
Mailing do użytkowników+++++++++
Powiadomienie o problemach++/-
Blokowanie dostępu dla IP (domen) lub dostęp tylko dla IP +dodatek+dodatekdodatek
Czytnik RSS/publikacja wiadomości w RSS+/-+/+dodatek/-+/++/-+/+-/-+/+dodatek/-+/dodatek
Statystyki odwiedzin/wyszukiwania-/-dodatek/--/-dodatek/-+/-+/--/-+/--/-dodatek/-
Statystyki strony (Top 10)+dodatek++++/-
Komentarz Rozbudowany system o dużych możliwościach. Polecany przy tworzeniu witryn firmowych i korporacyjnych. Dobry instalator. Wskazana znajomość PHP i MySQL-a. Prosta instalacja i konfiguracja. Wygodny dla początkujących. Dostępność wielu modułów rozszerzających, zarządzanie nimi wymaga jednak doświadczenia.Prosty w instalacji i konfiguracji. Jest to polski projekt, nie ma zatem tak wielu poświęconych mu witryn, jak w przypadku zagranicznych CMS-ów. Raczej dla osób ze znajomością PHP.System zyskujący coraz więcej zwolenników. Bardzo duża ilość modułów oraz ładnych graficznie “skórek”. Łatwa nawigacja w panelu administracyjnym.Projekt podobny do Post- -Nuke’a. Łatwy w instalacji i użytkowaniu. Duże możliwości dodatkowe. Nadaje się do różnych zastosowań. Jeden z najpopularniejszych systemów CMS. Dostępny w wielu wersjach językowych, w tym po polsku. Bardzo dużo dodatków oraz stron z pomocą. Uniwersalny.Projekt o skromnych możliwościach, znajdujący się dopiero w fazie rozwoju. Mało dostępnych modułów. Raczej dla osób z doświadczeniem w CMS-ach.Jedna z “odnóg” projektu PHP-Nuke. Stosunkowo łatwy w instalacji i konfiguracji. Dla tego systemu dostępnych jest wiele rozszerzeń. Przydatna znajomość PHP, MySQL-a i HTML-a.Bardzo rozbudowany CMS. Wymaga sporej wiedzy i pracy. Duże możliwości zarządzania uprawnieniami użytkowników. Dla osób z doświadczeniem.Interesujący system z wygodnym interfejsem administracyjnym. Łatwe zarządzanie modułami i zawartością witryny. Bogactwo funkcji odkryjemy dopiero po dłuższym czasie.
+ – tak, – – nie, +/- – częściowo; dodatek – istnieje darmowy dodatek, funkcji nie ma w pakiecie dystrybucyjnym; 1) – tylko wersja 3.3; 2) – oficjalnie tylko dla Apache’a; 3) – tylko w wersji komercyjnej; 4) – klient serwerów PolChat
Więcej:bezcatnews