[#1] Moje boje z Apache + PHP
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 :)

[#2] Re: Moje boje z Apache + PHP

@grxmrx, post #1

W czasach istnienia MA i ACS nie było ani amigowego Apache ani tym bardziej PHP.

[#3] Re: Moje boje z Apache + PHP

@grxmrx, post #1

Ja tylko dodam, że na PFSie też działa.
[#4] Re: Moje boje z Apache + PHP

@Wojtek, post #3

Hmm, u mnie na PFS nie działa :(
Jest błąd przy uruchomieniu Apache.
Jakiej wersji Apache używasz (i jakiej kompilacji)?
W dokumentacji wyczytalem, że mogą występować problemy z AFS/PFS2/PFS3 i ja właśnie takich problemów doświadczyłem.

BTW Testował ktoś z was może thttpd i na nim skrypty php z zapisem cookies i ogólnie jakieś bardziej rozbudowane skrypty?

No i z ciekawości zapytam (bo jeszcze nie czytałem nic na ten temat) też czy ktoś już używał MySQL na Ami? Jakie są wady i zalety tego rozwiązania na Ami? Czy można sensownie pracować czy na razie nie nadaje się do użytku?

[#5] Re: Moje boje z Apache + PHP

@grxmrx, post #1

Rozpakowalem THTTPd i uruchomilem. Po sieci lokalnej potawiona stronka dziala. Jak skonfigurowac THTTPD zeby mozna bylo udostepnic stronke na caly swiat ? Mam zew. IP. Co trzeba uaktywic w podac w pliku thttpd.conf ?
[#6] Re: Moje boje z Apache + PHP

@MaveRick, post #5

Doszedlem o co biega :). Tak wiec wystarczy rozpakowac archiwum (thttpd_2.21b) i uruchomic plik starthttpd. I tak wlasnie postawilismy serwer http:// z PHP (4.2.3) Nic wiecej nie trzeba robic. Ja mialem problemy i okazalo sie ze to admin sieci ustawil jakas blokade na glownym serwerze.
[#7] Re: Moje boje z Apache + PHP

@grxmrx, post #1

Witam

Włąśnie organizuje sobie Apacha, php, GeekGadget, mysql na mojej Amidze. Chce testować proste skrypty w php, które będą zarządzać bazą danych opartą na mysql.

Napisalem już nawet proste funkcje w php dodawania, usuwania danych z bazy, które testowalem na Debianie. No i sama baze oczywiscie.

Mam kilka pytań do Grxmrx i innych uczestników forum. Zainstalowałem już GG. Zainstalowałem Apacha 1.3.12

1) Skonfigurowałem Miami tak jak jest opisane, ale jak przejść w "on-line" skoro nie mam neta w domu? Miami próbuje łączyć się z nieistniejącym modemem. W ogóle zielony jestem w temacie Miami+ uruchomienie tcp bez dostępu do netu. Na Linuxie było już wszystko ładnie skonfigurowane po instalacji i komp dwoływał się do localhost. Proszę o wyjaśnienie co tu należy zrobić.

2) Ściągnąłem php-4.3.0-bin.lha Czy ta wersja bedzie działać z ta wersją Apache czy zalecacie jakąś inną. Jakie wersje Ty zastosowałeś? - pytanie do Grxmrx.

3) Czy konieczne jest phpMyAdmin-2.5.6.tar.gz jeśli chcę robić to o czym napisałem wyżej?

To na razie tyle moich wątpliwości. Z góry dziękuję za pomoc.
[#8] Re: Moje boje z Apache + PHP

@Robert Jackowski, post #7

1. Niestety nie wiem, teraz nie mogę tego sprawdzić (nie zainstalowałem jeszcze na Pegasosie) :/

2. Właściwie powinna działać. Jedyna uwaga to musisz sprawdzić czy Apache, którego używasz jest skompilowany z obsługą php.

3. phpMyAdmin to interfejs do zarządzania tabelami w bazie danych MySQL. Nie jest wymagany, ale jeśli chcesz mieć łatwy dostęp do zarządzania tabelami to może być. Oczywiście by był użyteczny musisz najpierw postawić serwer MySQL na Ami, a w tym niestety jeszcze nie pomogę bo nie instalowałem.

[#9] Re: Moje boje z Apache + PHP

@Robert Jackowski, post #7

1. Nie musisz przechodzić w Online. Wystarczy, że Miami po prostu uruchomisz. To już wystarcza, aby w systemie zaistniał stos TCP/IP (a konkretnie to chodzi o bsdsocket.library), który jest wymagany do działania Apache. Tak samo jest np. z Gadami. Dopóki Miami nie zostanie uruchomione, Gadami krzyczy o bsdsocket.library.
[#10] Re: Moje boje z Apache + PHP

@grxmrx, post #8

Cześć

Zainstalowałem GG. Zainstalowałem Apache 1.3.12 lecz nie chce sie uruchomić.

Mianowicie po wydaniu poleceń:
cd gg:
run bin:sh -c "/apache/bin/apachectl start"

dostaje

3.Work:gg>httpd: bad group name www /Apache/bin/apachectl start: httpd could not be started

W Miami dopisałem w groups i users według opisu Grxmrx, a więc:
Group name: admin
Groups id: 45
Users: www

Podobnie przy "users"
User name: www
Password: (podawałem i nie podawałem hasła)
User id: 1001
Group id: 45
Real name: Apache WWW server
Home dir: Work:Apache
Shell: cli

Kiedy zmieniłem w Miami Group name z admin na www to przestał się pojawiać powyższy błąd, ale ciągle pojawia się komunikat
3.Work:gg>/Apache/bin/apachectl start: httpd could not be started

W opisie kolegi Grxmrx było napisane

"Ustawilem kilka pozycji.

Group www
User www

# (chociaz to powyzsze juz bylo ustawione"

Co to znaczy? Ja tam nic nie zmieniłem ponieważ te wiersze nie były zahaszowane i były zgodne z opisem.

Dzięki za poprzednie odp.
[#11] Re: Moje boje z Apache + PHP

@mailman, post #9

Cześć

Masz rację, że to nie istotne czy jest się online czy też nie. Sprawdzę jeszcze bsdsocket.library

Może winny jest filesystem SFS? Ale ktoś zdementował, że winny był PFS.
[#12] Re: Moje boje z Apache + PHP + MySQL

@grxmrx, post #1

Witam,

Nie myślałem, że zainstalowanie (pod AmigaOS v3.1): Apache + php + MySQL jest takie proste. Teraz w domu na AWeb-ie mogę uruchamiać skrypty w php, które wysyłają zapytania do bazy danych mysql.

Pozwolę sobie na małe sprostowanie tekstu kolegi Grxmrx.
Mam na myśli fragment mówiący o określeniu grupy i użytkownika dla Apache. Oto poprawne wpisy:


Add a group (group):

www|*|45|www
And add a user (passwd in AmiTCP, user in Miami):

www|*|1001|45|Apache WWW server|Apachecli


które znalazłem na stronie projektu AmigaApache:
http://www.stud.uni-karlsruhe.de/~uck4/AmigaApache/

Przy tych ustawieniach serwer www wystartował bez problemów.

Dodatkow w ~/Apache/lib/ zmieniłem nazwę pliku php.ini-dist na php.ini

MySQL-a zainstalowałem też w katalogu GG: tzn. u mnie na dysku wygląda to tak:
Work:gg/Apache/
Work:gg/Mysql/
Work:gg/ ... - reszta katalogów GeekGadget

Wartości poniższych parametrów
MinSpareServers
MaxSpareServers

StartServers

pliku httpd.conf w podkatalogu conf nie zmieniałem, ale mogłem sobie na to pozwolić gdyż mam 64MB RAM-u. Po wystartowaniu demona Apacha zostało mi 30MB.

Wszystko działa sprawnie na procku 040/40MHz. Partycja, na której siedzi GeekGadget, Apache i MySQL jest sformatowana pod SmartFS.

Dotychczas te same skrypty uruchamiałem na PIII 550MHz pod Debianem. Nie widzę różnicy w szybkości ich działania. Śmiem twierdzić, że na Amidze szybciej cała ta machineria się uruchamia. Chociażby AWeb uruchamia się szybciej niż Mozilla na wspomianym pc.

Pewnie było by widać różnicę przy bardziej rozbudowanych skryptach czy bazie mysql.

Dzięki raz jeszcze Wszystkim za pomoc oraz opis kolegi Grxmrx, który to opis zmobilizował mnie do instalacji serwera www na Amidze.

Pozdrawiam
Robert J.
[#13] Re: Moje boje z Apache + PHP + MySQL

@Robert Jackowski, post #12

Ciesze się, że Ci się udało i działa.

Niestety u mnie nie działa Apache. Zainstalowałem jak trzeba, ale nie startuje. W logu widze tylko coś takiego:

fork: Function not implemented
httpd: unable to fork new process

Szukałem po necie rozwiązania, ale nic konkretnego nie znalazłem :(

Może ktoś wie jak zmusić Apache do działania w przypadku gdy występuje taki błąd?

[#14] Re: Moje boje z Apache + PHP + MySQL

@grxmrx, post #13

Dobra, już sobie z tym poradziłem.
Serwer działa, ale php nie działa, nie wiem dlaczego, odpowiednie pliki mam zainstalowane, w pliku php.ini php jest włączone. Apache jest raczej skompilowany do użycia z php...

[#15] Re: Moje boje z Apache + PHP + MySQL

@grxmrx, post #14

Witam,

Jeśli chodzi o php to nic szczegolnego nie zrobiłem. Zmieniłem tylko
w ~/Apache/lib/ zmieniłem nazwę pliku php.ini-dist na php.ini

W php SnoopDOS mi pomógł, bo pisał, że nie może otworzyć pliku php.ini

Druga rzecz, to w binariach zostawiłem wersję 040+php, ale to oczywiste.

Zainstalowałem Apache_1.3.12 z Aminetu.

Pozdrawiam
[#16] Re: Moje boje z Apache + PHP + MySQL

@Robert Jackowski, post #15

Już sobie poradziłem. Wszystko działa.

[#17] Re: Moje boje z Apache + PHP + MySQL

@grxmrx, post #16

Cieszę się, że działa. W czym był problem? Jestem ciekaw. Czy może to nic istotnego?

Dlaczego pokazywał Ci się komunikat?
fork: Function not implemented
httpd: unable to fork new process


Pod jakim systemem robiłeś instalację, MOS, AmigaOS?

Pozdrawiam
[#18] Re: Moje boje z Apache + PHP + MySQL

@Robert Jackowski, post #17

Robert Jackowski napisał(a):

> Cieszę się, że działa. W czym był problem? Jestem ciekaw. Czy
> może to nic istotnego?

Nic istotnego, to przez przypisania do nie tego środowiska GG, którego najczęścej używam. Mam zainstalowane dwa, dla m68k i MorphOS. Tzn. GoldED AIX takie zainstalował i mogę je sobie przełączać, etc.

> Dlaczego pokazywał Ci się komunikat?
> fork: Function not implemented
> httpd: unable to fork new process

>
> Pod jakim systemem robiłeś instalację, MOS, AmigaOS?

MorphOS, wersja Apache 1.3.27 natywna dla MorphOS. Jak się okazuje ten komunikat nie wpływa na pracę serwera, w logach nadal się pojawia.

Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem