0 1 0

Apache2 auf Ubuntu 16.04 installieren

vom gridscale Team Apache Ubuntu WebServer

Einführung

Eine Webseite ist heutzutage das Aushängeschild jeder Firma, kaum ein Unternehmen verzichtet auf die Möglichkeit im Internet Präsenz zu zeigen. Doch wie bringe ich einen Server dazu eine Webseite anzuzeigen? Darauf gibt es viele richtige Antworten. Eine davon zeige ich dir heute. In diesem Artikel erkläre ich dir Schritt für Schritt, wie du auf einem Ubuntu-Server Apache2 installierst und das Ganze dann noch mit einem kostenlosen SSL-Zertifikat von Let’s Encrypt versiehst. Das ist weniger Aufwand als du vielleicht meinst. Aber eins nach dem anderen.

Ubuntu-Server für Apache2 vorbereiten

Erstelle dir bei einem Cloud-Provider deiner Wahl schnell einen Server mit Ubuntu 16.04 LTS – bei gridscale brauchst du dafür nur wenige Sekunden. Verbinde dich nach dem Start des Servers via SSH als Root und aktualisiere deinen Server mit folgendem Befehl:

apt -y update && apt -y upgrade && apt -y dist-upgrade

Anschließend installierst du dir noch Apache und Let’s Encrypt über apt.

apt -y install apache2 python-letsencrypt-apache

Ist die Installation fertig, kannst du dir bereits eine Test-Webseite auf deinem Server ansehen. Öffne dazu einfach deinen Browser und gebe als Adresse die IP deines Servers ein. Jetzt zeig ich dir, wie du das Ganze noch ordentlich absicherst und an welche Stelle du deinen Content einfügen kannst.

Eine Domain der Webseite zuordnen

Hast du schon eine Domain oder eine Sub-Domain für deine Webseite? Dann setze jetzt ein A-Record auf die IPv4 Adresse und einen AAAA-Record auf die IPv6 Adresse deines Servers in den DNS Einstellungen deines Domainanbieters. Je nach Anbieter kann das Ändern der DNS-Einstellungen wenige Sekunden oder mehrere Stunden in Anspruch nehmen. Infos darüber erhältst du bei deinem Provider. Um zu testen, ob deine Domain bereits auf deinen Server umleitet, kannst du diese in deinem Browser öffnen. Siehst du jetzt den gleichen Inhalt wie mit der IP, ist das schon mal ein gutes Zeichen.

In der jetzigen Konfiguration würde jede Domain, die auf den Server zeigt auf immer die gleiche Webseite zeigen. Da du aber eventuell mehrere Webseiten auf einem Server betreiben willst, empfehle ich dir, die Domain einem vHost zuzuordnen. Erstelle dir dazu eine Config-Datei in dem Editor deiner Wahl, nehme einfachheitshalber die Default-Config als Vorlage.

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/meine-domain.conf

Du kannst deiner Config-Datei natürlich jeden Namen geben. Wichtig ist nur, dass du hinterher weißt, welche Datei welcher Domain zuzuordnen ist. Als nächstes bearbeitest du die Config-Datei mit einem Editor deiner Wahl, der Einfachheit halber wähle ich nano.

nano /etc/apache2/sites-available/meine-domain.conf

Gleich in der ersten Zeile wird anstelle des Sternchens deine Top-Level- oder Sub-Domain eingetragen. Achtung: Hier bitte nicht „www.meine-domain.de“ eintragen, sondern „meine-domain.de“ bzw. „meine.sub-domain.de“. Außerdem wird die Domain noch unter #ServerName eingetragen, einfach „www.example.com“ durch deine Domain ersetzen. Hier dann bitte auch wieder auf das „www.“ verzichten. Damit die Webseite aber dennoch unter der altmodischen www.meine-domain.de-Adresse zu erreichen ist, wird ein Alias eingetragen. Dazu wird unter dem Eintrag ServerName ein weiterer Eintrag erstellt: ServerAlias www.meine-domain.de. Weiterhin solltest du bei ServerAdmin eine gültige E-Mail-Adresse hinterlegen und unter DocumentRoot den Pfad zu deinem Web-Root Verzeichnis festlegen. Dieser kann zum Beispiel /var/www/meine-domain/ heißen. Die restlichen Einstellungen werden erst später interessant.

