<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=Apache_Web_Server_Administration</id>
	<title>Apache Web Server Administration - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=Apache_Web_Server_Administration"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=Apache_Web_Server_Administration&amp;action=history"/>
	<updated>2026-05-02T18:31:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://training-course-material.com/index.php?title=Apache_Web_Server_Administration&amp;diff=10212&amp;oldid=prev</id>
		<title>Izabela Szlachta at 22:15, 13 May 2013</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=Apache_Web_Server_Administration&amp;diff=10212&amp;oldid=prev"/>
		<updated>2013-05-13T22:15:50Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Cat|Apache Web Server Administration}}&lt;br /&gt;
{{Apache Links}}&lt;br /&gt;
&lt;br /&gt;
== Kontenery ==&lt;br /&gt;
&lt;br /&gt;
Tworzymy kontener warunkowy dotyczący modułu Alias a w nim kilka wpisów:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule alias_module&amp;gt;&lt;br /&gt;
 	Redirect permanent /pliki /dokumenty&lt;br /&gt;
 	Redirect temp /allegro &amp;lt;nowiki&amp;gt;http://allegro.pl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 	Alias /aktualnosci /var/www/wiadomosci/2012&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Odejmujemy możliwość listowania katalogu w kontenerze Directory dla dokumenty/tajne jednocześnie dając możliwość późniejszej zmiany opcji za pomocą parametru AllowOverride All. Dopisujemy w tym celu na końcu pliku default:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Directory /var/www/dokumenty/tajne&amp;gt;&lt;br /&gt;
 	Options -Indexes&lt;br /&gt;
 	AllowOverride All&lt;br /&gt;
 	Order allow,deny&lt;br /&gt;
 	Allow from all&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Od tego momentu nie mamy prawa do wyświetlania zawartości katalogu. Tworzymy wewnątrz plik .htaccess a w nim:&lt;br /&gt;
&lt;br /&gt;
 Options +Indexes&lt;br /&gt;
&lt;br /&gt;
Dzięki takiemu wpisowi narzuciliśmy możliwość wyświetlania zawartości katalogu. W środku są trzy pliki, ale chcemy ukryć dostęp do pliku o nazwie dokument-2.html i w tym celu dodajemy w pliku .htaccess kontener:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Files dokument-2.html&amp;gt;&lt;br /&gt;
 	Deny from all&lt;br /&gt;
 &amp;lt;/Files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W podobny sposób możemy zablokować dostęp do plików o pewnych nazwach określonych za pomocą wyrażenia regularnego:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Files ~ ^tajn(.*)\.html$&amp;gt;&lt;br /&gt;
 	Deny from all&lt;br /&gt;
 &amp;lt;/Files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kiedy jest potrzeba ograniczenia dostępu dla kilku rodzajów plików możemy wykorzystać listę z rozszerzeniami plików:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Files ~ \.(doc|docx|txt)$&amp;gt;&lt;br /&gt;
 	Deny from all&lt;br /&gt;
 &amp;lt;/Files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W podobny sposób możemy stosować listy przy definiowaniu kontenerów Location i Directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Status serwera ==&lt;br /&gt;
&lt;br /&gt;
Aby uzyskać informacje o serwerze trzeba załadować moduł Info:&lt;br /&gt;
&lt;br /&gt;
 a2enmod info&lt;br /&gt;
&lt;br /&gt;
W pliku z konfiguracja do tego modułu jest już zdefiniowana lokalizacja i ograniczony dostęp po adresie IP, który zmieniamy w razie potrzeby:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /server-info&amp;gt;&lt;br /&gt;
 	SetHandler server-info&lt;br /&gt;
 	Order deny,allow&lt;br /&gt;
 	Deny from all&lt;br /&gt;
 	Allow from localhost 192.168.0.115&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Możemy odczytać zawartość wszystkich plików konfiguracyjnych. Domyślnie oprócz modułu Info jest załadowany moduł status a w pliku konfiguracyjnym znajdziemy lokalizację odpowiadającą za wywołanie strony z informacjami o stanie serwera:&lt;br /&gt;
