Apache. Receptury - Helion
Tytuł oryginału: Apache Cookbook
Tłumaczenie: Witold Zioło
ISBN: 83-7361-416-8
stron: 280, Format: B5, okładka: miękka
Data wydania: 2004-02-24
Księgarnia: Helion
Cena książki: 34,90 zł
Gotowe rozwiązania dla administratorów
najpopularniejszego serwera WWW
Apache jest najpopularniejszym obecnie serwerem WWW na świecie, co potwierdzają badania i statystyki. Większość witryn WWW działa właśnie na bazie tego serwera. Apache jest kolejnym, po Linuksie, potwierdzeniem fenomenu ruchu open source.
Dokumentacja Apache dostępna w sieci opisuje proces instalacji i konfiguracji serwera, co nie zawsze jest wystarczające, ponieważ administrowanie serwerem WWW działającym pod kontrolą Apache wymaga często rozwiązywania problemów pojawiających się w trakcie pracy. Dzięki ogromnej społeczności użytkowników, żadne wołanie o pomoc w sieci nie zostanie zignorowane, często jednak odpowiedź jest potrzebna natychmiast.
Książka "Apache. Receptury" jest zbiorem gotowych rozwiązań najczęściej pojawiających się problemów i wątpliwości, przeznaczonym dla administratorów, programistów i innych użytkowników Apache. Opisane w książce problemy są rzeczywiste -- przydarzyły się autorom lub osobom zwracających się do nich o pomoc. Każde zagadnienie omówione jest w ten sam sposób -- problem, analiza i rozwiązanie. Zaletą takiego przedstawienia informacji jest to, że Czytelnik dowiaduje się nie tylko, co powinien zrobić, ale również dlaczego powinien postąpić tak a nie inaczej. Wyjaśnienia zamieszczonych w książce kodów pomogą również dostosować je do innych przypadków.
Książka zawiera rozwiązania problemów występujących przy różnych czynnościach -- od instalacji serwera, aż do obsługi szyfrowania SSL. Znajdujące się w niej informacje pomogą Czytelnikowi przy następujących przedsięwzięciach:- Instalacja Apache w systemach Linux i Windows
- Instalowanie dodatkowych modułów
- Rejestracja zdarzeń i analizowanie dziennika zdarzeń serwera
- Konfigurowanie i obsługa serwerów wirtualnych
- Tworzenie aliasów, przekierowań i przypisań
- Zwiększenie poziomu bezpieczeństwa serwera
- Praca z szyfrowaniem SSL
- Konfigurowanie obsługi skryptów CGI i PHP
- Obsługa błędów
- Praca z serwerem proxy
- Optymalizacja i poprawa wydajności działania serwera
Każdy administrator serwera WWW powinien mieć tę książkę na swoim biurku.
Osoby które kupowały "Apache. Receptury", wybierały także:
- Learning Spark. 2nd Edition 249,17 zł, (29,90 zł -88%)
- Learning Apache OpenWhisk. Developing Open Serverless Solutions 249,17 zł, (29,90 zł -88%)
- Stream Processing with Apache Spark. Mastering Structured Streaming and Spark Streaming 249,17 zł, (29,90 zł -88%)
- 60 Recipes for Apache CloudStack. Using the CloudStack Ecosystem 124,58 zł, (29,90 zł -76%)
- Apache Cookbook. Solutions and Examples for Apache Administration. 2nd Edition 124,58 zł, (29,90 zł -76%)
Spis treści
Apache. Receptury -- spis treści
Przedmowa (11)
Rozdział 1. Instalacja serwera (17)
- 1.1. Instalacja serwera z pakietów dystrybucji Red Hat Linux (18)
- 1.2. Instalacja serwera Apache w systemie Windows (19)
- 1.3. Pobieranie plików źródłowych serwera Apache (25)
- 1.4. Budowa serwera Apache z kodu źródłowego (27)
- 1.5. Instalacja serwera Apache za pomocÄ… programu ApacheToolbox (29)
- 1.6. Uruchamianie, zatrzymywanie oraz ponowne uruchamianie serwera Apache (31)
- 1.7. Usunięcie serwera Apache (33)
Rozdział 2. Instalacja modułów (35)
- 2.1. Instalacja typowego modułu (36)
- 2.2. Instalacja modułu mod_dav w systemie uniksowym (37)
- 2.3. Instalacja modułu mod_dav w systemie Windows (39)
- 2.4. Instalacja modułu mod_perl w systemie uniksowym (42)
- 2.5. Instalacja modułu mod_php w systemie uniksowym (44)
- 2.6. Instalacja modułu mod_php w systemie Windows (45)
- 2.7. Instalacja modułu mod_snake Python (46)
- 2.8. Instalacja modułu mod_ssl (47)
Rozdział 3. Rejestracja zdarzeń (49)
- 3.1. Zwiększenie szczegółowości zapisów dziennika zdarzeń (53)
- 3.2. Zwiększenie liczby komunikatów o błędach (53)
- 3.3. Rejestracja zawartości POST (56)
- 3.4. Rejestracja adresu IP klienta Å‚Ä…czÄ…cego siÄ™ poprzez serwer proxy (57)
- 3.5. Rejestracja adresu MAC klienta (57)
- 3.6. Rejestracja Cookies (58)
- 3.7. Zaniechanie rejestracji żądań pobierania obrazów pochodzących ze stron lokalnych (60)
- 3.8. Zmiana pliku dziennika zdarzeń o określonej porze dnia (61)
- 3.9. Zmiana pliku dziennika zdarzeń pierwszego dnia miesiąca (62)
- 3.10. Rejestracja nazw komputerów zamiast ich adresów IP (63)
- 3.11. Oddzielne pliki dzienników zdarzeń serwerów wirtualnych (65)
- 3.12. Rejestracja żądań proxy (66)
- 3.13. Rejestracja komunikatów o błędach różnych serwerów wirtualnych w różnych plikach (67)
- 3.14. Rejestracja adresu IP serwera (68)
- 3.15. Rejestracja stron, z których nadchodzą żądania (69)
- 3.16. Rejestracja nazw używanych przeglądarek (70)
- 3.17. Rejestracja dowolnych pól nagłówka żądania (71)
- 3.18. Rejestracja dowolnych pól nagłówka odpowiedzi (72)
- 3.19. Rejestracja aktywności serwera w bazie danych MySQL (73)
- 3.20. Rejestracja zdarzeń w dzienniku systemowym (74)
- 3.21. Rejestracja katalogów użytkowników (76)
Rozdział 4. Serwery wirtualne (79)
- 4.1. Konfiguracja serwerów wirtualnych opartych na nazwach (80)
- 4.2. Konfiguracja jednego z serwerów wirtualnych opartych na nazwach jako serwera domyślnego (82)
- 4.3. Konfiguracja serwerów wirtualnych opartych na adresach (83)
- 4.4. Konfiguracja jednego z serwerów wirtualnych opartych na adresach jako serwera domyślnego (84)
- 4.5. Jednoczesne użycie serwerów wirtualnych opartych na adresach oraz na nazwach (85)
- 4.6. Liczne serwery wirtualne obsługiwane za pomocą modułu mod_vhost_alias (86)
- 4.7. Liczne serwery wirtualne obsługiwane za pomocą reguł przepisania (88)
- 4.8. SSL i serwery wirtualne oparte na nazwach (89)
- 4.9. Rejestracja zdarzeń wszystkich serwerów wirtualnych (90)
- 4.10. Podział pliku dziennika zdarzeń (91)
- 4.11. Serwery wirtualne oparte na portach (92)
- 4.12. Ta sama zawartość dostępna pod kilkoma adresami IP (93)
Rozdział 5. Aliasy, przekierowania oraz przepisania (95)
- 5.1. Wyróżnianie składni kodu źródłowego PHP bez użycia dowiązań symbolicznych (95)
- 5.2. PrzyporzÄ…dkowanie adresu URL do katalogu (97)
- 5.3. Tworzenie dodatkowego adresu URL dla istniejącej zawartości (98)
- 5.4. Przydzielenie użytkownikom ich własnych adresów URL (99)
- 5.5. Utożsamienie kilku adresów URL za pomocą pojedynczej dyrektywy (102)
- 5.6. Przyporządkowanie kilku adresów URL do tego samego katalogu CGI (103)
- 5.7. Tworzenie katalogów CGI dla każdego użytkownika (104)
- 5.8. Przekierowanie do innego miejsca (105)
- 5.9. Przekierowanie kilku adresów URL w to samo miejsce (107)
- 5.10. Nierozróżnianie wielkości liter w adresach URL (107)
- 5.11. Wymiana ciągów znaków w żądanych adresach URL (108)
- 5.12. Zamiana informacji o ścieżce na argumenty CGI (109)
- 5.13. Odmowa dostępu żądaniom pochodzącym z obcych stron (110)
- 5.14. Przepisanie na podstawie łańcucha zapytania (111)
- 5.15. Przekierowanie całego lub części serwera do SSL (112)
- 5.16. Zamiana nazw katalogów na nazwy serwerów (113)
- 5.17. Przekierowanie wszystkich żądań do jednego serwera (114)
- 5.18. Zamiana nazw dokumentów na argumenty programu (115)
Rozdział 6. Bezpieczeństwo (117)
- 6.1. Wykorzystanie kont użytkowników do uwierzytelnienia dostępu do zasobów WWW (118)
- 6.2. Konfiguracja haseł jednorazowych (121)
- 6.3. Wygasające hasła (122)
- 6.4. Ograniczanie wielkości umieszczanych na serwerze plików (124)
- 6.5. Ograniczenie pobierania obrazków ze stron znajdujących się na innych serwerach (126)
- 6.6. Żądanie zarówno słabego, jak i silnego uwierzytelnienia (127)
- 6.7. ZarzÄ…dzanie plikami .htpasswd (128)
- 6.8. Przygotowanie plików haseł uwierzytelniania typu Digest (130)
- 6.9. Rozluźnienie ochrony w podkatalogu (131)
- 6.10. Wybiórcze zniesienie ochrony (134)
- 6.11. Autoryzacja za pomocą informacji o właścicielu pliku (135)
- 6.12. Przechowywanie poświadczeń użytkownika w bazie danych MySQL (136)
- 6.13. Dostęp do nazwy użytkownika uwierzytelnionego (138)
- 6.14. Uzyskanie hasła użytego do uwierzytelnienia (139)
- 6.15. Ochrona przed atakami na hasła, typu brute-force (140)
- 6.16. Uwierzytelnianie typu Digest i uwierzytelnianie typu Basic (141)
- 6.17. Dostęp do poświadczeń osadzonych w adresach URL (142)
- 6.18. Zabezpieczenie usługi WebDAV (143)
- 6.19. Uruchomienie usługi WebDAV bez udzielenia zezwolenia na zapisywanie do plików użytkownikowi, z uprawnieniami którego działa serwer (144)
- 6.20. Ograniczanie dostępu poprzez proxy do określonych adresów URL (145)
- 6.21. Ochrona plików za pomocą osłony (147)
- 6.22. Zniesienie ochrony pewnej grupy plików (149)
- 6.23. Ochrona plików serwera przed złośliwymi skryptami (150)
- 6.24. Nadanie prawidłowych uprawnień do plików (151)
- 6.25. Uruchomienie serwera z minimalną liczbą modułów (154)
- 6.26. Ograniczenie dostępu do plików znajdujących się poza katalogiem głównym WWW (156)
- 6.27. Ograniczenie metod dostępnych dla użytkowników (157)
- 6.28. Ograniczanie żądań zakresów (158)
Rozdział 7. SSL (161)
- 7.1. Instalacja SSL (161)
- 7.2. Tworzenie certyfikatów SSL (163)
- 7.3. Tworzenie zaufanego ośrodka certyfikacyjnego (166)
- 7.4. Udostępnianie części witryny WWW poprzez SSL (168)
- 7.5. Uwierzytelnianie za pomocą certyfikatów klientów (170)
Rozdział 8. Treść dynamiczna (171)
- 8.1. Uaktywnienie katalogu CGI (171)
- 8.2. Uaktywnienie skryptów CGI w katalogach niewyznaczonych za pomocą dyrektywy ScriptAlias (172)
- 8.3. Wykorzystanie rozszerzeń plików systemu Windows do uruchamiana skryptów CGI (173)
- 8.4. Identyfikacja skryptów CGI na podstawie ich rozszerzeń (175)
- 8.5. Sprawdzenie, czy obsługa programów CGI jest skonfigurowana poprawnie (176)
- 8.6. Odczyt wartości z formularza (179)
- 8.7. Uruchamianie programu CGI dla pewnych rodzajów treści (181)
- 8.8. Użycie SSI (183)
- 8.9. Przedstawienie daty ostatniej modyfikacji (185)
- 8.10. Dołączenie standardowego nagłówka (185)
- 8.11. Dołączanie wyniku działania programu CGI (187)
- 8.12. Uruchamianie za pomocą programu suexec skryptów CGI z uprawnieniami innego użytkownika (187)
- 8.13. Instalacja programu obsługi modułu mod_perl z serwisu CPAN (190)
- 8.14. Pisanie programów obsługi modułu mod_perl (191)
- 8.15. Uruchomienie obsługi skryptów PHP (193)
- 8.16. Weryfikacja instalacji PHP (193)
Rozdział 9. Obsługa błędów (195)
- 9.1. Obsługa przypadku brakującego pola Host (195)
- 9.2. Zmiana kodu stanu odpowiedzi za pomocÄ… skryptu CGI (196)
- 9.3. Własne komunikaty o błędach (197)
- 9.4. Komunikaty o błędach w różnych językach (198)
- 9.5. Przekierowanie odwołań do niepoprawnych adresów URL do innych stron (200)
- 9.6. Prawidłowa strona komunikatu o błędzie w programie Internet Explorer (201)
- 9.7. Powiadamianie o błędach (202)
Rozdział 10. Proxy (205)
- 10.1. Zabezpieczenie serwera proxy (205)
- 10.2. Zabezpieczenie serwera proxy przed użyciem go jako otwartego przekaźnika poczty (207)
- 10.3. Przekazywanie żądań do innego serwera (208)
- 10.4. Blokowanie żądań proxy do określonych miejsc (209)
- 10.5. Przeniesienie żądań obsługiwanych przez mod_perl na inny serwer (210)
- 10.6. Konfiguracja buforujÄ…cego serwera proxy (211)
- 10.7. Filtrowanie treści przekazywanych przez serwer proxy (212)
- 10.8. Wymaganie uwierzytelnienia się na serwerze dostępnym poprzez proxy (213)
Rozdział 11. Wydajność (215)
- 11.1. Określenie ilości potrzebnej pamięci RAM (216)
- 11.2. Testowanie wydajności serwera Apache za pomocą programu ab (217)
- 11.3. Dobór ustawień dostępu keepalive (218)
- 11.4. Określenie stanu aktywności witryny WWW (220)
- 11.5. Unikanie wyszukiwania w DNS (221)
- 11.6. Optymalizacja dowiązań symbolicznych (223)
- 11.7. Ograniczanie wpływu użycia plików .htaccess na wydajność serwera (224)
- 11.8. Wyłączenie negocjacji treści (226)
- 11.9. Optymalizacja tworzenia procesów (228)
- 11.10. Dobór parametrów tworzenia wątków (229)
- 11.11. Buforowanie najczęściej przeglądanych plików (231)
- 11.12. Przeniesienie części obciążenia na drugi serwer za pomocą modułu mod_proxy (233)
- 11.13. Równomierne rozłożenia obciążenia między kilka serwerów (234)
- 11.14. Buforowanie list zawartości katalogu (235)
- 11.15. Przyśpieszenie pracy programów Perl CGI za pomocą modułu mod_perl (236)
Rozdział 12. Pozostałe zagadnienia (239)
- 12.1. Poprawne umieszczanie dyrektyw (239)
- 12.2. Zmiana nazw plików .htaccess (241)
- 12.3. Tworzenie listy zawartości katalogu (242)
- 12.4. Rozwiązanie "problemu końcowego ukośnika" (244)
- 12.5. Ustalenie zawartości pola Content-Type w zależności od możliwości przeglądarki (245)
- 12.6. Obsługa brakującego pola Host: nagłówka (246)
- 12.7. Inny domyślny dokument (247)
- 12.8. Konfiguracja domyślnej "ulubionej ikony" (248)
Dodatek A Użycie wyrażeń regularnych (249)
Dodatek B Rozwiązywanie problemów (255)
Skorowidz (265)