Serwery-Apache

Ten rozdzia│ zawiera wskaz≤wki dotycz▒ce instalacji PHP z serwerem Apache, zar≤wno na systemach Unix i Windows.

Szczeg≤│y instalacji PHP z Apache na systemach Unix.

Mo┐esz wybraµ parametry do dodania do configure w linii 8 z Kompletnej listy opcji konfiguracji.

Przyk│ad 3-5. Instrukcja instalacji (wersja jako modu│ Apache)

1.  gunzip apache_1.3.x.tar.gz
2.  tar xvf apache_1.3.x.tar
3.  gunzip php-x.x.x.tar.gz
4.  tar xvf php-x.x.x.tar
5.  cd apache_1.3.x
6.  ./configure --prefix=/www
7.  cd ../php-x.x.x
8.  ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars
9.  make
10. make install
11. cd ../apache_1.3.x
12. dla PHP 3: ./configure --activate-module=src/modules/php3/libphp3.a
    dla PHP 4: ./configure --activate-module=src/modules/php4/libphp4.a
13. make
14. make install

  Zamiast tego kroku mo┐esz poprostu skopiowaµ plik binarny httpd przebijaj▒c
  istniej▒cy plik. Przedtem upewnij siΩ, ┐e serwer jest zastopowany.

15. cd ../php-x.x.x
16. dla PHP 3: cp php3.ini-dist /usr/local/lib/php3.ini
    dla PHP 4: cp php.ini-dist /usr/local/lib/php.ini

  Mo┐esz wyedytowaµ sw≤j plik .ini aby ustawiµ opcje PHP. Je╢li
  chcesz u┐yµ innej lokalizacji, u┐yj
  --with-config-file-path=/path w punkcie 8.

17. Wyedytuj sw≤j plik httpd.conf lub srm.conf i dodaj:
      
     Dla PHP 3:   AddType application/x-httpd-php3 .php3
     Dla PHP 4:   AddType application/x-httpd-php .php
 
  W tym miejscu mo┐esz wybraµ dowolne rozszerzenie. .php jest tym sugerowanym.
  Mo┐esz nawet u┐yµ rozszerzenie .html .

18. U┐yj zwyk│ej procedury dla uruchomienia serwera Apache. (Musisz zatrzymaµ
i ponownie uruchomiµ serwer, nie tylko spowodowaµ prze│adowanie serwera
u┐ywaj▒c sygna│ HUP lub USR1.)

Zale┐nie od wersji Apache i rodzaju Uniksa, jest wiele mo┐liwo╢ci aby zatrzymaµ i ponownie uruchomiµ serwer. Poni┐ej znajduj▒ siΩ typowe polecenia s│u┐▒ce do reinstalacji serwera dla r≤┐nych wariant≤w Apache/Uniksa. Powiniene╢ zamieniµ /path/to/ na ╢cie┐kΩ do w│a╢ciwych aplikacji na swoich systemach.

1. Kilka wariant≤w Linuksa i SysV:
/etc/rc.d/init.d/httpd restart

2. U┐ywaj▒c skrypty apachectl:
/path/to/apachectl stop
/path/to/apachectl start

3. httpdctl i httpsdctl (U┐ywaj▒c OpenSSL), podobnie do apachectl:
/path/to/httpsdctl stop
/path/to/httpsdctl start

4. U┐ywaj▒c mod_ssl, lub innego serwera SSL, mo┐esz rΩcznie zatrzymaµ i
uruchomniµ serwer:
/path/to/apachectl stop
/path/to/apachectl startssl

Lokalizacje binari≤w apachectl i http(s)dctl mog▒ siΩ r≤┐niµ. Je╢li tw≤j system ma polecenia locate lub whereis albo which, mog▒ one pom≤c w szukaniu program≤w contrl serwera.

R≤┐ne przyk│ady kompilacji PHP dla Apache:

./configure --with-apxs --with-pgsql

Stworzony zostanie wsp≤│dzielona biblioteka libphp4.so kt≤re jest │adowana przez Apache u┐ywaj▒c linii LoadModule w pliku httpd.conf. W pliku libphp4.so zostanie zawarte wsparcie dla biblioteki PostgreSQL.

./configure --with-apxs --with-pgsql=shared

Tu tak┐e zostanie stworzona biblioteka wsp≤│dzielona libphp4.so, ale zostanie stworzona tak┐e wsp≤│dzielona biblioteka pgsql.so kt≤ra mo┐e byµ za│adowana do PHP u┐ywaj▒c dyrektywy 'extension' w pliku php.ini lub poprzez u┐ycie w skrypcie funkcji dl().

./configure --with-apache=/path/to/apache_source --with-pgsql

