-
Was ist ein vServer?
-
vServer und Sicherheit
-
vServer - Anwendungsfälle
-
vServer bei dogado
-
vServer und Plesk
-
vServer Betriebssyteme
-
vServer Glossar
0. Überblick
- Verwendetes System: Debian 11 64 bit
- Genutzter User: Ich nehme alles als „root“ vor
- Testsystem: vServer XXL 2.0
- Zeitdauer: ca. 5 Minuten
- Schwierigkeit: Einfach. Nur Code kopieren 😉
- Besonderheiten:
- Grundlage ist folgende Anleitung: Traefik Reverseproxy installieren Diese Anleitung muss zuerst ausgeführt werden.
- Die Installation von Docker / Docker Compose wird hier vorausgesetzt.
1. Typo3 installieren
1.1 Einleitung
Typo3 (https://typo3.com) ist eine open source Content Management System (CMS). Laut typo3.com nutzen derzeit 500.000 Webseiten im Internet dieses CMS und gibt ca. 1500 Erweiterungen dazu. Typo3 ist ein sehr mächtiges CMS, welches jedoch keinen so leichten Einstieg wie beispielsweise Wordpress bietet.
1.2 Infos zu yml Dateien
Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Ihr könnt den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator
1.3 Vorbereitung
Diese Anleitung basiert auf dem aktuellen Debian 10 Betriebssystem. Typo3 werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.
Um Typo3 neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik. Die Anleitung dazu finden Sie hier: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren
1.3.1 Verzeichnis erstellen
Wir erstellen uns ein neues Verzeichnis, in welchem wir später alle Daten von Typo3 abspeichen. Dazu geben wir folgendes in der Konsole ein:
mkdir -p /opt/containers/typo3/{database
,fileadmin,typo-build,typo3conf,uploads}
Ihr könnt hier auch ein anderes Verzeichnis verwenden. Müsst dann aber die gesamte Anleitung entsprechend anpassen.
1.3.2 docker-compose.yml erstellen
Nun können wir mit der eigentlichen „Installation“ von Typo3 beginnen. Dazu öffnet ihr folgende Datei:
nano /opt/containers/typo3/docker-compose.yml
Nun kopiert ihr folgenden Code in die Datei. Dieser Code ist unser Bauplan für unseren Typo3 Container.
version: '2'
services:
typo3-db:
image: mariadb:latest
container_name: typo3-db
environment:
- MARIADB_USER=typo3
- MARIADB_DATABASE=typo3
- MARIADB_PASSWORD=sicher12!
- MARIADB_CHARACTER_SET=utf8mb4
- MARIADB_COLLATE=utf8mb4_unicode_ci
- MARIADB_RANDOM_ROOT_PASSWORD=1
volumes:
- ./database
:/var
/lib/mysql
networks:
- default
restart: unless-stopped
typo3:
build: ./typo-build
container_name: typo3
restart: unless-stopped
volumes:
- ./fileadmin:/var
/www/html/fileadmin
- ./typo3conf:/var
/www/html/typo3conf
- ./uploads:/var
/www/html/uploads
networks:
- default
- proxy
depends_on:
- typo3-db
labels:
- "traefik.enable=true"
- "traefik.http.routers.typo3.entrypoints=http"
- "traefik.http.routers.typo3.rule=Host('typo.euredomain.de')" # Hier eure URL eingeben #
- "traefik.http.middlewares.typo3-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.typo3.middlewares=typo3-https-redirect"
- "traefik.http.routers.typo3-secure.entrypoints=https"
- "traefik.http.routers.typo3-secure.rule=Host('typo.euredomain.de')" # Hier eure URL eingeben #
- "traefik.http.routers.typo3-secure.tls=true"
- "traefik.http.routers.typo3-secure.tls.certresolver=http"
- "traefik.http.routers.typo3-secure.service=typo3"
- "traefik.http.services.typo3.loadbalancer.server.port=80"
- "traefik.docker.network=proxy"
- "traefik.http.routers.typo3-secure.middlewares=secHeaders@file"
networks:
proxy:
external: true
Nun müssen wir noch einiges anpassen.
1.3.3 Hostname anpassen
Nun müsst ihr noch den Hostnamen anpassen, über welchen später Moodle erreichbar sein soll.
Diese beiden Zeilen müsst ihr anpassen.
- "traefik.http.routers.typo3-app.rule=Host('typo.euredomain.de')"
- "traefik.http.routers.typo3-app-secure.rule=Host('typo.euredomain.de')"
In meinem Fall also:
- "traefik.http.routers.typo3.rule=Host('typo.testbereich.net')"
- "traefik.http.routers.typo3-secure.rule=Host('typo.testbereich.net')"
Wenn ihr Typo3 direkt auf eurer „Hauptdomain“ betreiben wollt, dann ändert ihr es folgendermaßen ab:
"traefik.http.routers.typo.rule=Host('www.euredomain.de','euredomain.de')"
"traefik.http.routers.typo-secure.rule=Host('www.euredomain.de','euredomain.de')"
1.3.4 Datenbank Passwort anpassen
Nachdem ihr den Hostnamen angepasst habt, müsst ihr noch das Datenbank Passwort anpassen. Vergebt ihr ein langes, sicheres Kennwort.
Folgende Zeile müsst ihr ändern:
- MARIADB_PASSWORD=sicher12!
Ich ändere also meine Kennwörter ab. Dies könnte beispielsweise so sein:
- MARIADB_PASSWORD=Fhas23!da4
1.3.5 Dockerfile anlegen
Nun legen wir noch die Datei an, welche später unseren Typo3 Container baut. Dazu gebt ihr folgendes ein:
nano /opt/containers/typo3/typo-build/Dockerfile
In die Datei kopiert ihr folgendes:
# Docker image for TYPO3 CMS
# Copyright (C) 2016-2020 Martin Helmich martin@helmich.me
# and contributors https://github.com/martin-helmich/docker-typo3/graphs/contributors
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see https://www.gnu.org/licenses/.
FROM php:7.4-apache-buster
LABEL maintainer="Martin Helmich typo3@martin-helmich.de"
# Install TYPO3
RUN apt-get update && \
apt-get
install -y --no-install-recommends \
wget \
# Configure PHP
libxml2-dev libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libpq-dev \
libzip-dev \
zlib1g-dev \
# Install required 3rd party tools
graphicsmagick && \
# Configure extensions
docker-php-ext-configure gd --with-libdir=/usr/include/ --with-jpeg --with-freetype && \
docker-php-ext-install -j$(nproc) mysqli soap gd zip opcache intl pgsql pdo_pgsql && \
echo 'always_populate_raw_post_data
= -1\nmax_execution_time = 240\nmax_input_vars = 1500\nupload_max_filesize = 32M\npost_max_size = 32M' > /usr/local/etc/php/conf.d/typo3.ini && \
# Configure Apache as needed
a2enmod rewrite && \
apt-get
clean && \
apt-get
-y purge \
libxml2-dev libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libzip-dev \
zlib1g-dev && \
rm -rf /var
/lib/apt/lists/* /usr/src/*
RUN cd /var
/www/html && \
wget
-O download.tar.gz https://get.typo3.org/10.4.17 && \
echo "05a9f6352b2506b2a3446d0e8d18cefb7ed5e25c0ee5f1aff80ccf68fdc775c6 download.tar.gz" > download.tar.gz.sum && \
sha256sum -c download.tar.gz.sum && \
tar -xzf download.tar.gz && \
rm download.* && \
ln -s typo3_src-* typo3_src && \
ln -s typo3_src/index.php && \
ln -s typo3_src/typo3 && \
cp typo3/sysext/install/Resources/Private/FolderStructureTemplateFiles/root-htaccess .htaccess && \
mkdir typo3temp && \
mkdir typo3conf && \
mkdir fileadmin && \
mkdir uploads && \
touch FIRST_INSTALL && \
chown -R www-data
. .
1.3.6 Ordnerberechtigungen anpassen
Nun passen wir noch die Berechtigungen an, damit Typo3 später auf unsere Ordner zugreifen kann. Gebt dazu folgendes ein:
chown www-data
:www-data
/opt/containers/typo3/fileadmin/
chown www-data
:www-data
/opt/containers/typo3/uploads
chown www-data
:www-data
/opt/containers/typo3/typo3conf
Nun sind wir fertig mit der Vorbereitung.
2. Typo3 starten
Als erstes „bauen“ wir unseren Container. Gebt dazu folgendes ein:
cd /opt/containers/typo3/
docker compose build
Nun können wir Typo3 starten. Dazu gebt ihr folgendes ein:
docker compose -f /opt/containers/typo3/docker-compose.yml up -d
Jetzt geht ihr mit eurem Browser auf die Webseite. Dies ist bei mir https://typo.testbereich.net.
Hier sollte jetzt alles grün sein.
Anschließend gebt ihr diese Daten ein sowie das Kennwort, welches ihr im Schritt 1.3.4 vergeben habt.
Nun wählen wir die Datenbank „typo3“ aus.
Hier müsst ihr noch einen Nutzernamen sowie Passwort vergeben für den Administrator Account.
Jetzt seid ihr fertig mit der Installation.
Klickt hier aber noch NICHT weiter. Wir müssen noch eine Einstellung (TYPO3 Exception 1588095935 — TYPO3 Exceptions master documentation) anpassen.
Gebt dazu folgendes ein:
nano /opt/containers/typo3/typo3conf/LocalConfiguration.php
Scrollt nun ganz nach unten und fügt dort folgende Zeile noch ein:
'security.backend.enforceReferrer' => false,
Dies sollte dann so aussehen.
Nun könnt ihr im Webbrowser weitermachen und euch ganz normal anmelden mit eurem neu erstellten Administrator Account.
Hier habt ihr nun alle Einstellungen und könnt Typo3 anpassen.