KROPLE W SIECI. (i odpowiadać na pytania programu konfiguracyjnego). skorzystać z tego luksusu musisz zainstalować



Podobne dokumenty
I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Instalacja systemu zarządzania treścią (CMS): Joomla

Dokumentacja serwisu internetowego Zespołu Szkół Technicznych w Radomiu.

Pomoc dla systemu WordPress

Platforma e-learningowa

Joomla! Instalacja. Pobierz pakiet instalacyjny. instalacji XAMPP

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Platforma e-learningowa

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Instrukcja obsługi Modułu Payu dla Moodle 2.x

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

SYSTEM ZARZĄDZANIA TREŚCIĄ (CMS) STRONY INTERNETOWEJ SZKOŁY PRZEWODNIK

Uruchamianie bazy PostgreSQL

Mapa witryny - Poradnik od A do Z

REFERAT O PRACY DYPLOMOWEJ

Przewodnik... Tworzenie Landing Page

Instrukcja obsługi systemu zarządzania treścią dwajeden.pl

Dokumentacja fillup - MS SQL

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Panel administracyjny serwera: admin.itl.pl

e-wsparcie Barbara Muszko Aktualizacja Twojej witryny internetowej tak prosta, jak obsługa Worda

Windows Server 2008 Standard Str. 1 Ćwiczenia. Opr. JK. I. Instalowanie serwera FTP w Windows Server 2008 (zrzuty ekranowe z maszyny wirtualnej)

MATERIAŁY DYDAKTYCZNE. Streszczenie: Z G Łukasz Próchnicki NIP w ramach projektu nr RPMA /15

1. Logowanie się do panelu Adminitracyjnego

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

System kontroli dostępu ACCO NET Instrukcja instalacji

IBM SPSS Statistics Version 22. Windows - Instrukcja instalacji (licencja wielokrotna)

Archiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania

Część 3 - Konfiguracja

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

IIIIIIIIIIIIIIIMMIMMIII

Data wydania: Projekt współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego

Współpraca z platformą Emp@tia. dokumentacja techniczna

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Instrukcja konfiguracji funkcji skanowania

VinCent Administrator

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Portal SRG BFG. Instrukcja korzystania z Portalu SRG BFG

Pracownia internetowa w szkole ZASTOSOWANIA

Spis treści. Warto zapamiętać...2. Podstawy...3

Pomoc. BIP strona portalu

Dokumentacja Administratora portalu. aplikacji. Wirtualna szkoła

Instrukcja instalacji

CREATE USER

Instrukcja korzystania z modułu Onet Export (wtyczka oscommerce) (wersja )

PRODUKCJA BY CTI INSTRUKCJA INSTALACJI I KONFIGURACJI

SZYBKI START. Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2. Szyfrowanie/odszyfrowanie danych 4

Włączanie/wyłączanie paska menu

Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości

Blogger opis serwisu

Instalacja programu S4H

Instrukcja. Rejestracji i aktywacji konta w systemie so-open.pl DOTACJE NA INNOWACJE; SOFTWARE OPERATIONS SP. Z O. O.

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

Zalogowanie generuje nowe menu: okno do wysyłania plików oraz dodatkowe menu Pomoc

netster instrukcja obsługi

Windows Server Active Directory

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS

Wysyłka dokumentacji serwisowej z Sekafi3 SQL do producentów.

wersja 1.0 ośrodek komputerowy uj cm ul. mikołaja kopernika 7e, Kraków tel

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

PORADNIK "JAK ZAŁOŻY Ć KONTO WWW NA ELEKTRODA.EU" Przemysław Kojac v1.0

Panda Managed Office Protection. Przewodnik. Panda Managed Office Protection. Przewodnik

Baza Aktów Własnych. Autor: Piotr Jegorow. ABC PRO Sp. z o.o.

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Portal SRG BFG Instrukcja korzystania z Portalu SRG BFG

Instrukcja obsługi dziennika elektronicznego dla trenerów uczestniczących. w ogólnopolskim projekcie MultiSport. Luty 2015 r.

1. Platforma e-learningowa

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ

Współpraca z platformą dokumentacja techniczna

PLATFORMA DISTANCE LEARNING BLACKBOARD

Integracja systemu trigocms! z platformą Facebook

INSTALACJA SERWERA LOKALNEGO TYPU WAMP NA PRZYKŁADZIE PAKIETU KRASNAL SERV 2.7

mcourser platforma edukacyjna z multimedialnymi mlibro Zestaw darmowych aplikacji do zainstalowania

Podstawy technologii WWW

IBM SPSS Statistics Wersja 24. Windows Instrukcja instalacji (licencja wielokrotna) IBM