Nachdem wir jetzt eine Config haben, die auf einen nichtexistierenden Ordner zeigt, holen wir genau das noch schnell nach.

mkdir /var/www/meine-domain && chown www-data:www-data /var/www/meine-domain/

Achte bitte auf die exakte Schreibweise des Ordners – er muss exakt mit dem Pfad in der Config übereinstimmen, auch Groß- und Kleinschreibung sind relevant. Als nächstes aktivierst du die neue Config und deaktivierst die alte:

a2ensite meine-domain.config && a2dissite 000-default .conf

Anschließend muss Apache noch einmal neu gestartet werden:

service apache2 restart

Jetzt erstellst du dir noch ein SSL-Zertifikat für deine Webseite. Dies trägt nicht nur allgemein zur Sicherheit bei, auch im Google-Ranking sind sichere Seiten beliebter als unsichere.

Dazu führst du folgenden Befehl aus, wenn du eine Sub-Domain hast:

letsencrypt --apache -d meine.sub-domain.de

Wenn du eine Top-Level-Domain hast, sieht der Befehl wie folgt aus:

letsencrypt --apache -d meine-domain.de -d www.meine-domain.de

Hat alles funktioniert, solltest du jetzt nach deiner E-Mail-Adresse gefragt werden. Diese ist nur für die Erinnerung zur Erneuerung deiner Zertifikate und zum Wiederherstellen dieser wichtig. Du erhältst keine Werbung oder Spam an diese Adresse. Im nächsten Schritt wirst du gebeten die AGBs von Let’s Encrypt zu akzeptieren. Im letzten Schritt wirst du gefragt, wie du deinen Server konfigurieren möchtest. In diesem wählst du bitte „Secure“ aus. Dies sorgt dafür, dass alle HTTP Anfragen automatisch nach HTTPS weitergeleitet werden. Anschließend wird dir zu deinem neuen Zertifikat gratuliert. Dieses ist jetzt 90 Tage gültig und muss dann erneuert werden. Hierzu einfach den folgenden Befehl eingeben:

letsencrypt renew

Wenn es soweit ist, wirst du per E-Mail informiert.

Server absichern

Um deinen Server noch etwas sicherer zu machen, solltest du alle unnötigen Ports schließen. Damit du dich nicht ausversehen beim Schließen der Ports selbst aussperrst, gebe bitte folgende Befehle in exakt dieser Reihenfolge ein:

ufw allow ssh
ufw allow http
ufw allow https
ufw enable

Bestätige die anschließende Frage mit Y für yes. Jetzt sind wir schon ein ganzes Stück weiter. Zum jetzigen Zeitpunkt verfügt dein Server über eine direkte Zuordnung zu deiner Domain, kann sich mit einem SSL-Zertifikat präsentieren und es ist kein unnötiger Port mehr offen. Alles was noch fehlt ist Content. Diesen lädst du in das von dir erstellte Verzeichnis /var/www/meine-domain/ hoch, anschließend ist er sofort verfügbar.

Wenn du wissen willst, wie du deinen Server durch den Einsatz von SSH-Keys noch sicherer machen kannst, dann schau dir doch diesen Artikel mal an: SSH-Keys auf Ubuntu 16.04 erstellen

Schade, dass dir der Artikel nicht gefallen hat.
Was sollten wir deiner Meinung nach besser machen?

Vielen Dank für dein Feedback!
Wir melden uns bei dir, sobald der Artikel zu deinem Wunschthema fertig ist.

Übrigens: kennst du schon unser Tutorial zum Thema TYPO3 7 auf Ubuntu 16.04 installieren?