&lt;br /&gt;
 localhost/server-status?refresh=1&lt;br /&gt;
&lt;br /&gt;
Dzięki powyższemu wywołaniu strona będzie odświeżała się automatycznie co określoną parametrem liczbę sekund.&lt;br /&gt;
&lt;br /&gt;
Jeśli chcemy minimalne informacje możemy do adresu dodać inny parametr:&lt;br /&gt;
&lt;br /&gt;
 localhost/server-status?auto&lt;br /&gt;
&lt;br /&gt;
Poza kontenerem VirtualHost możemy ustalić ilość informacji w sygnaturze serwera:&lt;br /&gt;
&lt;br /&gt;
 ServerTokens Full&lt;br /&gt;
&lt;br /&gt;
Jeśli jest to serwer produkcyjny zaleca się podać samą nazwę serwera:&lt;br /&gt;
&lt;br /&gt;
 ServerTokens Prod&lt;br /&gt;
&lt;br /&gt;
Można też zupełnie wyłączyć pokazywanie sygnaturki:&lt;br /&gt;
&lt;br /&gt;
 ServerSignature Off&lt;br /&gt;
&lt;br /&gt;
Te ustawienia dotyczą bezpieczeństwa i znajdują się już w osobnym pliku konfiguracyjnym w katalogu /etc/apache2/conf.d/security&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uwierzytelnianie ==&lt;br /&gt;
&lt;br /&gt;
Zabezpieczanie dostępu do katalogu na hasło za pomocą podstawowej metody uwierzytelnienia:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Directory ~ /dokumenty/prywatne&amp;gt;&lt;br /&gt;
 	AuthName &amp;quot;Strefa chroniona&amp;quot;&lt;br /&gt;
 	AuthType Basic&lt;br /&gt;
 	Require valid-user&lt;br /&gt;
 	AuthUserFile .htpasswd&amp;quot;&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hasło dla użytkownika misiek można wygenerować do pliku .htpasswd za pomocą polecenia:&lt;br /&gt;
&lt;br /&gt;
 htpasswd -c /var/www/dokumenty/prywatne/.htpasswd misiek&lt;br /&gt;
&lt;br /&gt;
Podajemy hasło jogi. Można ustalić kilka warunków dzięki którym będziemy mogli dokładniej określić kto może odczytać dane zasoby. W tym celu tworzymy nową lokację:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /poczta&amp;gt;&lt;br /&gt;
 	Order deny,allow&lt;br /&gt;
 	Deny from all&lt;br /&gt;
 	Allow from 127.0.0.10&lt;br /&gt;
 	AuthName &amp;quot;Poczta dla pracowników&amp;quot;&lt;br /&gt;
 	AuthType Basic&lt;br /&gt;
 	Require user pracownik&lt;br /&gt;
 	AuthUserFile &amp;quot;C:/Apache/conf/passwd&amp;quot;&lt;br /&gt;
 	Satisfy all&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tworzymy potrzebny plik z hasłem dla użytkownika pracownik:&lt;br /&gt;
&lt;br /&gt;
 htpasswd -c /var/www/poczta/.htpasswd pracownik&lt;br /&gt;
&lt;br /&gt;
Podajemy hasło poczta i sprawdzamy czy jest możliwość zalogowania. Logowanie nie powiodło się bo nie został spełniony jeden z warunków.&lt;br /&gt;
&lt;br /&gt;
W tym przykładzie określamy konkretną nazwę użytkownika, która może mieć dostęp do tego zasobu i jednocześnie adres hosta z którego wymagane jest logowanie. Dodatkowo postawiony jest warunek że muszą być spełnione oba założenia czyli jednocześnie próba logowania jest z adresu 127.0.0.10 i wymagany jest użytkownik o nazwie pracownik.&lt;br /&gt;
&lt;br /&gt;
Aby sprawdzić działanie zmieniamy adres hosta na 127.0.0.1 i restartujemy serwer. Możemy też zmniejszyć wymagania:&lt;br /&gt;
&lt;br /&gt;
 Satisfy any&lt;br /&gt;