Platforma zakupowa GRUPY TAURON

PODSTAWY w w w. s e r v i t i u m. p l G u staw L a s e k M a j

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

INSTRUKCJA INSTALACJI I KONFIGURACJI APLIKACJI WEBSOFT CEIDG MONITOR

PrestaShop. Sklep internetowy szyty na miarę

AKTYWNY SAMORZĄD. Instrukcja instalacji, aktualizacji i konfiguracji.

1 Moduł Konfigurowanie Modułu

CMS - INFORMACJE. *** Mirosław Kuduk E mail: tel. kom DODATKOWE FUNKCJE - PANEL ADMINISTRATORA

InPost PACZKOMATY. (Moduł Magento 2) v Strona 1 z 18

Dokumentacja SMS przez FTP

timetrack Przewodnik Użytkownika timetrack Najważniejsze Funkcje

IBM SPSS Statistics Wersja 22. Windows - Instrukcja instalacji (licencja autoryzowanego użytkownika)

Odseparowanie kodu PHP i warstwy prezentacji od dawna było celem

Books. by HansaWorld. Przewodnik instalacji. Wersji 6.2

EBSCOhost Wyszukiwanie podstawowe dla Bibliotek akademickich

Windows Server 2012 Active Directory

Dokumentacja panelu Klienta

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

4. Podstawowa konfiguracja

Zmiana logo. Dziękujemy za wybór naszych rozwiązań. apjoo od Apláuz. Wspólnie przebrniemy przez proces konfiguracji strony www i wstawiania treści.

Instrukcja użytkownika BIP

POCZTA POLSKA. v Strona 1 z 9

Zadanie 11. Przygotowanie publikacji do wydrukowania

Transkrypt:

Drupal TEMAT MIESIĄCA Drupal platforma dla społeczności KROPLE W SIECI Oparta na PHP platforma Drupal ułatwia tworzenie i prowadzenie dynamicznych stron WWW. System ten można rozszerzać za pomocą darmowych modułów, a jego wygląd konfiguruje się za pomocą szablonów. W tym artykule zagłębiamy się w funkcje programu, omawiamy sposób jego instalacji oraz postawy konfiguracji. UWE HERMANN Serwisy WWW zrzeszające różne społeczności należą do najczęściej odwiedzanych stron w Sieci. Użytkownicy mogą rejestrować się na stronie, publikować swoje artykuły i komentować zamieszczone w serwisie teksty. Drupal [1] został zaprojektowany z myślą o takim właśnie zastosowaniu i oferuje wszystkie funkcje, niezbędne do założenia serwisu WWW dla społeczności. Przede wszystkim jednak, Drupal to rozwinięty system zarządzania treścią (CMS), umożliwiający obsługę wielu rodzajów stron internetowych od prostych blogów po profesjonalne strony firmowe. Drupal napisany został w PHP i wykorzystuje bazę danych do przechowywania przeznaczonych na stronę materiałów. Kompletny kod źródłowy systemu objęty został Powszechną Publiczną Licencją GNU, może więc być swobodnie używany, modyfikowany i rozpowszechniany. W Ramce Jak narodził się Drupal przedstawiamy krótko historię systemu i genezę jego nazwy. Wystarczy rozpakować Instalacja systemu Drupal nie jest szczególnie trudna, nieco trudniejsza jednak, niż można by oczekiwać, znając inne systemy CMS. Użytkownicy Debiana muszą tylko wpisać apt-get update && apt-get install drupal (i odpowiadać na pytania programu konfiguracyjnego). Jeżeli nie masz Debiana, nie możesz skorzystać z tego luksusu musisz zainstalować program ręcznie. Wymagania systemowe nie są niczym niezwykłym: potrzebujesz serwera WWW (na przykład Apache, ale w ostateczności wystarczy IIS) i PHP w wersji 4.1 lub nowszej. W czasie pisania tego tekstu Drupal nie obsługiwał w pełni PHP 5, ale twórcy programu pracują cały czas nad rozwiązaniem problemów ze zgodnością. Musisz ustawić opcję session.save_handler user dla PHP; autorzy zalecają też ustawienie session.cache_limiter none. Obie opcje znajdują się w pliku konfiguracyjnym PHP, php.ini. Drupal udostępnia również plik.htaccess, zawierający te opcje (i kilka innych rozsądnych ustawień domyślnych). Niezbędna będzie również baza danych. Drupal obsługuje zarówno MySQL 3 (najlepiej co najmniej 3.23.17) i 4, jak i Postgre- SQL. Aby móc korzystać z funkcji wymagających XML, np. RSS lub Blogger-API, potrzebne będą rozszerzenia XML do PHP zwykle są one uwzględnione w konfiguracji domyślnej. Funkcja Clean URLs potrzebuje też modułu mod_rewrite serwera Apache i praw do plików.htaccess. Aby działało to prawidłowo, unikaj ustawiania wartości polecenia AllowOverride na None. Funkcja ta zamienia adresy typu http://www.example.com?q=node/34 na http://www.example.com/node/34 zwiększa to czytelność i ułatwia indeksowanie strony przez boty wyszukiwarek. Jeżeli chcesz uprościć im zadanie, możesz włączyć moduł path, co pozwoli na przypisanie do każdego wierzchołka dowolnego, łatwego do odczytania adresu URL. Dzięki temu adres typu Jak narodził się Drupal Dries Buytaert [2], belgijski informatyk i pierwszy autor systemu, rozpoczął prace nad stworzeniem systemu zarządzania materiałami przeznaczonymi na dynamicznie tworzone strony WWW w 2000 r. System miał obsługiwać wspólnego bloga społeczności internetowej, którego Dries zamierzał nazwać Dorp. ( dorp to po niderlandzku wioska). Sprawdzając dostępność domeny dorp.org, Dries pomylił się i wpisał drop.org. Nazwa spodobała mu się tak bardzo, że zdecydował się zarejestrować domenę drop.org i zmienić nazwę tworzonego systemu na Drupal. ( drupal to wymawiane z angielska niderlandzkie słowo druppel kropla.) Teraz, 5 lat później, Drupal jest dopracowanym, elastycznym systemem zarządzania treścią. Nad jego ciągłym rozwojem i rozbudową pracuje kilkuset programistów. WWW.LINUX-MAGAZINE.PL NUMER 17 CZERWIEC 2005 31

