Zum Hauptinhalt springen Skip to page footer

Apache und PHP installieren: Ein Leitfaden für die Installation unter Ubuntu

| Tutorial | Apache PHP Ubuntu 22.04 20.04 Linux

Erfahren Sie, wie Sie den Apache-Webserver und PHP unter Ubuntu installieren und konfigurieren können. In diesem umfassenden Artikel werden Schritt für Schritt alle erforderlichen Installationsschritte erläutert. Entdecken Sie die Grundlagen der Einrichtung eines leistungsstarken Webservers und lernen Sie, wie Sie PHP als serverseitige Skriptsprache integrieren.

Apache-Webserver

Der Apache-Webserver ist einer der beliebtesten Webserver der Welt und wird zur Bereitstellung von Websites und Webanwendungen verwendet. Bekannt für seine Zuverlässigkeit, Flexibilität und Skalierbarkeit. Apache ist ein Open-Source-Server, der auf verschiedenen Betriebssystemen wie Linux, Windows und macOS läuft.

Der Apache-Webserver unterstützt verschiedene Protokolle wie HTTP, HTTPS und FTP. Es ermöglicht Ihnen, statische Dateien wie HTML, CSS und Bilder zu hosten und serverseitige Skriptsprachen wie PHP, Python und Perl auszuführen. Dank seiner modularen Architektur kann Apache mit einer Vielzahl von Modulen erweitert und an individuelle Anforderungen angepasst werden.

Durch die Verwendung von Apache als Webserver sorgen Sie dafür, dass Ihre Websites und Webanwendungen sicher und effizient laufen. Seine Stabilität, Leistung und umfangreiche Funktionen machen es zur ersten Wahl vieler Entwickler und Systemadministratoren. 

PHP

PHP ist eine serverseitige Skriptsprache, die hauptsächlich zur Entwicklung dynamischer Webanwendungen verwendet wird. PHP steht für „Hypertext Preprocessor“ und wird in HTML-Code eingebettet, um interaktive, datenbankgestützte Websites zu erstellen.

Mit PHP können Entwickler auf Datenbanken zugreifen, Formulardaten verarbeiten, Inhalte dynamisch generieren, Dateien hochladen und vieles mehr. Es ist weit verbreitet und unterstützt verschiedene Datenbanken wie MySQL, PostgreSQL und Oracle.

Die Syntax von PHP ähnelt der von C und anderen Programmiersprachen, was den Einstieg für Entwickler relativ einfach macht. PHP-Code wird auf dem Webserver ausgeführt und die Ergebnisse als HTML an den Browser des Clients gesendet. Dadurch können Sie dynamische Inhalte in Ihre Website integrieren, wie z. B. Benutzeranmeldungen, Warenkörbe, Foren und andere interaktive Funktionen.

PHP bietet außerdem verschiedene Funktionen und Erweiterungen, die Entwicklern bei der Bewältigung komplexer Aufgaben helfen. Es unterstützt beispielsweise die Verarbeitung von XML-Daten, das Erstellen von PDF-Dateien, das Generieren von Bildern, das Versenden von E-Mails und mehr.

Voraussetzungen für die Installation

  • Ubuntu- oder Debian-Server
  • Internetverbindung
  • root-Benutzer oder Benutzer mit sudo-Rechten

Schritt 1: Aktualisieren Sie das System und die Paketliste

Verbinden Sie sich mittels SSH mit Ihrem Server und geben Sie an der Konsole folgende Befehle ein:

sudo apt update && sudo apt upgrade -y

Schritt 2: Installieren Sie den Apache-Webserver

Geben Sie den folgenden Befehl ein, um den Apache-Webserver zu installieren:

sudo apt install apache2 -y

Schritt 3: Starten Sie den Apache-Webserver

Geben Sie den folgenden Befehl ein, um den Apache-Webserver zu starten:

sudo service apache2 start

Die erfolgreiche Ausführung dieses Befehls erzeugt keine Ausgabe. Der Cursor spring lediglich in eine neue Zeile.

Schritt 4: Überprüfen Sie die Installation

Öffnen Sie einen Webbrowser und geben Sie die IP-Adresse des Servers in die Adressleiste ein. Wenn Sie die Standardeinstellungen nicht geändert haben, sollte die Standard-Apache-Seite angezeigt werden. 

Schritt 5: Installieren Sie PHP und erforderliche Module

Geben Sie den folgenden Befehl ein, um PHP zusammen mit einigen erforderlichen Modulen zu installieren:

sudo apt install php libapache2-mod-php php-mysql -y
Ausgabe:
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libcurl4 libjansson4 liblua5.3-0 librtmp1
  libssh-4
Vorgeschlagene Pakete:
  apache2-doc apache2-suexec-pristine | apache2-suexec-custom ufw
Die folgenden NEUEN Pakete werden installiert:
  apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libcurl4 libjansson4 liblua5.3-0
  librtmp1 libssh-4
apache2-utils (2.4.52-1ubuntu4.5) wird eingerichtet ...
apache2-bin (2.4.52-1ubuntu4.5) wird eingerichtet ...
apache2 (2.4.52-1ubuntu4.5) wird eingerichtet ...
Enabling module mpm_event.
Enabling module authz_core.
Enabling module authz_host.
Enabling module authn_core.
Enabling module auth_basic.
Enabling module access_compat.
Enabling module authn_file.
Enabling module authz_user.
Enabling module alias.
Enabling module dir.
Enabling module autoindex.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module filter.
Enabling module deflate.
Enabling module status.
Enabling module reqtimeout.
Enabling conf charset.
Enabling conf localized-error-pages.
Enabling conf other-vhosts-access-log.

