• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Nach Wechsel auf SUSE 15.1 lädt Apache kein PHP

P6CNAT

Advanced Hacker
Hallo,

nach der Installation von openSUSE 15.1 führt mein lokaler Apache2 Server keine PHP-Scripte mehr aus.

Zuvor habe ich alle wichtigen Konfigurationsdaten von openSUSE 43.3 gesichert und das System neu installiert. Dabei habe ich darauf geachtet, dass auf dem neuen System die gleichen Pakete installiert sind wie auf dem alten.
Code:
$ ls
RPM_Liste_15.1  RPM_Liste_20190701.lst
$
$ grep apache *
RPM_Liste_15.1:apache2-2.4.33-lp151.8.3.1.x86_64
RPM_Liste_15.1:apache2-doc-2.4.33-lp151.8.3.1.noarch
RPM_Liste_15.1:apache2-example-pages-2.4.33-lp151.8.3.1.x86_64
RPM_Liste_15.1:apache2-mod_perl-2.0.10-lp151.2.3.x86_64
RPM_Liste_15.1:apache2-mod_php7-7.2.5-lp151.6.3.1.x86_64
RPM_Liste_15.1:apache2-mod_wsgi-python3-4.5.18-lp151.3.3.x86_64
RPM_Liste_15.1:apache2-prefork-2.4.33-lp151.8.3.1.x86_64
RPM_Liste_15.1:apache2-utils-2.4.33-lp151.8.3.1.x86_64
RPM_Liste_15.1:apache-commons-collections-3.2.2-lp151.3.40.noarch
RPM_Liste_15.1:apache-commons-compress-1.18-lp151.3.46.noarch
RPM_Liste_15.1:apache-commons-dbcp-2.1.1-lp151.11.12.noarch
RPM_Liste_15.1:apache-commons-io-2.5-lp151.8.48.noarch
RPM_Liste_15.1:apache-commons-lang-3.7-lp151.2.56.noarch
RPM_Liste_15.1:apache-commons-logging-1.2-lp151.3.1.noarch
RPM_Liste_15.1:apache-commons-pool2-2.4.2-lp151.2.46.noarch
RPM_Liste_20190701.lst:apache2-2.4.23-49.1.x86_64
RPM_Liste_20190701.lst:apache2-doc-2.4.23-49.1.noarch
RPM_Liste_20190701.lst:apache2-mod_perl-2.0.9-5.1.x86_64
RPM_Liste_20190701.lst:apache2-mod_perl-devel-2.0.9-5.1.x86_64
RPM_Liste_20190701.lst:apache2-mod_php7-7.0.7-61.1.x86_64
RPM_Liste_20190701.lst:apache2-mod_python-3.5.0-7.2.x86_64
RPM_Liste_20190701.lst:apache2-mod_scgi-1.14-10.2.x86_64
RPM_Liste_20190701.lst:apache2-mod_wsgi-4.4.8-6.2.x86_64
RPM_Liste_20190701.lst:apache2-prefork-2.4.23-49.1.x86_64
RPM_Liste_20190701.lst:apache2-utils-2.4.23-49.1.x86_64
RPM_Liste_20190701.lst:apache-commons-compress-1.18-2.3.noarch
RPM_Liste_20190701.lst:apache-commons-io-2.4-13.27.noarch
RPM_Liste_20190701.lst:apache-commons-lang-3.7-2.9.noarch
RPM_Liste_20190701.lst:apache-commons-logging-1.1.3-13.3.noarch

Außer dass ich meine bisherigen vhost Dateien unter /etc/apache2/vhosts.d wieder hergestellt habe, habe ich an den installierten Konfigurationsdateien nichts geändert.
Ich habe alle aktuellen Konfigurationsdateien unter '/etc/apache2 ....' mit den Konfigurationsdateien der Sicherung mit 'diff' verglichen. Abgesehen von ein paar Einrückungen gibt es in den Dateien keine funktionalen Unterschiede.
html und sogar Perl-Dateien lassen sich ausführen, bloß php macht Probleme.