TEMAT MIESIĄCA Drupal http://www.example.com/node/123 zastąpić można adresem w rodzaju http://www.example.com/about. Nawet niezbyt doświadczony webmaster z minimalną znajomością Linuksa nie powinien mieć problemów z zainstalowaniem systemu Drupal przez FTP i PhpMyAdmin. Instalacja na komputerze zdalnym przez SSH lub na lokalnej maszynie linuksowej przebiega w sposób opisany poniżej. Po ściągnięciu aktualnej wersji (w chwili pisania tekstu jest to wersja oznaczona numerem 4.5.2) ze strony http://drupal.org, wpisz następujące polecenia, aby rozpakować archiwum i przenieść jego zawartość do głównego katalogu dokumentów serwera WWW (w naszym przykładzie jest to /var/www): tar xfvz drupal-4.5.2.tar.gz Rozwiązywanie problemów Rysunek 1: Bloki zawierają dodatkowe informacje dla użytkowników strony WWW. Wyświetlane są z boku każdej ze stron (lub tylko stron o adresach określonych za pomocą wyrażeń regularnych [5]). Wielu problemów związanych z instalacją można łatwo uniknąć. Jednym z najczęściej spotykanych błędów jest przypisanie wartości localhost zmiennej $base_url w pliku includes/conf.php, mimo że Drupal nie został zainstalowany na komputerze lokalnym, ale na zdalnym serwerze. W takim przypadku wiersz ten powinien wyglądać tak: $base_url = http://www.example.com ;. Jeżeli DNS albo nazwy hostów nie działają prawidłowo, możesz tam podać adres IP. Inny częsty błąd to podanie nieprawidłowej ścieżki do serwera. Jeżeli Drupal nie został zainstalowany w katalogu /var/www, ale na przykład w /var/www/drupal, wpis musi przyjąć wartość $base_url = http://www. example.com/drupal ;. Wartość zmiennej $base_url nie może kończyć się ukośnikiem /; inaczej mówiąc, trzeba wpisać http://www.example.com, a nie http://www.example.com/. Jeżeli konto użytkownika MySQL, hasło i baza danych założone zostały przez dostawcę usług internetowych, należy pominąć krok GRANT i procedurę tworzenia bazy danych. Zamiast drupaluser, secret i drupal użyj wartości podanych przez osobę lub firmę udostępniającą konto i bazę. W przypadku problemów z instalacją niezłym pomysłem jest też przejrzenie archiwum na stronie internetowej programu [1]. Na forum [3] i liście dyskusyjnej [4], poświęconych systemowi Drupal, znajdziesz sporo chętnych do pomocy i doświadczonych programistów. mv drupal-4.5.2/* drupal-4.5.2/.htaccess /var/www Polecenia MySQL mysqladmin i mysql zakładają bazę danych i tworzą konto jej użytkownika: $ mysqladmin -u root -p create drupal Enter password: $ mysqladmin -u root -p mysql> GRANT ALL PRIVILEGES ON drupal.* TO drupaluser@localhost IDENTIFIED BY 'secret'; mysql> FLUSH PRIVILEGES; Założona w ten sposób baza danych nosi nazwę drupal. Użytkownik bazy, drupaluser, któremu przyznane zostało hasło secret, ma pełne uprawnienia dotyczące wszystkich tabel w bazie. Naciśnij teraz klawisze [Ctrl]+[D], aby zakończyć sesję MySQL. Plik database/database.pgsql, znajdujący się w katalogu instalacyjnym systemu Drupal, zawiera zbiór definicji tworzący bazę danych PostgreSQL. Jego odpowiednikiem dla My- SQL jest plik database/database.mysql. Plik może zostać przetworzony za pomocą następującego przekierowania: $ mysql -u drupaluser -p drupal < /var/www/database/ database.mysql Enter password: Jeżeli MySQL nie zgłasza w tym momencie żadnych komunikatów o błędach, możesz uznać, że wszystko przebiegło zgodnie z planem. Aby zakończyć instalację, musisz dodać do (zaskakująco czytelnie napisanego) pliku includes/conf.php dwa wpisy: informację o danych dostępowych MySQL oraz o położeniu katalogu z programem Drupal. Potrzebujemy tu zmiennych $db_url i $base_url; przypiszemy im przykładowe wartości: $db_url = mysql://drupaluser: secret@ localhost/drupal ; $base_url = http://localhost ; Pierwszy wiersz przekazuje systemowi Drupal informację o typie bazy danych (tutaj jest to mysql), nazwie użytkownika, haśle, komputerze, na którym znajduje się baza oraz nazwie bazy. W drugim wierszu podana jest ścieżka do programu, widoczna dla odwiedzających stronę WWW. Nasz nowy serwis można już obejrzeć pod adresem http://localhost. Trzeba teraz zacząć od stworzenia konta użytkownika systemu. Niezależnie od tego, jak go nazwiesz, będzie on administratorem będzie więc miał pełne prawa do konfigurowania serwisu i zarządzania nim. 32 NUMER 17 CZERWIEC 2005 WWW.LINUX-MAGAZINE.PL

