7.2. Skrypty "sklep Internetowy".
Przykładowy wygląd "wnętrza" omawianego rozwiązania sklepu Internetowego
- taki, jakim widzi go potencjalny klient.
Omawiany pakiet pozwala na natychmiastowe - oczywiście,
po założeniu bazy danych i wypełnieniu jej informacjami -
uruchomienie sklepu Internetowego, przedstawiającego ofertę firmy
(i umożliwiającego zbieranie zamówień) wszystkim "netsurferom".
Sklep był projektowany tak, by mogli z niego korzystać także
netsurferzy pracujący w trybie tekstowym (np. przeglądarką Lynx).
Należy pamiętać, że w tym celu niezbędne będzie utrzymywanie
własnego serwera, pracującego 24h/dobę. Serwer ten winien posiadać
podpięcie do Internetu zapewniające niezmienny w czasie oraz tzw.
"publiczny" adres IP. Nie od rzeczy będzie również sprawdzenie
przepustowości łącza, aby potencjalni klienci mogli w ogóle dostać
się do naszej oferty. Komputer pracujący jako serwer WWW musi mieć
uruchomiony serwer HTTP z modułem umożliwiającym interpretację
skryptów PHP. . Oczywiste jest - ale na wszelki wypadek przypominamy
- że tak samo pracować musi "na okrągło" także ta maszyna, na
której uruchomiono serwer PostgreSQL z bazą danych Smabiego. To
może być - ale nie musi - ten sam komputer, co z serwerem WWW.
Wprawdzie coraz większa liczba użytkowników komputerów i
Internetu dysponuje "sztywnym" łączem do Sieci, ale łącze to nie
zawsze ma wystarczającą przepustowość, aby nadawało się do
uruchomienia serwisu WWW obsługującego większą liczbę odbiorców
- niekorzystnym efektem takiej sytuacji może być zbyt wolne
"budowanie" stron WWW, co może być dla klientów denerwujące.
Zwróćmy uwagę, że proponowane rozwiązanie daje możliwość pewnego
pośredniego podejścia do tego tematu: dysponując łączem o niezbyt
dużej przepustowości, możemy pakiet sklepu umieścić na serwerze
usługodawcy dysponującego szerokopasmowym podpięciem do Sieci,
natomiast u siebie utrzymywać (stale podłączony do Internetu)
komputer z serwerem PostgreSQL utrzymującym bazę danych programu.
Chodzi o to, że ilość danych przesyłanych pomiędzy sklepem a bazą
jest wielokrotnie mniejsza, niż ilość danych przesyłanych z serwera
HTTP (gdzie założony będzie sklep) do przeglądarki WWW klienta
zapoznającego się z ofertą. Oczywiście, będzie to działać przy
założeniach, że:
- serwer HTTP naszego usługodawcy ma stały adres IP
- temu adresowi zezwolimy (w plikach konfiguracyjnych Postgresa) na
pobieranie/przesyłanie/modyfikację danych do/z bazy
- nasz serwer również winien mieć stały adres IP
Należy także w takim przypadku zwracać uwagę na bezpieczeństwo
naszych danych; dając zewnętrznemu serwerowi uprawnienia do
korzystania z naszych danych, dajemy de facto takie prawo
operatorowi tegoż serwera - a więc winien to być godny zaufania
usługodawca. Z drugiej strony: podejrzany, nietypowy dla sklepu
"ruch" danych jest możliwy do wyśledzenia w logach serwera
Postgres, należy tylko ustawić wystarczająco wysoki "debuglevel",
aby odnotowywane były wszelkie transakcje i zapytania SQL.
Ideą rozwiązania - w odróżnieniu od wielu innych (płatnych lub
darmowych) dostępnych na rynku - jest odciążenie użytkownika od
czynności tzw. "webmasterskich", na których użytkownik sklepu
niekoniecznie musi się znać. Odrobina webmasteringu będzie
przydatna do ew. późniejszego zindywidualizowania wyglądu
sklepu bądź modyfikacji efektów działania skryptów, jeśli zajdzie
taka potrzeba. Jednakowoż proponowane rozwiązanie umożliwia
uruchomienie sklepu bez konieczności "grzebania się" w plikach
HTML lub PHP - po prostu przez rozpakowanie pakietu, i ew.
uzupełnienie dosłownie kilku wpisów w pliku konfiguracyjnym.
Ponieważ sklep korzysta z tej samej bazy co Smabi, więc
wszelkie dokonywane w niej (po prostu przy pracy z programem)
zmiany - jak dodawanie towarów, zmiany cen, ustalanie terminów
promocji itp. - znajdą natychmiast swoje odbicie w ofercie
osiągalnej poprzez WWW. Nie trzeba więc w celu uzupełnienia czy
odświeżenia oferty uczyć się obsługi oddzielnego oprogramowania
sklepu; omawiany pakiet, czerpiąc te dane bezpośrednio z bazy,
automatycznie uwzględnia na stronach WWW wszelkie ich modyfikacje.
Nie trzeba chyba dodawać, że generowanie przez sklep zamówień
w formacie XML - gotowych do "obróbki" przez program - ułatwia
wystawianie faktur/rachunków/paragonów, których już nie trzeba
wystawiać "ręcznie" - tj. pracowicie przepisywać zawartości
zamówienia w oknie edycji modułu "sprzedaż"; wystarczy podsunąć
programowi uzyskany plik XML zamówienia.
7.2.1 Przygotowanie do pracy.
Zakładając, że wspomniane uprzednio wymagania co do serwera WWW
są spełnione, instalację sklepu rozpoczynamy od rozpakowania
pakietu ishop.tar.gz do głównego katalogu serwera HTTP. W
przypadku popularnego Apache'a będzie to podkatalog htdocs. Jako
root umieszczamy w tymże katalogu pakiet sklepu, i rozpakowujemy
go poleceniem: tar -zxvf ishop.tar.gz. Sklep Internetowy
zostanie rozpakowany do podkatalogu o nazwie po prostu sklep.
W drugiej kolejności, posługując się Smabim (jako administrator,
bazy, czyli użytkownik postgres), dodajemy (z menu ustawień
globalnych) nowego użytkownika bazy danych, którym będzie serwer
HTTP - w przeciwnym wypadku nie miałby on dostępu do informacji.
W przypadku Apache'a najczęściej będzie to użytkownik wwwrun -
ale przed dodaniem go sprawdźmy jego login w pliku /etc/passwd.
Następnie dokonujemy sprawdzenia (i ew. modyfikacji, jeśli
wystąpi potrzeba) ustawień sklepu zawartych w pliku settings.inc.
Omówimy sobie pokrótce ich znaczenie:
- $database - jak sama nazwa wskazuje, jest to nazwa bazy danych,
z której ma korzystać jednocześnie sklep i Smabi
- $server - adres maszyny z uruchomionym serwerem PostgreSQL (jej
nazwa). Jeśli jest to ten sam komputer, co z serwerem HTTP -
zostawiamy wpisany domyślnie localhost
- $port - port serwera PostgreSQL. Zwykle jest to port 5432
- $pgpass - hasło, jakie systemowy użytkownik serwera WWW (może to
być np. użytkownik `apache' albo `www-data') ma nadane specjalnie
do połączenia z bazą danych. Uwaga: nie chodzi o hasło systemowe!
W punkcie tym mamy na myśli to hasło, które podaliśmy, dodając
użytkownika serwera jako kolejnego z użytkowników bazy danych,
korzystając z menu opcji globalnych. Hasło to należy tu wpisać
jedynie wtedy, gdy naprawdę zostało nadane; nadanie go nie jest
bezwzględnie konieczne, ale zdarzają się dystrybucje, w "paczkach"
których serwer PostgreSQL domyślnie ma ustawienie wymagające,
aby użytkownik serwera WWW łączył się z bazą jednak posługując się także
i hasłem.
- $recipient - adres e-mail, na który mają być wysyłane maile
z zamówieniami klientów. Ponieważ jest tam teraz wpisany
postgres@localhost, prawie na pewno będziemy musieli wpisać
inny, by operator programu odbierał jednocześnie zamówienia
- $subject - temat wyróżniający maile zawierające zamówienia
- $maindir - główny podkatalog pakietu sklepu Internetowego.
Należy wpisać tam tę samą nazwę, co katalog aktualnie
zawierający pakiet
- $icondir - podkatalog katalogu $maindir, zawierający grafiki,
z których korzystają skrypty
- $descdir - podkatalog katalogu $maindir, gdzie będziemy (w razie
potrzeby) zamieszczać strony ze szczegółowym opisem wybranych
pozycji cennika
- $bright oraz $dark - kolory, w jakich zostaną pokazane
sąsiadujące wiersze tabeli, celem łatwiejszego rozróżnienia
- $ceny - wskazuje, czy nasz cennik zawiera ceny brutto, czy netto
(należy ustawić na taki sam rodzaj cen, z jakiego korzystamy używając programu!)
- $step - ile max. pozycji tabeli cennika może znaleźć się na ekranie?
- $keep - ile max. dni utrzymywać zawartość "koszyka" naszych stałych
klientów (szczegóły dalej)
- $comment1, $comment2, $comment3 - są to ew. dodatkowe wiersze,
które zostaną dołączone na końcu informacji, którą otrzyma klient sklepu,
który zaznaczy "checkbox" świadczący, iż klient chce zapłacić przelewem.
Tak! I już teraz nasza sprzedaż przez Internet działa!
Naturalnie, wygląd stron sklepów możemy później zmienić zgodnie
z własnymi upodobaniami. Sposób korzystania ze sklepu jest
pokrótce omówiony na wprowadzającej stronie index.html (można ją
wzbogacić o jakieś elementy graficzne). Na tejże stronie warto
zamieścić wszelkie informacje o zasadach sprzedaży towarów przez
naszą firmę.
Poprzednia strona |
Następna strona |
Spis treści
Strona główna serwisu programu