Ich habe den Apache Server gefragt, was er denn liest und lädt ..
Code:
polaris:/etc/apache2 # apachectl -t -D DUMP_INCLUDES
Included configuration files:
    (2) /etc/apache2/sysconfig.d/loadmodule.conf
    (3) /etc/apache2/sysconfig.d/global.conf
    (3) /etc/apache2/httpd.conf
    (101) /etc/apache2/uid.conf
    (105) /etc/apache2/server-tuning.conf
    (120) /etc/apache2/listen.conf
    (123) /etc/apache2/mod_log_config.conf
    (131) /etc/apache2/mod_status.conf
    (132) /etc/apache2/mod_info.conf
    (140) /etc/apache2/mod_reqtimeout.conf
    (146) /etc/apache2/mod_cgid-timeout.conf
    (150) /etc/apache2/mod_usertrack.conf
    (153) /etc/apache2/mod_autoindex-defaults.conf
    (157) /etc/apache2/mod_mime-defaults.conf
    (160) /etc/apache2/errors.conf
    (164) /etc/apache2/ssl-global.conf
    (168) /etc/apache2/protocols.conf
    (210) /etc/apache2/default-server.conf
      (104) /etc/apache2/mod_userdir.conf
      (119) /etc/apache2/conf.d/manual.conf
      (119) /etc/apache2/conf.d/mod_perl.conf
      (119) /etc/apache2/conf.d/php7.conf
    (227) /etc/apache2/vhosts.d/english.conf
      (46) /etc/apache2/conf.d/manual.conf
      (46) /etc/apache2/conf.d/mod_perl.conf
      (46) /etc/apache2/conf.d/php7.conf
      (90) /etc/apache2/mod_userdir.conf
    (90) /etc/apache2/vhosts.d/georg.conf
      (46) /etc/apache2/conf.d/manual.conf
      (46) /etc/apache2/conf.d/mod_perl.conf
      (46) /etc/apache2/conf.d/php7.conf
      (90) /etc/apache2/mod_userdir.conf

polaris:/etc/apache2 # apachectl -M
AH00558: httpd-prefork: Could not reliably determine the server's fully qualified domain name, using 192.168.0.99. Set the 'ServerName' directive globally to suppress this message
Loaded Modules:
 core_module (static)
 so_module (static)
 http_module (static)
 mpm_prefork_module (static)
 unixd_module (static)
 systemd_module (static)
 actions_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_host_module (shared)
 authz_groupfile_module (shared)
 authz_core_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgi_module (shared)
 dir_module (shared)
 env_module (shared)
 expires_module (shared)
 include_module (shared)
 log_config_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 setenvif_module (shared)
 ssl_module (shared)
 socache_shmcb_module (shared)
 userdir_module (shared)
 reqtimeout_module (shared)
 wsgi_module (shared)

Apache liest also die '/etc/apache2/conf.d/php7.conf' Datei, lädt das php Modul aber nicht.
In der 'apachectl -M' Auflistung und in der beim Start von Apache generierten Datei '/etc/apache2/sysconfig.d/loadmodule.conf' fehlen folgende Module:
Code:
LoadModule php7_module /usr/lib64/apache2/mod_php7.so
LoadModule perl_module /usr/lib64/apache2/mod_perl.so

Weiß jemand wie man den Apache dazu bewegen kann 'mod_php7.so' zu laden?

hier noch die error_log aus '/var/log/apache2 '.
Code:
polaris:/var/log/apache2 # cat error_log 
AH00558: httpd-prefork: Could not reliably determine the server's fully qualified domain name, using 192.168.0.99. Set the 'ServerName' directive globally to suppress this message
[Sat Jul 06 09:50:07.598438 2019] [ssl:warn] [pid 1986] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache]
[Sat Jul 06 09:50:07.600652 2019] [mpm_prefork:notice] [pid 1986] AH00163: Apache/2.4.33 (Linux/SUSE) OpenSSL/1.1.0i-fips mod_wsgi/4.5.18 Python/3.6 configured -- resuming normal operations
[Sat Jul 06 09:50:07.600701 2019] [core:notice] [pid 1986] AH00094: Command line: '/usr/sbin/httpd-prefork -D SYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache2/httpd.conf -c Include /etc/apache2/sysconfig.d//include.conf -D SYSTEMD -D FOREGROUND'

Grüße
Georg
 
OP
P6CNAT

P6CNAT

Advanced Hacker
Guten Morgen Sauerland,

ich habe die '/etc/apache2/sysconfig.d/loadmodule.conf' nicht editiert, bloß die neue mit der alten aus der Sicherung verglichen. In der alten 42.3 er Version sind das perl und php Modul enthalten, in der neuen 15.1 er Version fehlen die. Die Dateien in sysconfig.d werden auch bei jedem Start von Apache neu generiert.

Grüße
Georg
 
OP
P6CNAT

P6CNAT

Advanced Hacker
Oh Mann,
dass es für den Apache einen zweiten Konfigurationszweig '/etc/sysconfig' gibt hatte ich völlig vergessen. Ich war total auf '/etc/apache2' fixiert. :eek:ps:
Beim zweiten lesen ist der Groschen gefallen, perl und php7 in die apache2 Datei eingetragen und schon funktionierts.
Dank an Sauerland für den Hinweis. :thumbs:
 
Oben