====== Installation ======
Die Schritte werden auf dem Ubuntu Server in der Konsole ausgeführt. Als erstes die Root-Rechte am System einfordern:
sudo -s
Anschließend muss dies noch mit dem Passwort des Users bestätigt werden (der User muss Teil der Gruppe sudoers sein).\\
===== Installation der Basiskomponenten =====
apt update && apt install gnupg gnupg2 bzip2 pigz lsb-release wget imagemagick libmagickcore-7.q16-10-extra curl rsyslog dialog apt-utils cron
===== Webserver: nginx =====
Schlüssel des Hersteller-Repositories hinzufügen:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Paketquelle nginx hinzufügen:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/ubuntu $(lsb_release -cs) nginx" | tee /etc/apt/sources.list.d/nginx.list
Installation nginx:
apt update && apt install nginx
Dienst aktivieren und nginx neu starten:
systemctl enable nginx.service
service nginx restart
===== Datenbank: MariaDB =====
Manuell ausführen:
nano /etc/apt/sources.list.d/mariadb.list
Inhalt einfügen:
deb [arch=amd64 signed-by=/etc/apt/keyrings/mariadb.gpg] https://mirror.netcologne.de/mariadb/repo/11.4/ubuntu jammy main
Und speichern
GPG‑Key importieren:
mkdir -p /etc/apt/keyrings
curl -fsSL https://mariadb.org/mariadb_release_signing_key.asc \
| gpg --dearmor -o /etc/apt/keyrings/mariadb.gpg
Repo‑Datei anpassen:
sed -i 's|deb |deb [signed-by=/etc/apt/keyrings/mariadb.gpg] |' /etc/apt/sources.list.d/mariadb.list
Installation MariaDB:
apt update && apt install mariadb-server
===== PHP installieren =====
Installation aller benötigten PHP-Komponenten:
apt update && apt install php-fpm php-gd php-curl php-xml php-zip php-intl php-mbstring php-bz2 php-json php-apcu php-imagick php-gmp php-bcmath php-redis php-mysql
===== acme.sh für Let’s Encrypt Zertifikate =====
Benutzer letsencrypt anlegen (alle Angaben und die Abfrage zum Passwort des Users sind einfach mit ENTER zu bestätigen):
adduser --disabled-password letsencrypt
Den Benutzer letsencrypt der Gruppe www-data hinzufügen:
usermod -a -G www-data letsencrypt
Benutzer letsencrypt berechtigen, den Webserver nginx neu zu laden:
visudo
Hier ist ganz am Ende der Datei folgende Zeile einfügen:
letsencrypt ALL=NOPASSWD: /bin/systemctl reload nginx.service
In den Kontext des Benutzers letsencrypt wechseln:
su - letsencrypt
Webserver mit dem Benutzer letsencrypt neu laden:
sudo /bin/systemctl reload nginx.service
acme.sh installieren (im Kontext des Benutzers letsencrypt):
curl https://get.acme.sh | sh
Abmelden des Benutzers letsencrypt:
Exit
===== Redis =====
Installation Redis:
apt install redis-server