247 lines
8.9 KiB
Markdown
Raw Normal View History

2022-04-14 13:11:07 +00:00
---
title: Installation
sidebarDepth: 3
---
2023-03-16 16:45:41 +00:00
# Wie installiere ich Castopod?
2022-04-14 13:11:07 +00:00
2023-05-05 14:28:51 +00:00
Castopod ist für eine einfache Installation konzipiert. Ob dediziertes oder
Shared-Hosting, du kannst es auf den meisten PHP-MySQL-kompatiblen Webservern
installieren.
2022-04-14 13:11:07 +00:00
2022-08-22 15:56:51 +00:00
::: tip Note
2023-05-05 14:28:51 +00:00
Wir haben offizielle Docker Images für Castopod veröffentlicht!
2022-07-04 13:27:21 +00:00
2023-05-05 14:28:51 +00:00
Wenn du Docker bevorzugst, kannst du die manuelle Anleitung überspringen und
direkt zur [Docker-Dokumentation](./docker.md) für Castopod gehen.
2022-07-04 13:27:21 +00:00
:::
2023-03-16 16:45:41 +00:00
## Voraussetzungen
2022-04-14 13:11:07 +00:00
2023-11-29 17:27:10 +00:00
- PHP v8.1 oder höher
2023-03-16 16:45:41 +00:00
- MySQL Version 5.7 oder höher oder MariaDB Version 10.2 oder höher
- HTTPS-Unterstützung
2023-05-05 14:28:51 +00:00
- Eine [ntp-synchronisierte Uhr](https://wiki.debian.org/NTP) um die eingehenden
Anfragen zu überprüfen
2022-04-14 13:11:07 +00:00
2023-11-29 17:27:10 +00:00
### PHP v8.1 oder höher
2022-04-14 13:11:07 +00:00
2023-11-29 17:27:10 +00:00
PHP Version 8.1 oder höher ist erforderlich, mit folgenden Erweiterungen
installiert:
2022-04-14 13:11:07 +00:00
- [intl](https://php.net/manual/en/intl.requirements.php)
- [libcurl](https://php.net/manual/en/curl.requirements.php)
- [mbstring](https://php.net/manual/en/mbstring.installation.php)
2023-05-05 14:28:51 +00:00
- [gd](https://www.php.net/manual/en/image.installation.php) mit **JPEG**,
**PNG** und **WEBP** Bibliotheken.
2022-04-14 13:11:07 +00:00
- [exif](https://www.php.net/manual/en/exif.installation.php)
2023-05-05 14:28:51 +00:00
Stelle außerdem sicher, dass die folgenden Erweiterungen in deinem PHP aktiviert
sind:
2022-04-14 13:11:07 +00:00
2023-05-05 14:28:51 +00:00
- json (standardmäßig aktiviert - nicht ausschalten)
- xml (standardmäßig aktiviert - nicht ausschalten)
2022-04-14 13:11:07 +00:00
- [mysqlnd](https://php.net/manual/en/mysqlnd.install.php)
2023-05-05 14:28:51 +00:00
### MySQL kompatible Datenbank
2022-04-14 13:11:07 +00:00
2023-05-05 14:28:51 +00:00
> Wir empfehlen [MariaDB](https://mariadb.org).
2022-04-14 13:11:07 +00:00
2022-07-04 13:27:21 +00:00
::: warning Warning
2022-04-14 13:11:07 +00:00
2023-05-05 14:28:51 +00:00
Castopod funktioniert nur mit unterstützten MySQL 5.7 oder höher kompatiblen
Datenbanken. Es wird zum Beispiel mit dem vorherigen MySQL v5.6 nicht mehr
funktionieren, dessen Lebensende am 5. Februar 2021 war.
2022-04-14 13:11:07 +00:00
:::
2023-05-05 14:28:51 +00:00
Du benötigst den Servernamen, den Datenbanknamen, den Benutzernamen und das
Passwort, um den Installationsvorgang abzuschließen. Kontaktiere bitte den
Administrator, falls du keinen Benutzeraccount hast.
2022-04-14 13:11:07 +00:00
2023-05-05 14:28:51 +00:00
#### Berechtigungen
2022-04-14 13:11:07 +00:00
2023-05-05 14:28:51 +00:00
Benutzer müssen mindestens diese Berechtigungen in der Datenbank haben, damit
Castopod funktioniert: `CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`,
`INSERT`, `SELECT`, `UPDATE`, `REFERENCES`, `CREATE VIEW`.
2022-04-14 13:11:07 +00:00
2023-05-05 14:28:51 +00:00
### (Optional) FFmpeg v4.1.8 oder höher für Videoclips
2022-04-14 13:11:07 +00:00
2023-05-05 14:28:51 +00:00
[FFmpeg](https://www.ffmpeg.org/) Version 4.1.8 oder höher ist erforderlich,
wenn Du Videoclips generieren möchtest. Die folgenden Php-Erweiterungen sind
nicht installiert: %s:
2022-04-14 13:11:07 +00:00
2023-05-05 14:28:51 +00:00
- **FreeType 2** Bibliothek für
2022-04-14 13:11:07 +00:00
[gd](https://www.php.net/manual/en/image.installation.php).
2023-05-05 14:28:51 +00:00
### (Optional) Weitere Empfehlungen
2022-04-14 13:11:07 +00:00
2023-05-05 14:28:51 +00:00
- Redis für bessere Cache-Leistungen.
- CDN für das Caching statischer Dateien und bessere Leistungen.
- E-Mail Server Anbindung für E-Mails zu verlorenen Passwörtern.
2022-04-14 13:11:07 +00:00
2023-05-05 14:28:51 +00:00
## Installationsanleitung
2022-04-14 13:11:07 +00:00
2023-05-05 14:28:51 +00:00
### Voraussetzungen
2022-04-14 13:11:07 +00:00
2023-11-29 17:27:10 +00:00
0. Treib einen Webserver mit den [Voraussetzungen](#requirements) auf
1. Erstellen Sie eine MySQL-Datenbank für Castopod mit einem Benutzer mit
Zugriffsrechten und Modifikationsberechtigungen (für weitere Infos, Siehe
[MySQL kompatible Datenbank](#mysql-compatible-database)).
2. Aktivieren Sie HTTPS auf Ihrer Domain mit einem _SSL Zertifikat_.
3. Lade und entpacke das letzte [Castopod Packet](https://castopod.org/) auf den
Webserver, wenn nicht schon geschehen.
- ⚠️ Setzte das Webserver Document root auf das `public/` Unterverzeichnis
innerhalb des `castopod` Ordners.
4. Füge **cron tasks** auf deinem Webserver hinzu für verschiedene
Hintergrundprozesse (ersetze die Pfade entsprechend):
2022-04-14 13:11:07 +00:00
```bash
2023-06-21 17:17:32 +00:00
* * * * * /path/to/php /path/to/castopod/spark tasks:run >> /dev/null 2>&1
2022-04-14 13:11:07 +00:00
```
2023-11-29 17:27:10 +00:00
**Hinweis** - Wenn Sie diese Cron-Aufgabe nicht hinzufügen, funktionieren die
folgenden Castopod-Funktionen nicht:
2022-04-14 13:11:07 +00:00
2023-11-29 17:27:10 +00:00
- Einen Podcast aus einem vorhandenen RSS-Feed importieren
- Sende soziale Aktivitäten an deine Follower im Fediversum
- Übertragungen von Episoden zu open hubs mit
[WebSub-](https://en.wikipedia.org/wiki/WebSub)
- Generieren von Videoclips -
[benötigt FFmpeg](#optional-ffmpeg-v418-or-higher-for-video-clips)
2022-04-14 13:11:07 +00:00
2023-11-29 17:27:10 +00:00
### (empfohlen) Installations-Assistent
2022-04-14 13:11:07 +00:00
2023-11-29 17:27:10 +00:00
1. Führen Sie das Castopod Installationsskript aus, indem Sie auf die
Installations-Seite (`https://your_domain_name.com/cp-install`) in Ihrem
bevorzugten Webbrowser gehen.
2. Folge der Anleitung auf dem Bildschirm.
3. Podcasting starten!
2022-04-14 13:11:07 +00:00
::: info Note
2023-11-29 17:27:10 +00:00
Das Installationsskript schreibt eine `.env` Datei im Paket-Root. Wenn Sie nicht
durch den Installations-Assistenten kommen, können Sie die `.env` Datei manuell
erstellen und bearbeiten basierend auf der `.env.example` Datei.
2022-04-14 13:11:07 +00:00
:::
2023-11-29 17:27:10 +00:00
### Using CLI
2022-10-14 16:12:14 +00:00
2023-11-29 17:27:10 +00:00
1. Create a `.env` file in the package root based on the `.env.example` file.
2. Initialize the database using:
2022-10-14 16:12:14 +00:00
2023-11-29 17:27:10 +00:00
```sh
php spark install:init-database
```
3. Create the superadmin user using:
```sh
php spark install:create-superadmin
```
4. Head on to your admin gateway to start podcasting!
### Email/SMTP Setup
E-Mail-Konfiguration ist erforderlich, damit einige Funktionen ordnungsgemäß
funktionieren (zB. das Abrufen Ihres vergessenen Passworts, das Senden von
Anweisungen an Premium-Abonnenten, …)
Sie können Ihre E-Mail-Konfiguration in `.env` Ihrer Instanz einfügen:
2022-10-14 16:12:14 +00:00
```ini
# […]
2022-11-04 11:03:24 +00:00
# […]
2022-10-14 16:12:14 +00:00
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
2023-11-29 17:27:10 +00:00
#### E-Mail-Konfigurationsoptionen
2022-10-14 16:12:14 +00:00
2023-11-29 17:27:10 +00:00
| Variablennamen | Typ | Voreinstellung |
| ---------------- | -------------------- | -------------- |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
2022-10-14 16:12:14 +00:00
2023-04-01 12:38:40 +00:00
### Media storage
2023-11-29 17:27:10 +00:00
Standardmäßig werden Dateien im Ordner `public/media` über das Dateisystem
gespeichert. Wenn Sie den Ordner `media` an einen anderen Ort verlegen müssen,
können Sie es in Ihrer `.env` Datei angeben wie unten gezeigt:
2023-04-01 12:38:40 +00:00
```ini
# […]
2023-03-16 16:45:41 +00:00
2023-04-01 12:38:40 +00:00
media.root="media"
media.storage="/mnt/storage"
```
2023-11-29 17:27:10 +00:00
In diesem Beispiel werden die Dateien im Ordner /mnt/storage/media gespeichert.
Stellen Sie sicher, dass Sie auch Ihre Webserver-Konfiguration aktualisieren, um
diese Änderung wiederzugeben.
2023-04-01 12:38:40 +00:00
### S3
2023-03-16 16:45:41 +00:00
2023-11-29 17:27:10 +00:00
Wenn Sie Ihre Mediendateien lieber auf einem S3-kompatiblen Speicher speichern
möchten, können Sie dies in Ihrer `.env` spezifizieren:
2023-03-16 16:45:41 +00:00
```ini
# […]
media.fileManager="s3"
media.s3.endpoint="your_s3_host"
media.s3.key="your_s3_key"
media.s3.secret="your_s3_secret"
media.s3.region="your_s3_region"
```
2023-11-29 17:27:10 +00:00
#### S3 Konfigurationsoptionen
2023-03-16 16:45:41 +00:00
2023-11-29 17:27:10 +00:00
| Variablennamen | Typ | Voreinstellung |
| ----------------------- | ------- | -------------- |
| **`endpoint`** | string | `undefined` |
| **`key`** | string | `undefined` |
| **`secret`** | string | `undefined` |
| **`region`** | string | `undefined` |
| **`bucket`** | string | `castopod` |
| **`protocol`** | number | `undefined` |
| **`pathStyleEndpoint`** | boolean | `false` |
| **`keyPrefix`** | string | `undefined` |
2023-03-16 16:45:41 +00:00
2023-11-29 17:27:10 +00:00
## Community-Pakete
2022-04-14 13:11:07 +00:00
2023-11-29 17:27:10 +00:00
Wenn Sie Castopod nicht manuell installieren wollen, können Sie eines der von
der Open-Source-Community erstellten und betreuten Pakete verwenden.
2022-04-14 13:11:07 +00:00
2023-11-29 17:27:10 +00:00
### Installieren mit YunoHost
2022-04-14 13:11:07 +00:00
2023-11-29 17:27:10 +00:00
[YunoHost](https://yunohost.org/) ist eine auf Debian GNU/Linux basierende
Distribution, die aus freien und Open-Source-Software-Paketen besteht. Es
kümmert sich um den Aufwand von self-hosting für dich.
2022-04-14 13:11:07 +00:00
<div class="flex flex-wrap items-center gap-4">
<a href="https://install-app.yunohost.org/?app=castopod" target="_blank" rel="noopener noreferrer">
2023-11-29 17:27:10 +00:00
<img src="https://install-app.yunohost.org/install-with-yunohost.svg" alt="Installiere Castopod mit YunoHost" class="align-middle" />
2022-04-14 13:11:07 +00:00
</a>
<a href="https://github.com/YunoHost-Apps/castopod_ynh" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-4 py-[.3rem] mx-auto font-semibold text-center text-black rounded-md gap-x-1 border-2 border-solid border-[#333] hover:no-underline hover:bg-gray-100"><svg
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="1em" height="1em"
class="text-xl"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 2A10 10 0 0 0 2 12a10 10 0 0 0 6.84 9.49c.5.09.69-.21.69-.48l-.02-1.86c-2.51.46-3.16-.61-3.36-1.18-.11-.28-.6-1.17-1.02-1.4-.35-.2-.85-.66-.02-.67.79-.01 1.35.72 1.54 1.02.9 1.52 2.34 1.1 2.91.83a2.1 2.1 0 0 1 .64-1.34c-2.22-.25-4.55-1.11-4.55-4.94A3.9 3.9 0 0 1 6.68 8.8a3.6 3.6 0 0 1 .1-2.65s.83-.27 2.75 1.02a9.28 9.28 0 0 1 2.5-.34c.85 0 1.7.12 2.5.34 1.9-1.3 2.75-1.02 2.75-1.02.54 1.37.2 2.4.1 2.65.63.7 1.02 1.58 1.02 2.68 0 3.84-2.34 4.7-4.56 4.94.36.31.67.91.67 1.85l-.01 2.75c0 .26.19.58.69.48A10.02 10.02 0 0 0 22 12 10 10 0 0 0 12 2z"/></svg>Github
Repo</a>
</div>