Apache 2 startet nach System Upgrade nicht mehr

Nach einem System Upgrade eines Ubuntu 18.04 LTS Server auf die aktuelle Ubuntu 20.04 LTS Version, hatte ich das Problem, dass der Apache2 Webserver nicht mehr lauffähig gewesen ist.

Ursache des Problems waren die, während des Upgrades auf Version 20.04 LTS, entfernten PHP Pakete im Rahmen der Installationsroutine.

Beim Versuch, den Apache2 Dienst neu zu starten, erhielt ich folgende Fehlermeldung:

Job for apache2.service failed because the control process exited with error code. 
See "systemctl status apache2.service" and "journalctl -xe" for details.

Im Anschluss erhielt ich nach der Eingabe des Befehls „systemctl status apache2.service“ folgende Fehlermeldung:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
     Active: failed (Result: exit-code) since Fri 2020-05-08 02:14:14 +06; 22s >
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 3271 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FA>

 systemd[1]: Starting The Apache HTTP Server...
 apachectl[3281]: apache2: Syntax error on line 146 of /e>
 apachectl[3271]: Action 'start' failed.
 apachectl[3271]: The Apache error log may have more info>
 systemd[1]: apache2.service: Control process exited, cod>
 systemd[1]: apache2.service: Failed with result 'exit-co>
 systemd[1]: Failed to start The Apache HTTP Server.

In letzter Instanz führte ich einen Testdurchlauf der Konfigration mit dem Befehl „apachectl configtest“ aus und erhielt dabei folgende Fehermeldung:

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

Neuinstallation von php Paketen

Da die Ubuntu 20.04 LTS Installationsroutine die zuvor verfügbaren php Pakete deinstalliert hatte, konnte der Webserver nicht mehr arbeiten. Ich installierte daher die neusten php 7.4 Pakte mit folgenden Befehlen:

sudo apt update
sudo apt install php php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

Anschließend überprüfte ich die neu installierte PHP Version mit folgenden Befehl „php –version„:

php --version
PHP 7.4.3 (cli) (built: May  5 2020 12:14:27) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

Da die neuste PHP Version ordnungsgemäß installiert wurde, prüfte ich anschließend nach, welche Version mein Apache2 Server im Vorfeld verwendet hatte:

sudo a2query -m
php7.2 (enabled by maintainer script)

In diesem Beispiel wollte der installierte Apache2 Server php7.2 verwenden. Da ich jedoch php7.4 installiert habe, deaktivierte ich zuerst die Verlinkung wie folgt:

sudo a2dismod php7.2

Und aktivierte php7.4:

sudo a2enmod php7.4

Anschließend startete ich den Apache2 Service neu:

sudo service apache2 restart

Nach erneuter Prüfung des Dienstatus erhielt ich folgende Meldung:

systemctl status apache2
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-05-12 14:21:30 CEST; 8min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 4315 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 4332 (apache2)
      Tasks: 11 (limit: 2189)
     Memory: 71.8M
     CGroup: /system.slice/apache2.service
             ├─4332 /usr/sbin/apache2 -k start
             ├─4333 /usr/sbin/apache2 -k start
             ├─4334 /usr/sbin/apache2 -k start
             ├─4335 /usr/sbin/apache2 -k start
             ├─4336 /usr/sbin/apache2 -k start
             ├─4337 /usr/sbin/apache2 -k start
             ├─4529 /usr/sbin/apache2 -k start
             ├─4610 /usr/sbin/apache2 -k start
             ├─4611 /usr/sbin/apache2 -k start
             ├─4612 /usr/sbin/apache2 -k start
             └─4613 /usr/sbin/apache2 -k start

Der Apache2 Service funktionierte wieder ordnungsgemäß und mein Webserver war wieder via Webbrowser aufrufbar.

Das könnte Dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.