Serverkonfiguration: hosts, Docker, .env, ads.txt
Server und Container werden über kleine Konfigurationsdateien eingerichtet, etwa /etc/hosts, Dockerfile oder .env. Die Seite enthält Beispiele für hosts-Einträge, das Apache-LogFormat combined, eine auth.log-Zeile, ein Dockerfile für Node, .dockerignore, docker-compose für Redis, .env.example und ads.txt. Zugangsdaten und IDs sind Platzhalter, Hosts liegen in reservierten Bereichen.
20 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf. Darunter: 10× Reservierter Bereich, 1× Öffentliches Beispiel, 1× Absichtlich ungültig.
/etc/hosts-EinträgeReservierter Bereich
127.0.0.1 localhost ::1 localhost 192.0.2.10 server1.example.com server1
Namen zu Adressen im Hostsystem.
/etc/resolv.confReservierter Bereich
nameserver 192.0.2.53 nameserver 198.51.100.53 search example.com …
Zwei Nameserver und Suchdomain.
Apache LogFormat combined (Definition)Öffentliches Beispiel
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combinedGleiche Feldfolge wie bei nginx.
Apache-Fehlerlog (2.4): Zugriff verweigertReservierter Bereich
[Fri Oct 09 08:15:32.123456 2026] [authz_core:error] [pid 1234:tid 5678] [client 192.0.2.10:54321] AH01630: client denied by server configuration: /var/www/html/geheim
Wochentag nachgerechnet (09.10.2026).
auth.log: erfolgreiche AnmeldungReservierter Bereich
Oct 9 08:15:32 server1 sshd[1234]: Accepted publickey for benutzer from 192.0.2.10 port 54321 ssh2: ED25519 SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Fingerprint ist Platzhalter.
auth.log: fehlgeschlagene AnmeldungenReservierter Bereich
Oct 9 08:15:30 server1 sshd[1230]: Failed password for invalid user test from 192.0.2.99 port 40001 ssh2 Oct 9 08:15:32 server1 sshd[1231]: Failed password for invalid user admin from 192.0.2.99 port 40002 ssh2 Oct 9 08:15:34 server1 ssh …
Erfundener Ausschnitt für Fail2ban-Regeln.
Dockerfile für eine Node-Anwendung
FROM node:22-alpine WORKDIR /app COPY package*.json ./ …
Mehrstufig wäre kleiner; hier die einfache Form. Läuft als Benutzer node.
Dockerfile für eine Node-Anwendung (Datei)
FROM node:22-alpine WORKDIR /app COPY package*.json ./ …
Dieselbe Vorlage als Datei.
.dockerignore
node_modules .git .env …
Hält Geheimnisse und Ballast aus dem Image.
docker-compose.yml: Web und Datenbank (Platzhalter)
services: web: build: . …Passwort ist Platzhalter und gehört in eine .env-Datei.
docker-compose.yml: RedisReservierter Bereich
services: redis: image: redis:7 …Port nur an Loopback gebunden.
Apache: VirtualHostReservierter Bereich
<VirtualHost *:80> ServerName example.com ServerAlias www.example.com …Einfacher Host.
.env.example (Platzhalter)Reservierter Bereich
NODE_ENV=development PORT=3000 DATABASE_URL=postgres://benutzer:PASSWORT@example.com:5432/beispiel …
Nur Platzhalter; Host example.com.
.env.example (Datei)Reservierter Bereich
NODE_ENV=development PORT=3000 DATABASE_URL=postgres://benutzer:PASSWORT@example.com:5432/beispiel …
Dieselbe Vorlage als Datei (.env.example).
ads.txt mit Platzhalter-EintragAbsichtlich ungültig
ads.example.com, pub-0000000000000000, DIRECT
Format: Werbesystem-Domain, Publisher-ID, Beziehung. Domain und ID sind Platzhalter.
humans.txtReservierter Bereich
/* TEAM */ Name: Erika Beispiel Kontakt: kontakt@example.com …
Freiwillige Datei; Person fiktiv.
systemd: Service-Unit
[Unit] Description=Beispiel-Anwendung After=network.target …
Gehört nach /etc/systemd/system/beispiel.service.
systemd: Timer-Unit (täglich 03:00)
[Unit] Description=Tägliche Sicherung …
Gehört zu einer gleichnamigen .service-Unit.
logrotate-Konfiguration
/var/log/beispiel/*.log { weekly rotate 8 …Wöchentlich, acht Generationen.
.gitignore für Geheimnisse und Build-Ordner
node_modules/ .env .env.* …
Hält .env aus dem Repository, erlaubt aber .env.example.