Kompilacja i instalacja Apache'a 1.2


Skąd wziąść Apache'a ?

Informacje na temat najnowszej wersji Apache'a można znaleść na stronie http://www.apache.org/ . Znajdują się tam dane na temat bieżącej wersji, wersji rozwojowych oraz spis serwerów z których można zgrać Apache'a.

Jeżeli zgrałeś wersję binarną Apache'a możesz przejść do punktu Instalacja Apache'a w przeciwnym wypadku przeczytaj następny akapit na temat kompilacji serwera.

Kompilacja Apache'a

Kompilacja Apache'a zawiera sie w trzech krokach: Na początku wybierz moduły Apache'a jakie chcesz załączyć do serwera. Następnie stwórz konfigurację odpowiednią dla Twojego systemu i skompiluj Apache'a.

Wszystkie konfiguracje Apache'a dokonywane są w katalogu src dystrybucji Apache'a. Wejdź do tego katalogu.

   1. Wybierz moduły które chcesz wkompilować do Apache'a w pliku konfiguracyjnym . Odkomentuj linie         odpowiadające za moduły które chcesz załączyć (między liniami Modułów na końcu pliku), albo dodaj nowe linie odpowiadające za moduły które zgrałeś lub sam napisałeś. Zaawansowani użytkownicy mogą zakomentować domyślnie ustawione moduły jeżeli są pewni, że nie bedą ich potrzebowali (bądź jednak ostrożny, wiele z domyślnych modułów jest potrzebnych do prawidłowej i bezpiecznej pracy serwera). Powinieneś również przeczytać instrukcje w pliku konfiguracyjnym jeżeli będziesz chciał ustawić Rule linie.

    2. Skonfiguruj Apache'a odpowiednio do Twojego systemu operacyjnego. Normalnie możesz uruchomić skrypt konfigurujący (Configure) aczkolwiek gdyby nie zadziałał lub masz specjalne wymagania ( np. chcesz załączyć odpowiednią bibliotekę do modułu ) możesz być zmuszony do edycji jednej lub więcej niżej podanych opcji w pliku konfiguracyjnym (Configure):  EXTRA_CFLAGS, LIBS, LFLAGS, INCLUDES.