Drupal TEMAT MIESIĄCA Tabela 1: Drupal wbudowane moduły Moduł aggregator ping search statistics throttle watchdog Opis Umożliwia administratorom odczytywanie kanałów RSS z innych serwisów lub blogów i wyświetlanie ich w blokach. W razie zmiany zawartości strony moduł ten powiadamia zainteresowane serwisy, takie jak technorati.com, weblogs.com czy blo.gs. Funkcja bardzo przydatna w przypadku blogów. Obsługa przeszukiwania wierzchołków według słów kluczowych. Do aktualizowania indeksu wyszukiwania niezbędny jest program cron. Tworzy statystyki odwiedzin strony. Rejestruje adresy IP, adresy stron, z których nastąpiło przekierowanie, liczbę wizyt itd. W przypadku dużego ruchu na stronie, moduł ten wyłącza niektóre bloki i moduły, aby zwiększyć szybkość ładowania się serwisu. Do jego działania niezbędny jest moduł statistics. Rejestruje wszystkie zdarzenia na stronie: logowanie się użytkowników, informacje o tym, kto i kiedy tworzył treść strony, komunikaty o błędach itp. Rysunek 2: System Drupal można rozbudowywać za pomocą modułów. Tabela 2: Drupal moduły opcjonalne Rysunek 3: Szablony umożliwiają administratorom (a w razie potrzeby także użytkownikom) zmienianie wyglądu strony. Moduł atom dba flexinode print trackback scheduler htmlarea Opis Tworzy kanał Atom (wersja 0.3), dostępny do pobrania z http://localhost/atom/feed. Najmniejsze narzędzie do zarządzania bazą danych w systemie Drupal. Pozwala uniknąć konieczności korzystania z PhpMyAdmin lub podobnych narzędzi. Obsługuje definicje mniej lub bardziej dowolnych formatów treści. Pozwala na przykład, za pomocą myszy, utworzyć definicję dla wierzchołka przepis, zawierającego takie pola jak nazwa, składniki, ilości, sposób przygotowania itp. Dla każdego wierzchołka tworzy wersję strony przeznaczoną do wydrukowania (Link printer friendly page). Niezbędne narzędzie dla blogujących. Umożliwia innym blogowiczom wysyłanie tzw. trackbacków (informacji o zamieszczeniu na swoim blogu odnośnika do danej strony) do naszego serwisu, a nam wysyłanie trackbacków do innych stron. Umożliwia publikowanie materiałów w określonym dniu i o określonej godzinie. Umożliwia prostą graficzną edycję tekstu w oparciu o JavaScript. Jeżeli podczas instalacji pojawi się jakiś błąd, przeczytaj wskazówki i podpowiedzi przedstawione w Ramce Rozwiązywanie problemów. Koncepcja programu Terminologia wykorzystywana przez system Drupal różni się od tej używanej w innych systemach zarządzania treścią. Poniżej omawiamy najważniejsze części systemu i objaśniamy znaczenie kluczowych terminów. Wierzchołek (node) to podstawowy element składowy strony WWW. Może to być artykuł, obrazek albo wpis na forum. Domyślnie dostępne są następujące typy wierzchołków: page (strona) dla stron statycznych oraz story (tekst) dla artykułów. Instalując i włączając kolejne moduły, możesz dodać więcej typów wierzchołków. Na przykład moduł forum definiuje nowy typ wierzchołka forum topic (temat forum), a moduł blog typ personal blog entry (wpis na blogu). Lista typów wierzchołków znajduje się w menu administracyjnym w pozycji create content. Blok (block) to zawierająca dowolną treść ramka, pojawiająca się na stronie WWW po lewej lub prawej stronie. Drupal posiada kilka wstępnie skonfigurowanych bloków, takich jak User Login, Who's online czy Recent Comments. Nowo instalowane moduły zawierają dodatkowe bloki, które następnie mogą zostać włączone przez administratora (patrz Rysunek 1). Administrator może także definiować nowe bloki, zawierające HTML, tekst albo (w przypadku bardziej skomplikowanej zawartości) kod w PHP i zapytania SQL. Pole Custom w każdym bloku określa, czy użytkownik zalogowany na stronie może włączać lub wyłączać bloki, zmieniając w ten sposób wygląd serwisu. Przydatny zbiór bloków znaleźć można w repozytorium bloków stworzonych przez użytkowników (Custom Blocks Repository) na stronie programu. Drupal ma budowę modułową sam system stanowi tylko szkielet dla kluczowych funkcji, rozbudowywanych elastycznie za pomocą modułów (patrz Rysunek 2). Moduł zawiera najczęściej plik PHP o nazwie nazwa.module i opcjonalne pliki, takie jak obrazki lub arkusze stylów. W sekcji Download na stronie programu [6] znaleźć można bogaty wybór modułów, pełniących wiele różnych funkcji (patrz Tabela 1 i 2). Sposób organizacji słownictwa (taksonomia), wykorzystywany przez autorów systemu, wymaga bliższego omówienia; za pomocą słowników i terminów tworzy bowiem coś, co większość ludzi określiłaby słowem kategorie. Każdy słownik ma swoją nazwę (np. Topic) i zawiera najczęściej zestaw słów kluczowych, które się w nim pojawiają (np. Politics, Sport czy Technology). Dla każdego serwisu WWW można zdefiniować wiele słowników i przypisać wierzchołki do konkretnych WWW.LINUX-MAGAZINE.PL NUMER 17 CZERWIEC 2005 33