&lt;br /&gt;
Powyższy zapis oznacza, że przynajmniej jeden warunek musi być spełniony.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
Konfigurację plików z logami zaczynamy od ustalenia nazwy pliku z błędami:&lt;br /&gt;
&lt;br /&gt;
 ErrorLog ${APACHE_LOG_DIR}/default_error.log&lt;br /&gt;
&lt;br /&gt;
Ponadto możemy ustalić poziom błędów od jakiego informacje mają dopisywać się do pliku.&lt;br /&gt;
&lt;br /&gt;
 LogLevel Info&lt;br /&gt;
&lt;br /&gt;
Jeśli interesują nas same błędy krytyczne możemy zmienić parametr na Crit.&lt;br /&gt;
&lt;br /&gt;
Oba wpisy możemy zmienić w globalnej konfiguracji serwera lub z uwagi na wiele wirtualnych hostów dla każdego kontenera VirtualHost osobno, co pomoże nam lepiej rozróżnić pochodzenie plików. Dodane wpisów do kontenera VirtualHost w pliku default nadpisuje wartości, które są w pliku z główną konfiguracją serwera.&lt;br /&gt;
&lt;br /&gt;
Oprócz logowania informacji o błędach mamy do dyspozycji parametr pozwalający tworzyć pliki logów z dowolną zawartością.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Przepisywanie adresów ==&lt;br /&gt;
&lt;br /&gt;
Włączamy moduł Rewrite, możemy użyc programu dostępnego w pakiecie Apache:&lt;br /&gt;
&lt;br /&gt;
 a2enmod rewite&lt;br /&gt;
&lt;br /&gt;
Startujemy ponownie Apache:&lt;br /&gt;
&lt;br /&gt;
 sudo apache2ctl restart&lt;br /&gt;
&lt;br /&gt;
Możemy też użyć polecenia:&lt;br /&gt;
&lt;br /&gt;
 sudo /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
Aby wyłączyć moduł postępujemy podobnie używając innego polecenia:&lt;br /&gt;
&lt;br /&gt;
 a2dismod rewrite&lt;br /&gt;
&lt;br /&gt;
Od teraz możemy używać silnika Rewrite. Dopisujemy do kontenera Directory /var/www:&lt;br /&gt;
&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteRule ^aktualnosci\.html$ wiadomosci/%{TIME_YEAR}/news.html&lt;br /&gt;
 RewriteRule ^d/(.*) dokumenty/$1&lt;br /&gt;
&lt;br /&gt;
Dzięki tej regule możemy mieć dostęp do plików z katalogu dokumenty wykonując odwołanie localhost/d/dokument-1.html. Kolejna reguła jest bardziej skomplikowana:&lt;br /&gt;
&lt;br /&gt;
 RewriteRule ^foto-([0-9]+)\.jpg$ foto/$1.jpg&lt;br /&gt;
&lt;br /&gt;
Znak + oznacza że ciąg cyfr może być dowolnej długości dlatego reguła zadziała dla pliku foto-1.jpg jak również dla pliku foto-123.jpg a $1 to pierwsza i jedyna zmienna, która w naszym przypadku oznacza nazwę pliku a dokładnie numer. Kolejna reguła wykorzystuje kilka zmiennych:&lt;br /&gt;
&lt;br /&gt;
 RewriteRule ^~(([a-z])[a-z]+)(.*) uzytkownicy/$2/$1/$3&lt;br /&gt;
