Aktualizacja Ubuntu 14.04 złamała Apache2

12

Właśnie zaktualizowałem system do Ubuntu 14.04 i teraz apache2 nie chce się uruchomić, pojawia się błąd:

root@dennisHome:~# /etc/init.d/apache2 restart
* Restarting web server apache2
...fail!
* The apache2 configtest failed.

Wynik testu konfiguracji wynosił:

apache2: Syntax error on line 244 of /etc/apache2/apache2.conf: 
Syntax error on line 1 of /etc/apache2/mods-enabled/authz_default.load: Cannot load       /usr/lib/apache2/modules/mod_authz_default.so into server: 
/usr/lib/apache2/modules/mod_authz_default.so: cannot open shared object file: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information

Wygląda na to, że mod_authz_default.so już go nie ma, co mam zrobić, aby rozwiązać ten problem?

Dennis Kerrisk
źródło
Zapisałbym konfigurację Apache i ponownie zainstalowałem Apache.
Ramhound

Odpowiedzi:

14

Przechodząc na Ubuntu 14.04, przechodzisz także na Apache 2.4 (z, prawdopodobnie 2.2). To nie jest trywialna zmiana, możesz tutaj znaleźć listę wymaganych korekt. Zobaczysz, że jest trochę do zrobienia. W szczególności strona stwierdza (między innymi):

Te moduły zostały usunięte: mod_authn_default, mod_authz_default, mod_mem_cache.

Dlatego pojawia się powyższy komunikat o błędzie. Możesz spróbować skomentować obraźliwą linię 244 apache.conf i sprawdzić, czy twój system da sobie radę w ten sposób (ale wątpię).

MariusMatutiae
źródło
1

Jeśli masz moduły ładujące się automatycznie z katalogu z włączonymi modami, prawdopodobnie linia obrażająca znajduje się w tej sekcji pliku conf:

# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

W takim przypadku musisz przejść do katalogu z włączonymi modami ( /etc/apache2/mods-enableddomyślnie) i usunąć dowiązanie symboliczne do authz_default.loadpliku.

Wynika to z faktu, że dowiązanie symboliczne w włączonych modach będzie wskazywać na plik w dostępnych modach, który już nie istnieje w Apache 2.4.

dureń
źródło