Creating config file /etc/php/8.1/mods-available/mysqlnd.ini with new version

Creating config file /etc/php/8.1/mods-available/mysqli.ini with new version

Creating config file /etc/php/8.1/mods-available/pdo_mysql.ini with new version
php8.1-readline (8.1.2-1ubuntu2.11) wird eingerichtet ...

Creating config file /etc/php/8.1/mods-available/readline.ini with new version
php8.1-opcache (8.1.2-1ubuntu2.11) wird eingerichtet ...

Creating config file /etc/php/8.1/mods-available/opcache.ini with new version
php-mysql (2:8.1+92ubuntu1) wird eingerichtet ...
php8.1-cli (8.1.2-1ubuntu2.11) wird eingerichtet ...
update-alternatives: /usr/bin/php8.1 wird verwendet, um /usr/bin/php (php) im automatischen Modus bereitzustellen
update-alternatives: /usr/bin/phar8.1 wird verwendet, um /usr/bin/phar (phar) im automatischen Modus bereitzustellen
update-alternatives: /usr/bin/phar.phar8.1 wird verwendet, um /usr/bin/phar.phar (phar.phar) im automatischen Modus bereitzustellen

Creating config file /etc/php/8.1/cli/php.ini with new version
libapache2-mod-php8.1 (8.1.2-1ubuntu2.11) wird eingerichtet ...

Creating config file /etc/php/8.1/apache2/php.ini with new version
Module mpm_event disabled.
Enabling module mpm_prefork.
apache2_switch_mpm Switch to prefork
apache2_invoke: Enable module php8.1
php8.1 (8.1.2-1ubuntu2.11) wird eingerichtet ...
libapache2-mod-php (2:8.1+92ubuntu1) wird eingerichtet ...
php (2:8.1+92ubuntu1) wird eingerichtet ...
Trigger für man-db (2.10.2-1) werden verarbeitet ...
Trigger für php8.1-cli (8.1.2-1ubuntu2.11) werden verarbeitet ...
Trigger für libapache2-mod-php8.1 (8.1.2-1ubuntu2.11) werden verarbeitet ...

Anhand der Ausgabe wird ersichtlich, dass neben den angegebenen Modulen noch eine Reihe weiterer PHP-Module installiert werden. Die Module werden aktiviert und gleichzeitige wird die Konfigurationsdatei php.ini erstellt.

Schritt 6: Überprüfen Sie die PHP-Installation

Geben Sie den folgenden Befehl ein, um eine PHP-Info-Seite zu erstellen und zu überprüfen, ob PHP ordnungsgemäß funktioniert:

sudo nano /var/www/html/info.php

Sollte Sie bei der Ausführung des Befehls folgende Fehlermeldung erhalten

sudo: nano: command not found

bedeutet dies, dass nano noch nicht auf Ihrem System installiert ist. Installieren Sie dann zuerst nano mit folgenden Befehl, danach lässt sich nano mit dem zuvor genannten Befehl aufrufen.

sudo apt install nano

Fügen Sie den folgenden Code in die Datei ein und speichern Sie sie:

<?php
  phpinfo();
?>
Info

Die Funktion phpinfo() ist eine in PHP integrierte Funktion, mit der Sie Informationen über die PHP-Installation auf Ihrem Webserver anzeigen können. Wenn phpinfo() aufgerufen wird, werden detaillierte Informationen zur PHP-Konfiguration und -Einstellungen angezeigt, einschließlich installierter PHP-Versionen, aktivierter Erweiterungen, Serverinformationen, Umgebungsvariablen und mehr.

Die Ausgabe von phpinfo() erfolgt in Form einer HTML-Seite, die in einem Webbrowser angezeigt wird. Die Informationen werden prägnant dargestellt, sodass Entwickler wichtige Details zu ihrer PHP-Umgebung sehen und überwachen können.

Die Funktion phpinfo() ist besonders nützlich, um zu überprüfen, ob Sie die richtige PHP-Version installiert haben, alle erforderlichen Erweiterungen aktiviert sind und ob Ihre Serverkonfiguration den Anforderungen Ihrer Anwendung entspricht. Es ist auch nützlich, um Informationen über PHP-Module, Einstellungen und Laufzeitumgebungen zu erhalten, die bei der Fehlerbehebung und Leistungsoptimierung hilfreich sein können.

Es ist wichtig, phpinfo() nicht in einer Produktionsumgebung zu verwenden, da dadurch vertrauliche Informationen über Ihren Server verloren gehen können. Verwenden Sie es stattdessen nur zu Test- und Entwicklungszwecken, um Ihre PHP-Konfiguration zu überprüfen und zu debuggen. Nachdem die erforderlichen Informationen gesammelt wurden, sollte die phpinfo()-Ausgabe entfernt oder für den öffentlichen Zugriff gesperrt werden, um die Sicherheit Ihres Servers zu gewährleisten. 

Öffnen Sie einen Webbrowser und geben Sie die IP-Adresse Ihres Servers gefolgt von "/info.php" ein. Sie sollten eine Seite mit ausführlichen Informationen zu PHP sehen.

Schritt 7: Entfernen Sie die PHP-Info-Seite

Aus Sicherheitsgründen entfernen wir die Datei info.php wieder. Geben Sie den folgenden Befehl ein, um die PHP-Info-Seite zu entfernen:

sudo rm /var/www/html/info.php

Sie haben den Apache-Webserver und PHP erfolgreich auf Ihrem Ubuntu-System installiert. Sie können jetzt Ihre PHP-Anwendung oder Website auf Ihrem Server hosten. Stellen Sie sicher, dass Sie die Datei in das Verzeichnis „/var/www/html“ hochladen, damit Sie über einen Webbrowser darauf zugreifen können.