Uruchom skryp konfiguracyjny:

	      % Configure
	      Using 'Configuration' as config file
	       + configured for <whatever> platform
	       + setting C compiler to <whatever> *
	       + setting C compiler optimization-level to <whatever> *
	      %
   

        (*: Depending on Configuration and your system, Configure make not print these lines. That's OK).

        Powyższy skrypt generuje plik Makefile który jest potrzebny w trzecim kroku kompilacji. Skrypt ten generuje         również plik Makefile w katalogu pomocniczym, potrzebnym do kompilacji opcjonalnych programów pomocniczych.

        (Jeżeli potrzebujesz używać kilku konfiguracji, możesz podać opcje przy Configure i wskazać własny plik konfiguracyjny, np. Configure -file Configuration.ai)

    3. Wykonaj polecenie make.

Moduły które zostały umieszczone w dystrybucji Apache'a są przetestowane i regularnie używane przez członków Apache development group. Dodatkowe moduły rozprowadzane przez członków lub trzecia partia ze szczególnymi potrzebami albo funkcjami są dostępne pod http://www.apache.org/dist/contrib/modules/ . Umieszczone są tam
instrukcje na stronie łączącej te moduły w główny kod Apache'a.

Instalacja Apache'a

Powinieneś mieć plik binarny o nazwie httpd w katalogu src. Binarna dystrybucja Apache'a powinna zawierać ten plik.

Następny krok to instalacja i konfiguracja. Apache jest zaprojektowany tak aby był konfigurowany i uruchamiany w tym samym katalogu w którym został skompilowany. Jeżeli chcesz uruchamiać go z innego miejsca, utwórz katalog i skopiuj conf, logs i icons do tego katalogu.

Następny krok to edycja pliku konfiguracyjnego serwera. Polega to na ustawieniu różnych katalogów w trzech centralnych plikach konfiguracyjnych. Domyślnie pliki te są umieszczone w katalogu conf i są to: srm.conf, acces.conf i httpd.conf. Aby pomóc Ci zacząć konfigurację w katalogu conf dystrybujci Apache'a znajdują się pliki, srm.conf-dist, acces.conf-dist i httpd.conf-dist. Skopiuj lub zmień nazwy tych plików na nazwy bez końcówki -dist. Następnie przeedytuj każdy z plików. Czytaj uważnie komentarze zawarte w każdym pliku. Nieodpowiednie ustawienie tych plików prowadzi do złej pracy serwera lub niezabezpieczonej w odpowiedni sposób pracy serwera. Powinieneś również mieć plik mime.types w katalogu conf. Zwykle edycja tego pliku jest niepotrzebna.

Pierwszy zedytuj httpd.conf. W pliku typ ustawia się główne atrybuty serwera, numer portu, uruchamianie jako użytkownik itp. Następnie przejdź do edycji pliku srm.conf; tutaj ustawia się główny katalog przechowywanych dokumentów html, specjalne funkcje takie jak server-parsed HTML lub internal imagemap parsing, itp. Na koniec zedytuj plik access.conf i ustaw podstawowe prawa dostępu.

Dodatkowo oprócz tych trzech plików, pracę serwera można ustawić poprzez plik .htaccess w każdym z katalogów do których serwer ma dostęp.

Uruchamianie i Zatrzymywanie Serwera

Aby wystartować serwer poprostu uruchom httpd. Httpd odczyta plik konfiguracyjny httpd.conf znajdujący się tam gdzie podano w czasie kompilacji (domyślnie jest to /usr/locale/etc/httpd/conf/httpd.conf). Jeżeli plik ten znajduje się w innym
miejscu możesz podać prawdziwą ścieżkę dostępu z argumentem -f  np.

    /usr/local/etc/apache/src/httpd -f /usr/local/etc/apache/conf/httpd.conf

Jeżeli wszystko pójdzie dobrze powinieneś natychmiast wrócić do linii komend ( command prompt ). Oznacza to, że serwer jest już podniesiony i działa. Jeżeli jednak pójdzie coś źle podczas inicjalizacji serwera na ekranie pojawi się informacja o błędzie. Jeżeli serwer już działa, możesz użyc przeglądarki www aby połączyć sie z serwerem i przeczytać dokumentację. Jeżeli uruchamiasz przeglądarkę www na tym samym komputerze gdzie uruchomiony jest serwer i używa on standardowo portu 80, stosowny URL jaki powinieneś podać przeglądarce jest:

        http://localhost/

Uwaga, kiedy serwer zostanie uruchomiony utworzy odpowiednią liczbę procesów child do zarządzania i kierowania prośbami połączeń. Jeżeli uruchomiłeś Apache'a jako użytkownik root proces parent będzie kontynuowany do uruchomienia jako root podczas gdy children zmienią użytkownika jak podano w pliku httpd.conf.

Jeżeli uruchomisz httpd i będzie on wskazywał, że nie jest w stanie "połączyć" się z określonym adresem to będzie to wskazywało, że port kyóry podałeś w czasie konfiguracji Apache'a jest wykorzystywany przez inny proces, lub uruchamiasz httpd jako zwykły użytkownik który próbuje używac portu poniżej 1024 ( domyślnie jest ustawiony port 80 ).

Jeżeli serwer nie uruchomi się, przeczytaj informacje o błedzie która zostaje wyświetlona w czasie uruchamiania httpd. Powinieneś także sprawdzić plik error_log aby uzyskać dodatkowe informacje. (w domyślnej konfiguracji znajduje się on w katalogu logs.

Jeżeli chcesz aby serwer uruchamiał się po restarcie systemu, powinieneś dodac httpd do swoich plików startowych (normalnie są to rc.local lub plik w katalogu rc.N). To powinno wystartować Apache'a jako użytkownik root. Przed zrobieniem tego upewnij się, że twój serwer jest poprawnie skonfigurowany i spełnia wymogi bezpieczeństwa.

Aby zatrzymać Apache'a wyślij proces parent a TERM signal. PID tego procesu jest zapisany w pliku httpd.pid w katalogu logs ( chyba, że masz inaczej skonfigurowane ). Nie probuj skilować procesu child ponieważ będzie on odnowiony przez proces parent. Typowa komenda zatrzymująca serwer to :

        kill -TERM 'cat /user/local/etc/apache/logs/httpd.pid'

Po więcej informacji na temat opcji linii komend Apache'a, konfiguracji i logów, zobacz Uruchamianie Apache'a . Aby odwołać się do przewodnika po wszystkich wskazówkach Apache'a wspomaganych przez moduły załączone do standardowej dystrybucji zobacz Apache directives.

Kompilacja Programów Zawartych w Dystrybucji

Apache zawiera sporą liczbę programów, które nie są domyślnie kompilowane. Znajduja się one w katalogu support dystrybucji. Aby skompilować te programy, przejdź do tego katalogu i napisz

	make


Index.gif (1540 bytes)