TEMAT MIESIĄCA Drupal kategorii lub terminów z tych słowników. System ten jest bardzo elastyczny i daje się zastosować w wielu sytuacjach. Na przykład struktura forów lub galerii jest w systemie Drupal modelowana właśnie za pomocą tej taksonomii. Tak zwane themes (szablony) pozwalają administratorowi na ustalanie wyglądu strony (Rysunek 3). Ze strony [6] ściągnąć można wiele gotowych szablonów. Nietrudno też zmodyfikować szablon zgodnie z własnymi potrzebami. W serwisie Drupal Theme Garden [7] dostępnych jest wiele szablonów, które można najpierw wypróbować online, bez konieczności ich instalowania. Zarządzanie kontami i prawami użytkowników w systemie Drupal opiera się na nazwach użytkownika, rolach i uprawnieniach. Zarejestrowany użytkownik (user) może zalogować się do serwisu. Może później korzystać z określonych opcji ich liczba zależy od ról (roles), przypisanych użytkownikom przez administratora, i związanych z daną rolą uprawnień (permissions). Jest to szczegółowo omówione w dalszej części artykułu, poświęconej zarządzaniu kontami użytkowników. Tworzenie treści serwisu Zalogowani użytkownicy mają możliwość tworzenia treści (create content) lub wierzchołków poprzez wybranie odpowiedniej opcji z menu. W zależności od aktywnych modułów, mogą to być artykuły, notki blogowe, obrazki, ankiety itp. Sposób tworzenia wierzchołka typu strona (page) przedstawiony jest na Rysunku 4. Każdy wierzchołek musi mieć tytuł i zawartość (body). Jeżeli moduł path jest włączony, użytkownik może również przypisać do wierzchołka intuicyjny adres URL. Dostępnych jest wiele innych ustawień dotyczących wierzchołków na przykład dostępność komentarzy, pojawianie się wierzchołka na stronie głównej czy umieszczenie go na początku listy wierzchołków (sticky). Ramka published pozwala administratorowi na usuwanie poszczególnych wierzchołków w dowolnym momencie. Wierzchołki pozostają zapisane w bazie można je zawsze opublikować ponownie. Aby skasować wierzchołek, wystarczy kliknąć delete na stronie edit. Podstawowa konfiguracja Najważniejsze ustawienia dostępne są w menu administracyjnym w administer settings (patrz Rysunek 5). Można tu wpisać nazwę serwisu, opcjonalne hasło przewodnie, adres Rysunek 4: Przy tworzeniu wierzchołka dostępnych jest wiele opcji (przykład: wierzchołek typu strona). e-mail administratora, stopkę (np. informację o ochronie prawem autorskim) itp. Domyślna strona główna (Default front page) to strona startowa, wyświetlana użytkownikowi odwiedzającemu serwis. Domyślnie jest ona wierzchołkiem (node); inaczej mówiąc zawiera listę najnowszych artykułów lub wierzchołków (tylko tych, które mają być promowane na stronie startowej (Promoted to front page)). Bezpośrednio po instalacji serwis nie będzie zawierał żadnych artykułów, zamiast nich wyświetlony zostanie krótki tekst pomocy. Na usprawnienie działania systemu wpływa mechanizm buforowania. Wszystkie strony, do których dostęp jest anonimowy (użytkownicy nie muszą się logować, aby je zobaczyć) zapisywane są w bazie danych pozwala to uniknąć konieczności dynamicznego generowania wielu kopii tej samej strony. Menu to umożliwia również włączenie omawianej wcześniej funkcji Clean URLs. Niektóre moduły dodają swoje własne ustawienia w sekcji administer settings na przykład moduł odpowiedzialny za tworzenie statystyk dopisuje do menu pozycję administer settings statistics. Szczegółowe informacje dotyczące konfiguracji systemu Drupal znaleźć można w podręczniku użytkownika tego systemu [8]. Powtarzające się zadania Obsługa powtarzających się zadań jest w systemie Drupal realizowana przez zewnętrznego demona cron albo regularne odwołania do strony http://www.example.com/cron.php. Strona ta regularnie wywołuje działania takie, jak na przykład kasowanie przestarzałych wpisów dziennika albo aktualizacja indeksów wyszukiwania. Do strony dostać się można za pomocą dowolnej przeglądarki działającej w trybie tekstowym, np. wget czy lynx. Za realizację zadania odpowiada następujący wiersz w pliku /etc/crontab: 0 * * * * root /usr/bin/wget -o /dev/null -O /dev/null http://localhost/cron.php Przykład ten uruchamia cron.php raz na godzinę (uwaga: adres URL musi należeć do domeny serwisu i nie może przyjmować wartości localhost ani 127.0.0.1 nawet jeśli demon cron działa na komputerze lokalnym). Jeżeli nie masz demona cron, nie szkodzi zawsze możesz zdać się na moduł poormanscron [9], opisany bardziej szczegółowo poniżej. Zarządzanie kontami użytkowników W sekcji administer users znajduje się lista zalogowanych użytkowników. Administrator może sprawdzić dotyczące ich ustawienia i zmienić je, klikając odnośnik edit. Jeżeli na przykład użytkownik zachowuje się niewłaściwie, można zablokować mu konto. 34 NUMER 17 CZERWIEC 2005 WWW.LINUX-MAGAZINE.PL

