Download: CoverDrupal

Transkrypt

Download: CoverDrupal
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
S
erwisy 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 PostgreSQL. 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
WWW.LINUX-MAGAZINE.PL
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.
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.
32
NUMER 17 CZERWIEC 2005
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 MySQL jest plik database/database.mysql. Plik
może zostać przetworzony za pomocą następującego przekierowania:
$ mysql -u drupaluser -p §§
drupal <
WWW.LINUX-MAGAZINE.PL
/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.
Drupal
TEMAT MIESIĄCA
Tabela 1: Drupal – wbudowane moduły
Moduł
Opis
aggregator
Umożliwia administratorom odczytywanie kanałów RSS z innych serwisów lub
blogów i wyświetlanie ich w blokach.
ping
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.
search
Obsługa przeszukiwania wierzchołków według słów kluczowych. Do aktualizowania indeksu wyszukiwania niezbędny jest program cron.
statistics
Tworzy statystyki odwiedzin strony. Rejestruje adresy IP, adresy stron, z których
nastąpiło przekierowanie, liczbę wizyt itd.
throttle
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.
watchdog
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-
Moduł
Opis
atom
Tworzy kanał Atom (wersja 0.3), dostępny do pobrania z http://localhost/atom/feed.
dba
Najmniejsze narzędzie do zarządzania bazą danych w systemie Drupal. Pozwala uniknąć konieczności korzystania z PhpMyAdmin lub podobnych narzędzi.
flexinode
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.
print
Dla każdego wierzchołka tworzy wersję strony przeznaczoną do wydrukowania (Link printer friendly page).
trackback
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.
scheduler
Umożliwia publikowanie materiałów w określonym dniu i o określonej godzinie.
htmlarea
Umożliwia prostą graficzną edycję tekstu w oparciu o JavaScript.
że użytkownikom) zmienianie wyglądu strony.
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.
WWW.LINUX-MAGAZINE.PL
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
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.
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].
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
34
NUMER 17 CZERWIEC 2005
Powtarzające się zadania
Obsługa powtarzających się zadań jest w systemie Drupal realizowana przez zewnętrz-
WWW.LINUX-MAGAZINE.PL
nego 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.
Drupal
TEMAT MIESIĄCA
su 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.
Instalowanie nowych
modułów
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żytkow-
nikom 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.
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.
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 serwi-
WWW.LINUX-MAGAZINE.PL
Moduł poormanscron to zamiennik programu cron. Drupal uruchamia ten moduł,
kiedy wywołana jest jakaś strona, aby
sprawdzić, czy upłynął już pewien konkretny
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-
36
NUMER 17 CZERWIEC 2005
logów na obrazki i miniaturki oraz ścieżki dostępu do programu convert z pakietu ImageMagick (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], roz-
WWW.LINUX-MAGAZINE.PL
szerzalnego 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

Podobne dokumenty