&lt;br /&gt;
Reguła jest ciekawa ponieważ pokazuje elementy z jakich budowane jest wyrażenie regularne. Wpisując w przeglądarce localhost/~agnieszka uzyskamy dostęp do katalogu localhost/uzytkownicy/a/agnieszka&lt;br /&gt;
&lt;br /&gt;
Każdy nawias stanowi osobną zmienną. Mamy tutaj jeden znak z przedziału od a do z zawarty w nawiasie co stanowi jedną zmienną, zaraz po niej mamy drugi znak od a do z oraz znak + oznaczający że tutaj może wystąpić jeden lub wiele znaków z tego przedziału i to razem z poprzednią zmienną stanowi drugą zmienną ponieważ oba elementy są zawarte razem w nawiasach, Trzecią zmienną stanowi nawias zawierający znak * oznaczający dowolny ciąg znaków.&lt;br /&gt;
&lt;br /&gt;
Pierwszą zmienną czyli $1 nie jest pojedynczy znak od którego zaczęliśmy analizę wyrażenia tylko zlepek obu zmiennych, tak więc znak od a do z przyklejony do dowolnie długiego ciągu znaków z zakresu od a do z. Jeżeli całość jest $1 to wewnętrzny pojedynczy znak z przedziału od a do z jest zmienną $2 i ostatnim elementem jest zmienna $3&lt;br /&gt;
&lt;br /&gt;
Dlatego po prawej stronie wyrażenia mam zapis uzytkownicy/$2 czyli u nas pojedyncza literka a oraz / i kolejna zmienna $1 czyli a i pozostały ciąg gnieszka czyli razem agnieszka / i gwiazdka.&lt;br /&gt;
&lt;br /&gt;
Za pomocą modułu Rewrite możemy realizować pewne warunki:&lt;br /&gt;
&lt;br /&gt;
 RewriteCond %{TIME_HOUR}%{TIME_MIN} &amp;gt;0700&lt;br /&gt;
 RewriteCond %{TIME_HOUR}%{TIME_MIN} &amp;lt;1900&lt;br /&gt;
 RewriteRule ^wiadomosci\.html$ wiadomosci/%{TIME_YEAR}/wiadomosci-poranne.html&lt;br /&gt;
 RewriteRule ^wiadomosci\.html$ wiadomosci/%{TIME_YEAR}/wiadomosci-wieczorne.html&lt;br /&gt;
&lt;br /&gt;
Zapisujemy warunek lub kilka warunków za pomocą komendy RewriteCond a następnie bezpośrednio pod nimi regułę, która ma zostać zrealizowana po spełnieniu warunków, oraz w kolejnej linijce opcjonalnie możemy podać regułę która zostanie wykonana jeżeli ten warunek nie jest spełniony.&lt;br /&gt;
&lt;br /&gt;
W ten sposób możemy łączyć reguły i budować warunki dotyczące konkretnych adresów hostów w połączeniu z przedziałami czasowymi.&lt;br /&gt;
&lt;br /&gt;
 RewriteCond %{REMOTE_HOST} !127.0.0.10&lt;br /&gt;
 RewriteRule uzytkownicy/(.*) obcy.html&lt;br /&gt;
&lt;br /&gt;
Moduł Rewrite wymaga do działania wpisu Options FollowSymLinks w odpowiednim kontenerze Directory w obrębie którego chcemy przepisywać adresy. Jeżeli rewrite nie działa mimo włączenia silnika za pomocą RewriteEngine On to znaczy, że kontener Directory głównego katalogu z naszą stroną nie posiada takiego wpisu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wirtualne hosty ==&lt;br /&gt;
&lt;br /&gt;
Wirtualne hosty pomagają utrzymywać wiele stron na jednym serwerze. W tym celu musimy najpierw ustawić rekordy DNS domen tak aby wskazywały na adres IP naszego serwera.&lt;br /&gt;
&lt;br /&gt;
Przed konfigurowaniem wirtualnych hostów dopiszemy domeny do naszego lokalnego serwera. Edytujemy plik &amp;#039;&amp;#039;&amp;#039;/etc/hosts&amp;#039;&amp;#039;&amp;#039; i dodajemy w nim potrzebne wpisy.&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1		szkolenie.pl&lt;br /&gt;
 127.0.0.1		www.szkolenie.pl&lt;br /&gt;
 127.0.0.1		allegro.szkolenie.pl&lt;br /&gt;
 127.0.0.1		poczta.szkolenie.pl&lt;br /&gt;
 127.0.0.1		poczta.pl&lt;br /&gt;
