apache 2.2 vs apache 2.4 – co się zmieniło?

Jeśli po upgradzie serwera apache masz taki błąd

apache2: Syntax error on line 1 of /etc/apache2/apache2.conf Invalid command 'Require', perhaps misspelled or defined by

To wiedz, że warto czasami czytać changelog przed upgradem 🙂

Więc co się takiego zmieniło?
Główne zmiany nastąpiły w module Access Control, skutkiem czego wyleciała dyrektywa Order deny,allow na rzecz Require, teraz żeby kontrolować dostęp do zasobu musimy zmienić konfiguracje na:

#Każdy ma dostęp do katalogu: OLD Apacha 2.2 conf: <Directory "/home/www/html"> Order allow,deny Allow from all </Directory> NEW Apache 2.4 conf: <Directory "/home/www/html"> Require all granted </Directory>

#Tylko jeden host ma dostęp do katalogu: OLD Apacha 2.2 conf: <Directory "/home/www/html"> Order allow,deny Deny from all Allow from uchacz.it </Directory> NEW Apache 2.4 conf: <Directory "/home/www/html"> Require host uchacz.it </Directory>

#Dostęp do zasobu ma tylko host uchacz.it # i poświadcza sie loginem/hasłem z pliku passwd: OLD Apacha 2.2 conf: <Directory "/home/www/html"> Order allow,deny Deny from all Satisfy ALL Allow from uchacz.it AuthUserFile /home/www/.passwd AuthName secure Require valid-user </Directory> NEW Apache 2.4 conf: <Directory "/home/www/html"> AuthBasicProvider File AuthUserFile /home/www/.passwd AuthName secure <RequireAll> Require valid-user Require uchacz.it </RequireAll> </Directory>


Zmiana także nastąpiła w nazewnictwie następujących dyrektyw(przy czym stare jeszcze będą przez jakiś czas dostępne):

– MaxRequestsPerChild na MaxConnectionsPerChild,
– MaxClients na MaxRequestWorkers.

A tu szybkie lekarstwo 🙂

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.