Stworzona zostanie biblioteka libmodphp4.a, plik mod_php4.c i kilka dodatkowych plik≤w, kt≤re zostan▒ skopiowane do katalogu src/modules/php4 kt≤ry znajduje siΩ w drzewie ╝r≤de│ Apache. Potem skompiluj Apache u┐ywaj▒c --activate-module=src/modules/php4/libphp4.a a system budowania Apache stworzy libphp4.a kt≤ry zostanie do│▒czony statycznie do pliku binarnego httpd. Obs│uga PostgreSQLa zostanie w│▒czona bezpo╢rednio do pliku binarnego httpd, a wiΩc wynikiem bΩdzie pojedy±czy plik binarny httpd kt≤ry zawiera ca│e Apache i ca│e PHP.

./configure --with-apache=/path/to/apache_source --with-pgsql=shared

To samo co powy┐ej, ale zamiast do│▒czania obs│ugi PostgreSQLL bezpo╢rednio do ostatecznego pliku httpd dostaniesz wsp≤│dzielon▒ bibliotekΩ pgsql.so kt≤r▒ mo┐esz za│adowaµ do PHP ko┐ystaj▒c z pliku php.ini lub bezpo╢rednio u┐ywaj▒c dl().

Wybieraj▒c spos≤b budowania PHP powiniene╢ rozwa┐yµ wszystkie wady i zalety ka┐dej metody. Budowanie jako obiekt wsp≤│dzielony oznacza, ┐e mo┐esz kompilowaµ osobno Apache i nie musisz rekompilowaµ wszystkiego je╢li chcesz dodaµ lub zmieniµ PHP. Wbudowywanie PHP w Apache (metoda statyczna) oznacza, ┐e PHP bΩdzie siΩ │adowa│o i uruchamia│o szybciej. Aby uzyskaµ wiΩcej informacji, zobacz stronΩ Apache na stronie wsparcia DSO.

Instalacja PHP na systemie Windows z Apache 1.3.x

Istniej▒ 2 sposoby aby skonfigurowaµ PHP do pracy z Apache 1.3.x na systemie Windows. Pierwszy to wykorzystanie binari≤w CGI (php.exe), a drugi to u┐ycie DLLa modu│u Apache. W obu przypadkach musisz zatrzymaµ serwer Apache i wyedytowaµ plik srm.conf lub httpd.conf aby przygotowaµ Apache do pracy z PHP.

Pomimo ┐e istnieje kilka sposob≤w konfiguracji PHP w Apache, te poni┐sze powinny wystarczyµ ka┐demu pocz▒tkuj▒cemu. Aby uzyskaµ wiΩcej informacji o dyrektywach konfiguracyjnych przejrzyj dokumentacjΩ Apache'a.

Je╢│i odzipowa│e╢ pakiet PHP do C:\php\ tak jak zosta│o to opisane w rozdziale RΩczny proces instalacji , musisz dodaµ do pliku konfiguracyjnego Apache te linie aby ustawiµ binaria CGI:

Druga z powy┐szych linii mo┐e znajdowaµ siΩ w aktualnych wersjach httpd.conf, ale jest wykomentowana. Po zmianie pliku konfiguracyjnego trzeba zrestartowaµ serwer, na przyk│ad NET STOP APACHE a potem NET START APACHE, je╢li uruchamiasz Apache jako Us│ugΩ Windows, lub u┐yj normalnych skr≤t≤w.

Je╢li chcesz u┐ywaµ PHP w postaci modu│u Apache, upewnij siΩ ┐e plik php4ts.dll znajduje siΩ w katalogu windws/system (dla Windows 9x/Me) lub winnt/system32 (dla Windows NT/2000/XP), nadpisuj▒c jakiekolwiek starsze pliki. Potem powiniene╢ dodaµ poni┐sze 2 linie do pliku konfiguracyjnego Apache:

Notatka: W Apache 1.3.22 dla Windows, domy╢lny plik konfiguracyjny (httpd.conf-dist-win) ma domy╢lnie do│▒czon▒ dyrektywΩ ClearModuleList. Je╢li ta dyrektywa znajduje siΩ w pliku konfiguracyjnym, musisz dodaµ AddModule mod_php4.c do listy AddModule. W przeciwnym razie PHP nie bΩdzie zarejestrowane jako modu│ Apache.

Aby u┐yµ opcji pod╢wietlania kodu, po prostu stw≤rz skrypt PHP i wstaw do niego: <?php show_source ("original_php_script.php"); ?> . Zamie± original_php_script.php na nazwΩ pliku kt≤rego ╝r≤d│o chcesz pokazaµ. (Jest to jedyny spos≤b na zrobienie tego, poniewa┐ pod systemem Windows nie ma opcji .phps).

Notatka: Na Win-Apache wszystkie znaki backslash ('\') w ╢cie┐kach, jak na przyk│ad "c:\directory\file.ext", musz▒ byµ zamienione na znaki slash ('/'), czyli "c:/directory/file.ext".