Zawsze miałem pewien kompleks Apacza ;) tzn. od zawsze myślałem, że instalacja Apache jako serwera nawet na localhost to co coś bardzo trudnego i nie do przejścia jak dla mnie.
Postanowiłem jednak spróbować.
Jeszcze tylko wyjaśnie, że Apache instalowałem tylko dlatego, że piszę skrypty php i wysyłanie plików na serwer, na którym jest PPA nie zawsze jest wygodne. Bo muszę się łączyć z sewerem i przez ftp wrzucać plik a następnie wczytywać stronę w przeglądarce. Czyli jedynym celem dla mnie była praca ze skryptami php bez potrzebny łączenia się ze zdalnym serwerem.
Na początku zajrzałem na stronę
AmigaApache.
Tam przeczytałem jakie pliki są niezbędne i pobrałem wszystkie pliki z listy.
By Apache działał potrzebny jest zainstalowany na dysku pakiet GeekGadgets.
Też zawsze mysłałem, że z tym mogą być problemy. Okazało się jednak, że wystarczy rozpakować archiwa (z rozszerzeniem -bin.tgz oraz BOOT.lha) i skopiować w jedno miejsce, do jednego katalogu, mozna go nazwac np. GeekGadgets.
Następnie zainteresowałem się pobranymi archiwami z Apache i PHP.
Pobralem archiwa skompilowane na procesor, ktory posiadam (040).
Jak sie później okazalo archiwa z nowszymi wersjami Apache i PHP sa dostepne w innym miejscu. Chociaz w przypadku PHP to nie ma wiekszego znaczenia. Jesli chodzi o Apache to nowsza wersja powinna byc na Aminecie.
Nowsza wersja PHP jest na stronie
http://louise.amiga.hu (o tej stronie jeszcze wspomne pozniej).
Jeśli ktoś jest zainteresowany takimi archiwami jakich ja użyłem proszę się do mnie zgłosić to podeślę :)
Archiwum z PHP rozpakowałem i skopiowałem do katalogu GeekGadgets (warto zwrocic uwage, ze czesto archiwa z GeekGadgets maja taka sama strukture katalogow).
Archiwum z Apache również rozpakowałem, ale już w inne miejsce.
Później zaczęły się małe problemy :)
Nie wiedziałem jak to wszystko uruchomić i skonfigurować. Tzn. wiedziałem, bo czytałem na stronie opis instalacji, ale jakoś to mnie tak straszliwie przytłaczało.
Najpierw zmieniłem nazwy plików a podkatalogu Apache/conf , wszystkie nazwy z końcówką -dist (lub -amiga-dist) zmieniłem tak by nie było tego -dist lub -amiga-dist, czyli uciąłem tą końcówkę.
Podobnie w katalogu bin. Tam znalazlełm wiele kompilacji tych samych binariów.
np. httpd.040.php
Zmieniłem nazwy z nazwa.040.php na nazwa :)
Czyli httpd.040.php na httpd
Później przeszedłem do edycji pliku httpd.conf w podkatalogu conf
Ustawilem kilka pozycji.
Group www
User www
# (chociaz to powyzsze juz bylo ustawione :)
# Wartosci ponizszych pozycji ustawilem na 1 poniewaz mam malo RAMu, przy domyslnych wartosciach dla tych pozycji Apache po uruchomieniu zabieral mi tyle pamieci, ze zostawalo tylko 2 MB wolnego RAMu...
# Jednak do pisania skryptow nie potrzebuje chyba wiekszych wartosci (chyba, ze sie myle to prosze by ktos mnie poprawil)
MinSpareServers 1
MaxSpareServers 1
StartServers 1
innych plików z tego podkatalogu nie edytowałem choć jako ciekawostkę podam, że jeśli ktoś będzie stawiał Apache jako serwer na strony w internecie to radzę dodać lzx w mime.types:
application/octet-stream bin dms lha lzx lzh exe class
Następnie w Miami w zakładce Database dodałem w "groups" odpowiednią grupę wg tego jak wskazali w dolaczonej dokumentacji.
Czyli
Group name: admin
Groups id: 45
Users: www
Podobnie przy "users"
User name: www
Password: (tutaj haslo)
User id: 1001
Group id: 45
Real name: Apache WWW server
Home dir: (tutaj sciezka do katalogu Apache)
Shell: cli
i zapisalem zmiany w Miami.
Później zrobiłem sobie 4 skrypty AmigaDOS po to by klikając na odpowiednia ikonke włączać i wyłączać Apacza. Zrobiłem też skrypty, które robią przypisy do odpowiednich katalogów.
Oczywiście
Oto treści tych skryptów.
SetupApache
CD ""
Assign Apache: ""
Assign tmp: t: add
Assign bin: bin add
Assign libs: libs: add
GG-Startup
assign gg: DH1:gg
execute gg:sys/s/gg-startup
StartApache
cd gg:
run bin:sh -c "/apache/bin/apachectl start"
StopApache
run bin:sh -c "/apache/bin/apachectl stop"
Później dobrałem sobie ikonki do tych plików i wpisałem jako narzędzie wywołujące w menu każdej ikonki program
iconx.
Następnie włączyłem Miami. Później spróbowałem uruchomić Apacza. Niestety bez powodzenia za pierwszą i kilku kolejnych próbach. Sprawdziłem error.log, ale dowiedziałem się tylko tyle, że plik do którego ścieżka jest dobrze określona nie może być otworzony. Wydało mi się to bardzo dziwne. Jednak doczytałem w dokumentacji Apacza, że problemem może być PFS. Opierając się na tym fakcie przeniosłem katalog z Apaczem na partycje FFS i na tej partycji Apache uruchomił się bez problemów :)
Zabrał co prawda troche ramu, ale najważniejszy dla mnie cel, którym jest możliwość sprawdzania napisanych skryptów php na localhost został osiągnięty.
Sprawdziłem na początku w IBrowse adres
http://localhost:/
Następnie wrzuciłem do podkatalogu Apache/htdocs pewien napisany przeze mnie skrypt php (test.php) i wpisałem
http://localhost:/test.php
Zadziałał :)
Jeszcze chciałbym zwrócić uwagę na to, że jeśli ktoś chce używać Apache+PHP to Apache musi być skompilowany dla PHP. W archium z Apache dla Amigi w katalogu bin są odpowiednie kompilacje.
Po instalacji Apache+PHP zainteresowałem się jeszcze pakietem konkurencyjnym w stosunku do Apache, czyli
thttpd. Amigowy port pobralem ze strony
[url]http://louise.amiga.hu[/u]
W readme do tego pakietu dowiedziałem się, że jest to najlatwiejsze jak i najprostrze rozwiazanie jesli chodzi o serwer www z obsluga PHP4. By go uruchomic wystarczy tylko uruchomic dolaczony skrypt
start-httpd. Z tego co zauwazylem to ma ta zalete ze zabiera bardzo malo pamieci (w stosunku do Apache). Sprawdzilem ten sam skrypt php, ktory sprawdzalem wczesniej na Apache - dzialal, ale nie dzialal w nim zapis cookies. Może to tylko kwestia konfiguracji? Jeśli ktoś wie to proszę się wypowiedzieć :)
Tak samo jak ktoś czegoś nie wie i chciałby się zapytać, również bardzo proszę pytać bo od tego jest forum :)
Na koniec tego troche dlugiego tekstu (mam tylko nadzieję, ze nikt nie zasnął ;) chciałbym podkrślić, że jeśli coś pominąłem lub coś źle napisałem to prosze to skomentować.
Tekst napisalem od tak bo pomyślałem, że może komuś się to przyda. Godzinę temu jak zacząłem pisac ten tekst miałem jeszcze zamiar z tego zrobić artykuł na stronę, ale zbyt mało jeszcze wiem o Apache zeby się
wymądrzać. Obiecuję, że jeśli moja wiedza będzie lepszej jakości to napisze o tym jakiś artykuł jeśli będzie zainteresowanie.
Nie wiem czy np. w Magazynie Amiga czy innych źródłach już poruszano ten temat, ale choć mam np. większośc numerów MA i ACS to nie sprawdzałem tam (trudno by mi było sprawdzać tyle numerów). Być może to co napisałem się komuś przyda :)