So installieren Sie den Apache-Webserver unter Ubuntu 16.04

Einführung

Der Apache HTTP-Server ist der weltweit am häufigsten verwendete Webserver. Es bietet viele leistungsstarke Funktionen, einschließlich dynamisch ladbarer Module, robuster Medienunterstützung und umfassender Integration in andere gängige Software.

In diesem Handbuch wird erläutert, wie Sie einen Apache-Webserver auf Ihrem Ubuntu 16.04-Server installieren.

Voraussetzungen

Bevor Sie mit diesem Handbuch beginnen, sollten Sie einen regulären Benutzer ohne Rootberechtigung mitsudo-Berechtigungen auf Ihrem Server konfiguriert haben. Darüber hinaus müssen Sie eine grundlegende Firewall konfigurieren, um nicht unbedingt erforderliche Ports zu blockieren. Sie können lernen, wie Sie ein reguläres Benutzerkonto konfigurieren und eine Firewall für Ihren Server einrichten, indem Sie unsereninitial server setup guide for Ubuntu 16.04 folgen.

Wenn Sie über ein Konto verfügen, melden Sie sich als Benutzer ohne Rootberechtigung an, um zu beginnen.

Schritt 1: Installieren Sie Apache

Apache ist in den Standard-Software-Repositorys von Ubuntu verfügbar, daher werden wir es mit herkömmlichen Paketverwaltungstools installieren.

Wir werden zunächst den lokalen Paketindex aktualisieren, um die neuesten Upstream-Änderungen zu berücksichtigen. Anschließend können wir das Paketapache2installieren:

sudo apt-get update
sudo apt-get install apache2

Nach Bestätigung der Installation installiertapt-get Apache und alle erforderlichen Abhängigkeiten.

Schritt 2: Passen Sie die Firewall an

Bevor wir Apache testen können, müssen wir unsere Firewall so ändern, dass von außen auf die Standard-Webports zugegriffen werden kann. Vorausgesetzt, Sie haben die Anweisungen in den Voraussetzungen befolgt, sollte eine UFW-Firewall konfiguriert sein, um den Zugriff auf Ihren Server einzuschränken.

Während der Installation registriert sich Apache bei UFW, um einige Anwendungsprofile bereitzustellen. Wir können diese Profile verwenden, um den Prozess des Aktivierens oder Deaktivierens des Zugriffs auf Apache über unsere Firewall zu vereinfachen.

Wir können die Anwendungsprofile vonufwauflisten, indem wir Folgendes eingeben:

sudo ufw app list

Sie sollten eine Liste der Anwendungsprofile erhalten:

OutputAvailable applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

Wie Sie sehen, gibt es drei Profile für Apache:

  • Apache: Dieses Profil öffnet nur Port 80 (normaler, unverschlüsselter Webverkehr)

  • Apache Full: Dieses Profil öffnet sowohl Port 80 (normaler, unverschlüsselter Webverkehr) als auch Port 443 (TLS / SSL-verschlüsselter Verkehr).

  • Apache Secure: Dieses Profil öffnet nur Port 443 (TLS / SSL-verschlüsselter Verkehr)

Für unsere Zwecke erlauben wir eingehenden Datenverkehr für dasApache Full-Profil, indem wir Folgendes eingeben:

sudo ufw allow 'Apache Full'

Sie können die Änderung überprüfen, indem Sie Folgendes eingeben:

sudo ufw status

In der angezeigten Ausgabe sollte HTTP-Verkehr zulässig sein:

OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Apache Full                ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Apache Full (v6)           ALLOW       Anywhere (v6)

Wie Sie sehen, wurde das Profil aktiviert, um den Zugriff auf den Webserver zu ermöglichen.

Schritt 3: Überprüfen Sie Ihren Webserver

Am Ende des Installationsprozesses startet Ubuntu 16.04 Apache. Der Webserver sollte bereits in Betrieb sein.

Wir können mit dem Init-System vonsystemdüberprüfen, ob der Dienst ausgeführt wird, indem wir Folgendes eingeben:

sudo systemctl status apache2
Output● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Fri 2017-05-19 18:30:10 UTC; 1h 5min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4336 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
  Process: 4359 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
    Tasks: 55
   Memory: 2.3M
      CPU: 4.094s
   CGroup: /system.slice/apache2.service
           ├─4374 /usr/sbin/apache2 -k start
           ├─4377 /usr/sbin/apache2 -k start
           └─4378 /usr/sbin/apache2 -k start

May 19 18:30:09 ubuntu-512mb-nyc3-01 systemd[1]: Stopped LSB: Apache2 web server.
May 19 18:30:09 ubuntu-512mb-nyc3-01 systemd[1]: Starting LSB: Apache2 web server...
May 19 18:30:09 ubuntu-512mb-nyc3-01 apache2[4359]:  * Starting Apache httpd web server apache2
May 19 18:30:09 ubuntu-512mb-nyc3-01 apache2[4359]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
May 19 18:30:10 ubuntu-512mb-nyc3-01 apache2[4359]:  *
May 19 18:30:10 ubuntu-512mb-nyc3-01 systemd[1]: Started LSB: Apache2 web server.

Wie Sie oben sehen können, scheint der Dienst erfolgreich gestartet worden zu sein. Der beste Weg, dies zu testen, ist jedoch, eine Seite von Apache anzufordern.

Sie können auf die Standard-Apache-Startseite zugreifen, um zu bestätigen, dass die Software ordnungsgemäß ausgeführt wird. Sie können über den Domänennamen oder die IP-Adresse Ihres Servers darauf zugreifen.

Wenn Sie DigitalOcean verwenden und keinen Domainnamen für Ihren Server eingerichtet haben, können Sie unserem Leitfadenhow to set up a domain with DigitalOcean folgen, um einen einzurichten.

Wenn Sie keinen Domainnamen für Ihren Server einrichten möchten, können Sie die öffentliche IP-Adresse Ihres Servers verwenden. Wenn Sie die IP-Adresse Ihres Servers nicht kennen, können Sie sie auf verschiedene Arten über die Befehlszeile abrufen.

Geben Sie dies an der Eingabeaufforderung Ihres Servers ein:

hostname -I

Sie erhalten einige durch Leerzeichen getrennte Adressen zurück. Sie können jeden in Ihrem Webbrowser ausprobieren, um zu sehen, ob er funktioniert.

Eine Alternative besteht darin, Folgendes einzugeben:

sudo apt-get install curl
curl -4 icanhazip.com

Wenn Sie die IP-Adresse oder Domain Ihres Servers haben, geben Sie diese in die Adressleiste Ihres Browsers ein:

http://server_domain_or_IP

Sie sollten die Standardwebseite von Ubuntu 16.04 Apache sehen, die ungefähr so ​​aussehen sollte:

Apache default page

Diese Seite ist nur enthalten, um zu zeigen, dass Apache korrekt funktioniert. Es enthält auch einige grundlegende Informationen zu wichtigen Apache-Dateien und -Verzeichnissen.

Schritt 4: Verwalten Sie den Apache-Prozess

Nachdem Sie Ihren Webserver eingerichtet haben, können wir einige grundlegende Verwaltungsbefehle durchgehen.

Um Ihren Webserver zu stoppen, können Sie Folgendes eingeben:

sudo systemctl stop apache2

Geben Sie Folgendes ein, um den Webserver nach dem Stoppen zu starten:

sudo systemctl start apache2

Geben Sie Folgendes ein, um den Dienst zu beenden und erneut zu starten:

sudo systemctl restart apache2

Wenn Sie lediglich Konfigurationsänderungen vornehmen, kann Apache häufig neu laden, ohne dass Verbindungen unterbrochen werden. Dazu können Sie diesen Befehl verwenden:

sudo systemctl reload apache2

Standardmäßig ist Apache so konfiguriert, dass es automatisch startet, wenn der Server startet. Wenn Sie dies nicht möchten, können Sie dieses Verhalten deaktivieren, indem Sie Folgendes eingeben:

sudo systemctl disable apache2

Um den Dienst wieder für den Start beim Start zu aktivieren, können Sie Folgendes eingeben:

sudo systemctl enable apache2

Apache sollte jetzt automatisch starten, wenn der Server erneut startet.