&lt;br /&gt;
Najbardziej polecaną metodą tworzenia wirtualnych hostów jest bazowanie na nazwach. Tworzymy osobny plik z konfiguracją wirtualnego hosta w katalogu sites-available o nazwie poczta, wewnątrz którego tworzymy standardowy kontener VirtualHost oraz wymagane wpisy.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
 	ServerName poczta.pl&lt;br /&gt;
 	ServerAlias poczta.szkolenie.pl&lt;br /&gt;
 	DocumentRoot /var/www/poczta&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ServerName to podstawowa nazwa wirtualnego hosta, po której Apache rozpoznaje o który wirtualny host nam chodzi. ServerAlias natomiast może zawierać nazwę lub kilka nazw w postaci listy adresów alternatywnych, które są powiązane z głównym adresem. Po zapisaniu pliku z konfiguracją możemy uaktywnić nowy wirtualny host poleceniem:&lt;br /&gt;
&lt;br /&gt;
 a2ensite poczta&lt;br /&gt;
&lt;br /&gt;
Ponowne uruchomienie serwera uwzględni zmiany w konfiguracji.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Certyfikat SSL ==&lt;br /&gt;
&lt;br /&gt;
Certyfikat to zaszyfrowane informacje, które zawierają klucz publiczny i tożsamość serwera. Dodatkowo zawierają identyfikację i podpis wydawcy certyfikatu. Rozróżniamy dwa rodzaje certyfikatów, komercyjne podpisane przez zaufanych wydawców i prywatne certyfikaty podpisane przez nas. Obsługę SSL w serwerach Apache można zrealizować na dwa sposoby, albo pobrać specjalną dystrybucję Apache zawierającą wsparcie dla SSL lub wykorzystać moduł.&lt;br /&gt;
&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
W katalogu sites-available jest dołączony plik z domyślną konfiguracją serwera dla SSL a w nim parametr uruchamiający silnik SSL:&lt;br /&gt;
&lt;br /&gt;
 SSLEngine On&lt;br /&gt;
&lt;br /&gt;
Teraz trzeba wygenerować pliki certyfikatu i klucza oraz podać ich ścieżki dostępu w pliku z konfiguracją. Przechodzimy do katalogu w którym chcemy utworzyć plik z kluczem prywatnym i wykonujemy komendę:&lt;br /&gt;
&lt;br /&gt;
 openssl genrsa -out www.szkolenie.pl.key 1024&lt;br /&gt;
&lt;br /&gt;
Został utworzony 1024 bitowy klucz prywatny. Następnie generujemy żądanie podpisania certyfikatu:&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -key www.szkolenie.pl.key -out server.csr&lt;br /&gt;
&lt;br /&gt;
Uzupełniamy informacje o nas, które znajdą się w certyfikacie. Podajemy kolejno:&lt;br /&gt;
&lt;br /&gt;
 kod kraju: PL&lt;br /&gt;
 województwo: malopolskie&lt;br /&gt;
 miasto: Krakow&lt;br /&gt;
 nazwa firmy lub organizacji: Poczta Polska&lt;br /&gt;
 dział jednostki organizacyjnej:można pominąć&lt;br /&gt;
 nazwa identyfikująca nasz serwer np. pełny adres: www.szkolenie.pl&lt;br /&gt;
 e-mail: poczta@szkolenie.pl&lt;br /&gt;
