|
Strona 1 z 7 Autor artykułu, opisuje sposoby konfiguracji, instalacji
serwera Apache, dołożył wszelkich starań, aby opisane metody działały jak
najwydajniej i efektywniej.
Autor opierał się tylko i wyłącznie o własne doświadczenie, nie ponosi
odpowiedzialności za wszelkie szkody powstałe na skutek wykorzystywania tego
artykułu, który ma na celu przedstawienie zagadanień związanych z obsługa
serwera apache.
Na potrzeby artykułu został użyty serwer httpd APACHE w wersji 1.3.29.
1. Wstęp
Autor artykułu, opisuje sposoby konfiguracji, instalacji serwera
Apache, dołożył wszelkich starań, aby opisane metody działały jak najwydajniej i
efektywniej.
Autor opierał się tylko i wyłącznie o własne doświadczenie, nie ponosi odpowiedzialności
za wszelkie szkody powstałe na skutek wykorzystywania tego artykułu, który ma na
celu przedstawienie zagadnień związanych z obsługa serwera apache.
Na potrzeby artykułu został użyty serwer httpd APACHE w wersji 1.3.29.
2. Krótki opis apache
W dzisiejszej dobie Internetu, liczy się przede wszystkim, szybkość, wydajność,
stabilność, bezpieczeństwo. Serwer httpd jakim jest Apache, posiada wszystkie cechy,
które czynią go niezastąpionego w aplikacjach internetowych..
Apache jest najpopularniejszym serwerem httpd na świecie, według statystyk obsługuje
dziś 62% witryn internetowych. Umożliwia on uruchamianie skryptów pisanych w przeróżnych
językach programowania. Jego `modułowość` daje ogromne możliwości dostosowania do
własnych potrzeb. Jest to bezpłatna aplikacja udostępniana na zasadach OpenSource.
3. Instalacja
3.1. Zdobywanie źródeł
Serwer można pobrać z www Apache Software Foundation dostępnej pod adresem :
http://www.apache.org. źródło:
http://sunsite.icm.edu.pl/pub/www/apache/dist/httpd/apache_1.3.29.tar.gz
Dla potrzeb tego artykułu został użyty serwer w wersji 1.3.29.
Można oczywiście zainstalować w portów czyli: /usr/ports/apache13/ lub z paczek
pkg_add z opcja "-r", lecz my zajmiemy się instalowaniem serwera bezpośrednio ze
źródeł.
Mamy już źródła apache na dysku teraz wystarczy rozpakować czyli:
# tar zxf apache_1.3.29.tar.gz
# cd apache-1.3.29
W tym momencie możemy przejść do następnego punktu czyli "wybieranie modułów
apache"
3.2. Wybrane moduły apache
Modułów Apache w sieci jest wiele (pomijając te standardowe). My skupimy się
na kilku najbardziej popularnych modułach.
3.3. Wykaz i opis standardowych modułów apache
mod_env - Ustawianie zmiennych środowiskowych dla skryptów CGI/SSI.
mod_setenvif - Ustawianie zmiennych środowiskowych na podstawie nagłówków
HTTP.
mod_mime - Ustalanie typu treści, kodowania.
mod_negotiation - Wybieranie treści według nagłówków Accept* HTTP.
mod_alias - Tłumaczenie i przekierowanie adresów URL.
mod_userdir - Wybieranie katalogów zasobów według nazwy użytkownika.
mod_dir - Obsługa katalogów i domyślnych plików katalogowych.
mod_autoindex - Automatyczne generowanie indexów katalogów.
mod_access - Kontrola dostępu.
mod_auth - Uwierzytelnianie HTTP.
mod_asis - Nieprzetworzone odpowiedzi HTTP.
mod_include - Obsluga Server-Side Includes (SSI).
mod_cgi - Obsługa CGI.
mod_actions - Skrypty CGI jako wewnętrzne programy obsługi.
mod_status - Stan działania serwera.
mod_log_config - Rejestrowanie żądań.
mod_log_agent - Rejestrowanie nagłówków HTTP Referrer.
3.4. Wprowadzenie do pisania własnych modułów
Własne moduły to temat dla nieco bardziej zaawansowanych administratorów.
Jeżeli jednak zdecydujemy się na takowy krok, dostosujemy sobie serwer httpd
do własnych potrzeb.
Opisze tutaj sposób przygotowania i kompilacji serwera apache do wprowadzenia
w życie własnego modułu. Aby zapoznać się szerzej proponuje przeczytać plik:
src/modules/example/README.
Utwórz w katalogu /src/modules/ podkatalog o nazwie np.:
# mkdir src/modules/test-modul
Aby wstawić kod naszego modułu niezbędny będzie plik w tym podkatalogu np.:
src/modules/test-modul/test.c W pliku test.c powinien znajdować się kod naszego
modułu.
W tym momencie możemy przystąpić do kompilacji z naszym modułem:
# ./configure -add-module=src/modules/test-modul/mod_test-modul.c \
--enable-module=test-modul
# make
# make install
3.5. Bazy danych (mySQL, postgreSQL)
Jeżeli pragniemy aby nasz serwer apache współpracował z bazami danych np.
MySQL czy PgSQL musimy zaopatrzyć się w odpowiednie źródła które znajdziemy:
W portach :
MySQL
/usr/ports/databases/mysql4X-server/
PgSQL
/usr/ports/databases/postgresXX/
X = numer wersji pakietu.
Lub bezpośrednio na stronach projektów :
MySQL:
http://www.mysql.org/
PgSQL:
http://www.postgresql.org/
W tym momencie jeżeli zdecydujemy się na bazy danych musimy skompilować źródła
np. MySQL.
UWAGA: Aby bazy danych poprawnie funkcjonowały w aplikacjach internetowych
należy je uwzględnić przy kompilacji PHP (punkt 3.6), ponieważ to za pomocą
tego języka będziemy mieli możliwość sprawnie połączyć z się z baza danych.
3.6. Kompilowanie kodu źródłowego
Przed kompilacją kodu warto przeczytać opcje konfiguracyjne :
#./configure -help
Jeżeli już zdecydowałeś się na odpowiednie opcje, przejdźmy zatem do kompilacji
php.
# tar -zxf php-4.3.4.tar.gz # cd php-4.3.4 # ./configure --with-apache=../apache_1.3.29 --with-mysql
Warto zauważyć iż użyliśmy opcji -with-mysql - to właśnie ta opcja jest odpowiedzialna
za to iż PHP będzie poprawnie funkcjonowało, gdy zechcemy połączyć się z baza.
W przypadku postgres robimy tak tamo z drobna różnicą : --with-pgsql.
Oczywiście użyliśmy tylko jednej opcji z wielu jakie oferuje nam:
#./configure -help
Nastepnie :
# make
# make install
Teraz PHP mamy na razie z głowy. Następnie przechodzimy do katalogu ze źródłami
apache:
# cd ../apache-1.3.29
Warto wspomnieć iż istnieje możliwość, aby utajnić nazwę naszego serwera
httpd, lub po prostu `nazwać po swojemu`. W takim celu przechodzimy do katalogu
ze źródłami, a dokładnie do katalogu include:
# cd src/include
Widzimy plik httpd.h, wyedytujmy go i poszukajmy frazy : "tokens"
A dokładnie chodzi nam o:
#define SERVER_BASEVENDOR "Apache Group"
#define SERVER_BASEPRODUCT "Apache"
#define SERVER_BASEREVISION "1.3.29" |
Zmieniamy sobie np. Numerek wersji czyli :
#define SERVER_BASEREVISION "1.0" |
Aby zmiany takie weszły poprawnie w życie po instalacji apache należy w pliku
httpd.conf ustawić pewną dyrektywę, ale o tym w punkcie 4.3.
W takim razie, php, mysql mamy gotowe, nie pozostało nam nic innego jak tylko
przejść do dalszej części.
Przystępujemy do konfiguracji:
# ./configure : --prefix=/katalog/przeznaczenia/apache \
--activate-module=src/modules/php4/libphp4.a \
--enable-module=php4 \
--add-module=../mod_bandwidth.c \
--add-module=../mod_throttle.c
--prefix , gdy chcemy aby apache leżał w innej lokalizacji niż /usr/local/apache
Oczywiście np. : '../mod_bandwidth.c' , zakładając że źródła modułu bandwidth
mamy katalog wyżej.
# make
# make install
I do poprawnego funkcjonowania PHP skopiujmy jego plik konfiguracyjny w odpowiednie
miejsce :
# cd ../php-4.3.4
# cp php.ini-dist /usr/local/lib/php.ini
|