Drupal TEMAT MIESIĄCA Opcje te dają administratorom wyjątkowo elastyczne narzędzia do zarządzania kontami użytkowników, sprawdzające się w wielu różnych sytuacjach i warunkach od serwisu w rodzaju Slashdota, gdzie większość użytkowników ma tylko prawo dodawania komentarzy, do intranetowych serwisów firmowych z różnymi poziomami uprawnień dla zwykłych pracowników, zarządu, dostawców itp. Rysunek 5: Menu administracyjne: administer settings. Administrator może skorzystać z podmenu administer users configure, aby zakładać nowe konta użytkowników i tworzyć dla nich ogólne reguły i uprawnienia: settings (ustawienia): Ta pozycja menu pozwala określić, kto ma prawo zakładania nowych kont oraz ustalić, czy użytkownicy mogą rejestrować się sami, czy administrator musi zatwierdzić każde zarejestrowane konto. Można też zezwolić użytkownikom na ładowanie obrazków, które będą następnie wyświetlane we wpisach na forum. access rules (reguły dostępu): Administrator może zablokować konkretne nazwy użytkowników albo adresy e-mail (jeśli na przykład są obraźliwe lub nieprzyzwoite), definiując jedną lub więcej reguł, zawierających symbole wieloznaczne % (dowolny również pusty ciąg znaków) lub _ (dokładnie jeden znak). roles (role): Użytkownikowi przyznać można jedną lub wiele ról. Domyślne role to anonymous user (anonimowy użytkownik) dla niezalogowanych użytkowników (w tym także botów i pająków wyszukiwarek) i authenticated user (użytkownik uwierzytelniony) dla użytkowników zalogowanych do serwisu. Administrator może zdefiniować dowolną liczbę dodatkowych ról i nadać im dowolnie wybrane nazwy. Przykłady najczęściej spotykanych ról to administrator forum, redaktor albo klient. permissions (uprawnienia): Każda rola powiązana jest ze zbiorem uprawnień, określonych przez administratora. Na przykład uprawnienie post comments pozwala użytkownikom na wysyłanie komentarzy. Teoretycznie każdy moduł może dopisać do listy nowe uprawnienia (patrz Rysunek 1). Moduł poll (ankieta) dodaje na przykład uprawnienia create polls, pozwalające użytkownikom na tworzenie ankiet, oraz vote on polls, umożliwiające głosowanie. Instalowanie nowych modułów Drupal nie jest monolitem za pomocą modułów można go rozbudowywać podczas działania. Domyślna instalacja oferuje bogaty wybór modułów; nie wszystkie jednak są od razu włączone. Zbiór ponad stu dodatkowych modułów dostępny jest na stronie programu. Wszystkie są dziełem społeczności programistów i znajdują się w repozytorium CVS [10] prace nad nimi cały czas trwają. Rzecz jasna, wszystkie objęte są licencją GPL. Instalacja modułów jest nieco bardziej kłopotliwa, niż można by oczekiwać podobnie jak instalacja samego systemu. Proces instalacji każdego z modułów przebiegać może ponadto inaczej, choć właściwie zaczyna się już kształtować pewien standard, a wiele modułów przestrzega go. W ramach przykładu zainstalujemy moduły poormanscron i image. Rysunek 6: Każdej roli (tu pokazano użytkowników anonimowych i zalogowanych) przypisać można odrębny zestaw reguł. Każdy moduł może dodać własne uprawnienia. Moduł poormanscron to zamiennik programu cron. Drupal uruchamia ten moduł, kiedy wywołana jest jakaś strona, aby sprawdzić, czy upłynął już pewien konkretny WWW.LINUX-MAGAZINE.PL NUMER 17 CZERWIEC 2005 35