&lt;br /&gt;
Ostatnie dwa parametry możemy pominąć. Został utworzony plik pośredni, który teraz sami podpiszemy.&lt;br /&gt;
&lt;br /&gt;
 x509 -req -days 365 -in server.csr -signkey www.szkolenie.pl.key -out www.szkolenie.pl.crt&lt;br /&gt;
&lt;br /&gt;
Został wygenerowany podpisany przez nas plik certyfikatu, teraz musimy aktywować konfigurację hosta dla SSL:&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl&lt;br /&gt;
&lt;br /&gt;
Teraz otwieramy w przeglądarce adres poprzedzony protokołem &amp;lt;nowiki&amp;gt;https://szkolenie.pl&amp;lt;/nowiki&amp;gt;. Certyfikaty z własnym podpisem nie są zaufane, dlatego otrzymamy ostrzeżenie. Jedynym rozwiązaniem jest dodać wyjątek lub wykupić podpis u zaufanego wydawcy certyfikatów.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Proxy ==&lt;br /&gt;
&lt;br /&gt;
Serwer proxy to serwer pośredniczący. Z jednej strony po otrzymaniu zapytania pełni rolę serwera a jednocześnie pełni rolę hosta, który wysyła zapytanie do zewnętrznego serwera z którego mają zostać pobrane dane. W przypadku Apache serwer proxy wykorzystywany jest głównie do zwiększenia bezpieczeństwa poprzez dostarczanie zasobów do których normalnie nie ma dostępu z Internetu.&lt;br /&gt;
&lt;br /&gt;
Aktywujemy moduł proxy&lt;br /&gt;
&lt;br /&gt;
 a2enmod proxy&lt;br /&gt;
 a2enmod proxy_http&lt;br /&gt;
&lt;br /&gt;
Proxy konfigurujemy dodając odpowiednie wpisy do konfiguracji wirtualnego hosta:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
 	ServerName allegro.szkolenie.pl&lt;br /&gt;
 	ProxyPass / &amp;lt;nowiki&amp;gt;http://allegro.pl/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 	ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://allegro.pl/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 	ProxyPreserveHost On&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ProxyPass pozwala na mapowanie zasobów naszego drzewa katalogów do zewnętrznych zasobów. ProxyPassReverse zapewniają prawidłową obsługę niektórych odpowiedzi z serwerów zewnętrznych, które stoją za serwerem proxy. ProxyPreserveHost kontroluje nazwę hosta w nagłówkach zapytań pomiędzy serwerami, co zapewnia pełną transparentność dla użytkownika.&lt;br /&gt;
&lt;br /&gt;
Jeżeli chcemy aby Apache pełnił rolę proxy z prawdziwego zdarzenia, powinien on przechowywać odwiedzane strony w celu ich szybszego doręczania. Jedną z metod jest zapisywanie plików w pamięci podręcznej na dysku. W tym celu aktywujemy moduł:&lt;br /&gt;
&lt;br /&gt;
 a2enmod disk_cache&lt;br /&gt;
&lt;br /&gt;
I dopisujemy kilka parametrów:&lt;br /&gt;
&lt;br /&gt;
 ProxyRequests On&lt;br /&gt;
 CacheRoot /var/www/cache&lt;br /&gt;
 CacheEnable disk /&lt;br /&gt;
 CacheDirLevels 2&lt;br /&gt;
 CacheMaxFileSize 100000000&lt;br /&gt;
 CacheDefaultExpire 604800&lt;br /&gt;
&lt;br /&gt;
Podajemy katalog, w którym mają być przechowywane dane, maksymalny rozmiar plików, które mają być przechowywane podane w bajtach oraz czas w sekundach po którym pliki w pamięci podręcznej wygasną.&lt;/div&gt;</summary>
		<author><name>Izabela Szlachta</name></author>
	</entry>
</feed>