Installation Debian-Webserver mit simpler Firewall, PHP7, MariaDB und Let’s Encrypt-Zertifikat

Da ich auch nicht mehr der Jüngste bin und gern Dinge vergesse, hier mal eine Zusallenstellung der Befehle für die Installation eines simplen Webservers. Voraussetzung ist ein aktuelles Debian Stretch – ich habe meine Server (und auch diesen hier) in der Cloud von hetzner.de

Aus Gründen der Einfachheit und der persönlichen Faulheit einfach «nacheinander weg» der Code mit entsprechenden Kommentaren dazu. Eventuell passe ich es später noch mal an, aber für den Moment muss das erstemal reichen.

apt-get update && apt-get upgrade
apt-get install nano mc zip unzip apache2 libapache2-mod-php7.0 php7.0 php7.0-mysql mariadb-client mariadb-server

Aktualisieren der Pakete und Installieren von nützlichen Tools sowie Webserver, PHP und Datenbank

mysql_secure_installation

Damit wird die MySQL-Installation abgesichert. Bei mir war es etwas zu sicher – mein root-Benutzer war in der DB nicht mehr vorhanden. Abhilfe schafft der hier:

/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables --user=root --skip-networking &
mysql -u irgendeinbenutzer

Dann im MySQL:

FLUSH PRIVILEGES;
CREATE USER root;
SET PASSWORD FOR root = PASSWORD('NeuesKennwort');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'NeuesKennwort' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
FLUSH PRIVILEGES;
QUIT

Und danach auf der Konsole noch ein

/etc/init.d/mysql restart

An dem Punkt blieb der Server bei mir hängen – Montagsmodell 😉 Habe ihn dann mittels CTRL+C aus dem Befehl geholt und einen reboot gemacht – danach war mein root-User wieder da.

Als nächstes geht es um die Absicherung bzw. Verschlüsselung der Webseiten, besser noch des ein- und ausgehenden Verkehrs vom Webserver. Mit meinem Lieblings-Editor die sources.list öffnen:

nano /etc/apt/sources.list

Und dort das folgende am Ende eintragen:

# Backport-Sources
deb http://ftp.debian.org/debian stretch-backports main

gefolgt von einem Update der Paketliste dann die Installation vom Certbot

apt-get update && apt-get install python-certbot-apache -t stretch-backports

Dann noch den Servernamen in der Apache-Config korrekt benennen (muss auf die IP des Servers auflösen)

nano /etc/apache2/sites-available/000-default.conf

Und mittels

/etc/init.d/apache2 restart
certbot --apache -d site.com -d www.site.com

kommt das Ganze zum Laufen. Noch ein paar Sachen bestätigen, die Auswahl treffen ob alles auf HTTPS umgeleitet werden soll (macht bei einer Neuinstallation Sinn) und dann verrät uns die folgende Meldung, dass wir es geschafft haben:

Im nächsten Eintrag geht es dann um die (simple) Firewall.

Dieser Beitrag wurde unter Apache, Debian, Let's Encrypt, Linux, Server veröffentlicht. Setzen Sie ein Lesezeichen auf den Permalink.

Schreiben Sie einen Kommentar

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