Schritt 5: Machen Sie sich mit wichtigen Apache-Dateien und -Verzeichnissen vertraut

Nachdem Sie nun wissen, wie der Dienst selbst verwaltet wird, sollten Sie sich einige Minuten Zeit nehmen, um sich mit einigen wichtigen Verzeichnissen und Dateien vertraut zu machen.

Inhalt

  • /var/www/html: Der eigentliche Webinhalt, der standardmäßig nur aus der zuvor angezeigten Apache-Standardseite besteht, wird aus dem Verzeichnis/var/www/html bereitgestellt. Dies kann durch Ändern der Apache-Konfigurationsdateien geändert werden.

Serverkonfiguration

  • /etc/apache2: Das Apache-Konfigurationsverzeichnis. Alle Apache-Konfigurationsdateien befinden sich hier.

  • /etc/apache2/apache2.conf: Die Hauptkonfigurationsdatei von Apache. Dies kann geändert werden, um Änderungen an der globalen Apache-Konfiguration vorzunehmen. Diese Datei ist für das Laden vieler anderer Dateien im Konfigurationsverzeichnis verantwortlich.

  • /etc/apache2/ports.conf: Diese Datei gibt die Ports an, die Apache abhört. Standardmäßig überwacht Apache Port 80 und zusätzlich Port 443, wenn ein Modul aktiviert ist, das SSL-Funktionen bereitstellt.

  • /etc/apache2/sites-available/: Das Verzeichnis, in dem pro Standort „Virtuelle Hosts“ gespeichert werden können. Apache verwendet die in diesem Verzeichnis gefundenen Konfigurationsdateien nur, wenn sie mit dem Verzeichnissites-enabledverknüpft sind (siehe unten). In der Regel wird die gesamte Serverblockkonfiguration in diesem Verzeichnis durchgeführt und anschließend durch Verknüpfen mit dem anderen Verzeichnis mit dem Befehla2ensite aktiviert.

  • /etc/apache2/sites-enabled/: Das Verzeichnis, in dem pro Standort aktivierte „virtuelle Hosts“ gespeichert sind. In der Regel werden diese durch Verknüpfen mit Konfigurationsdateien im Verzeichnissites-available mita2ensite erstellt. Apache liest die Konfigurationsdateien und Links in diesem Verzeichnis, wenn es startet oder neu lädt, um eine vollständige Konfiguration zu kompilieren.

  • /etc/apache2/conf-available/,/etc/apache2/conf-enabled/: Diese Verzeichnisse haben dieselbe Beziehung wie die Verzeichnissesites-available undsites-enabled, werden jedoch zum Speichern von Konfigurationsfragmenten verwendet, die nicht zu einem virtuellen Host gehören. Dateien im Verzeichnisconf-available können mit dem Befehla2enconf aktiviert und mit dem Befehla2disconf deaktiviert werden.

  • /etc/apache2/mods-available/,/etc/apache2/mods-enabled/: Diese Verzeichnisse enthalten die verfügbaren bzw. aktivierten Module. Dateien mit der Endung.load enthalten Fragmente zum Laden bestimmter Module, während Dateien mit der Endung.conf die Konfiguration für diese Module enthalten. Module können mit den Befehlena2enmod unda2dismod aktiviert und deaktiviert werden.

Server-Protokolle

  • /var/log/apache2/access.log: Standardmäßig wird jede Anforderung an Ihren Webserver in dieser Protokolldatei aufgezeichnet, sofern Apache nicht anders konfiguriert ist.

  • /var/log/apache2/error.log: Standardmäßig werden alle Fehler in dieser Datei aufgezeichnet. Die AnweisungLogLevel in der Apache-Konfiguration gibt an, wie detailliert die Fehlerprotokolle sein sollen.

Fazit

Nachdem Sie Ihren Webserver installiert haben, haben Sie viele Optionen für die Art des Inhalts und die Technologien, die Sie verwenden möchten, um eine umfassendere Erfahrung zu erzielen.

Lernehow to use Apache Virtual Hosts here. Wenn Sie einen vollständigeren Anwendungsstapel erstellen möchten, lesen Sie diesen Artikel zuhow to configure a LAMP stack on Ubuntu 16.04.

Related