TEMAT MIESIĄCA Drupal (dowolnie ustalony) okres. Jeżeli tak, wywołuje działania, które zostałyby wykonane przy odwołaniu do strony cron.php i zeruje licznik czasu. Moduł ten przydaje się zwłaszcza wtedy, gdy dostawca usług internetowych nie umożliwia dostępu do prawdziwego crona. Instalacja przebiega całkiem prosto: $ wget http://drupal.org /files/projects/ poormanscron-4.5.0.tar.gz $ tar xfvz poormanscron-4.5.0.tar.gz poormanscron/ poormanscron/license.txt poormanscron/readme.txt poormanscron/poormanscron.module $ cp poormanscron/ poormanscron.module /var/www/modules Moduł zawiera jeden plik, poormanscron.module, który wystarczy zapisać w katalogu modules programu Drupal, a następnie włączyć w sekcji administer modules. Ustawienia modułu znajdują się w podmenu administer settings poormanscron. Moduł image przydaje się w znacznej większości serwisów, umożliwia bowiem ładowanie plików graficznych i zarządzanie nimi. Do jego działania niezbędne są biblioteki ImageMagick, GD lub ImLib2. Twój dostawca internetowy udostępnia najprawdopodobniej co najmniej jedną z tych usług. Po ściągnięciu i rozpakowaniu archiwum, administrator musi zmodyfikować bazę danych, przetwarzając plik image.sql. Pliki należy następnie skopiować do katalogu modules: $ wget http://drupal.org /files/projects/ image-4.5.0.tar.gz $ tar xfvz image-4.5.0.tar.gz [...] $ mysql -u drupaluser -p drupal < image/image.sql $ mkdir /var/www/modules/image $ cp image/image.module image/image.inc /var/www/modules/image Następny krok to włączenie modułu w menu administer modules i przejście do sekcji administer settings image, aby go skonfigurować. Moduł potrzebuje, na przykład, kata- logów na obrazki i miniaturki oraz ścieżki dostępu do programu convert z pakietu Image- Magick (najczęściej jest to /usr/bin/convert). Możesz także tworzyć galerie obrazków w administer categories. Stwórz w tym celu słownik, zawierający co najmniej jeden termin. Zapisz go jako Gallery Navigation Vocabulary (nadal w administer settings image). Na koniec przejdź do sekcji administer users configure permissions i wybierz użytkowników lub role, posiadających uprawnienia do ładowania plików graficznych i zarządzania nimi. Umożliwi to uprawnionym użytkownikom tworzenie nowych obrazków za pomocą polecenia create content, znajdującego się w menu administracyjnym. Plany na przyszłość Niebawem pojawi się kolejne wydanie systemu Drupal, 4.6. Możemy oczekiwać, że znajdzie się w nim wiele istotnych zmian. W nowej wersji znacznie ulepszona będzie funkcja wyszukiwania, używająca kodowania UTF-8, obsługująca więc wiele języków. Wiele ułatwień dotyczących korzystania z programu i konfiguracji ułatwi życie administratorom. Nowy moduł contact udostępni zalogowanym użytkownikom możliwość wysyłania poprzez formularz wiadomości do innych użytkowników. Nowa opcja konfiguracji umożliwi zarządzanie wieloma opartymi na systemie Drupal serwisami WWW w ramach jednej jego instalacji. Pojawi się też sporo funkcji zwiększających szybkość dzięki nim system powinien działać wydajniej i bez kłopotu obsługiwać wiele jednoczesnych wywołań stron. Błyskawicznie postępują też prace nad lokalizacją interfejsów administracyjnych. Można już korzystać z ponad 20 wersji językowych. Dzięki zaangażowaniu niektórych programistów, niedługo pojawią się także nowe szablony. Znajdą się wśród nich popularne szablony blogowe: Kubrick, Persian czy Manji, przeniesione z serwisu Wordpress [11]. Podsumowanie Drupal to bezpłatny, niewielki i bardzo elastyczny system zarządzania treścią, oferujący bogate możliwości konfiguracji i tworzony przez dużą i aktywną społeczność programistów i użytkowników. Można go z łatwością dostosować do wielu różnych sytuacji i warunków. Programiści docenią solidność platformy i jakość dokumentacji API [12], rozszerzalnego za pomocą modułów PHP. Struktura modułowa, mechanizm buforowania i moduł throttle sprawiają, że Drupal jest wysoce skalowalny i ma ogromne możliwości serwis drupal.org ma na przykład ponad 18 tysięcy zarejestrowanych użytkowników i 17 tysięcy wierzchołków. AUTOR Uwe Hermann studiuje informatykę na Politechnice w Monachium i aktywnie działa na rzecz Wolnego Oprogramowania. W wolnym czasie pracuje nad rozwojem systemu Drupal i zajmuje się projektami porzuconymi [13] i martwymi [14]. Nie trzeba chyba dodawać, że do prowadzenia swojego bloga i strony wykorzystuje właśnie system Drupal [15]. INFO [1] Oficjalna strona programu Drupal: http://www.drupal.org [2] Strona Driesa Buytaerta, autora programu: http://www.buytaert.net [3] Forum Drupal: http://drupal.org/forum [4] Lista dyskusyjna Drupal: http://drupal.org /mailing-lists [5] Wyrażenia regularne w Wikipedii: http://www.wikipedia.org/wiki/regular_ Expression [6] Pliki do pobrania (wydania, moduły, szablony, tłumaczenia): http://drupal.org/project/releases [7] Drupal Theme Garden: http://webschuur.drupaldevs.org [8] Podręcznik użytkownika Drupal: http://drupal.org/handbook [9] Moduł Poormanscron: http://drupal.org/project/poormanscron [10] Repozytorium CVS poświęcone systemowi Drupal: http://cvs.drupal.org/viewcvs/contributions/ [11] Wordpress, bezpłatne oprogramowanie blogowe: http://wordpress.org [12] Dokumentacja API systemu Drupal 4.5.x: http://drupaldocs.org/api/4.5 [13] Crazy Hacks - zaniedbane projekty: http://www.crazy-hacks.org [14] Unmaintained Free Software - projekty szukające nowych opiekunów: http://www.unmaintained-free-software.org [15] Blog i strona WWW Uwe Hermanna: http://www.hermann-uwe.de 36 NUMER 17 CZERWIEC 2005 WWW.LINUX-MAGAZINE.PL