So hosten Sie Ihr eigenes Youtube mit Peertube
Peertube ist eine föderierte Open-Source-Video-Hosting-Plattform, die Sie von Ihrem eigenen Computer aus ausführen können. Damit können Sie alle Inhalte, die Sie hosten und von Ihrer Website aus teilen, vollständig kontrollieren. Dieses Tutorial zeigt Ihnen, wie Sie Peertube auf Ubuntu installieren und hosten.
Warum Peertube hosten und verwenden?
Eine der attraktivsten Funktionen von Peertube ist die Möglichkeit, Videos von anderen Instanzen zu laden, wodurch es möglich wird, Inhalte von außerhalb Ihrer Website anzuzeigen, aber dennoch die Kontrolle über Ihre Daten zu behalten.
Ein weiterer Vorteil von Peertube gegenüber Youtube ist, dass es vollständig Open Source ist. (Erfahren Sie hier alles über Open-Source-Lizenzen.) Dies erleichtert es jedem, die Codebasis des Programms zu überprüfen, was für Benutzer hilfreich sein kann, die sich Sorgen um ihre Datensicherheit machen.
Peertube installieren
Bevor Sie Peertube installieren können, müssen Sie sicherstellen, dass Sie einen Server bereit haben. Dies kann Ihr persönlicher PC oder ein gemieteter Server eines Webhosters sein. Dieses Tutorial wurde auf einem Ubuntu VPS von Digitalocean durchgeführt.
- Erstellen Sie ein neues Benutzerkonto für Peertube. Auf diese Weise können Sie einfach steuern, was das Programm in Ihrem System tun kann:
sudo useradd -b /bin/bash -m -d /var/www/peertube -G sudo peertube
sudo passwd peertube
Beim Erstellen eines neuen Benutzerkontos können Sie die $HOME
Variable auch unter „/var/www/“ setzen. Dies ist wichtig, da das Web-Backend für Peertube die standardmäßige „/home“-Hierarchie nicht durchqueren kann.
- Wechseln Sie zu Ihrem neuen Benutzerkonto mit dem Befehl:
su peertube
- Installieren Sie die Abhängigkeiten für Peertube:
sudo apt install cron wget curl unzip python3-dev python-is-python3 certbot nginx python3-certbot-nginx ffmpeg postgresql postgresql-contrib openssl g++ make redis-server git
- Installieren Sie NodeJS auf Ihrem Computer:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt updatesudo apt install nodejs
- Garn installieren. Dies ist eine leistungsstarke und dennoch leichte Paketverwaltung für NodeJS:
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main"| sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt updatesudo apt install yarn
- Nachdem Sie alle Abhängigkeiten für Peertube installiert haben, konfigurieren Sie Ihr System, um das Programm zu installieren. Aktivieren Sie zunächst das Datenbank-Backend des Programms:
sudo systemctl enable postgresql
sudo systemctl start postgresql
sudo systemctl enable redis-server
sudo systemctl start redis-server
- Fügen Sie Ihren Peertube-Benutzer zu PostgreSQL hinzu, indem Sie die folgenden Befehle ausführen:
cd $HOMEsudo usermod -aG peertube postgres
sudo -u postgres createuser -P peertube
- Erstellen Sie die Datenbank für das Programm, indem Sie die folgenden Befehle ausführen:
sudo -u postgres createdb -O peertube -E UTF8 -T template0 peertube_run
sudo -u postgres psql -c "CREATE EXTENSION pg_trgm;"peertube_run
sudo -u postgres psql -c "CREATE EXTENSION unaccent;"peertube_run
- Erstellen Sie die Verzeichnisstruktur des Programms in Ihrem Home-Verzeichnis:
mkdir config storage versions
chmod 750. /config
- Laden Sie die Peertube-Binärdateien herunter:
cd. /versions
wget https://github.com/Chocobozzz/PeerTube/releases/download/v5.0.1/peertube-v5.0.1.zip
unzip peertube-v5.0.1.zip
cd. /..
- Erstellen Sie einen symbolischen Link zwischen Ihrer Installation und Ihrem Home-Verzeichnis:
ln -s /var/www/peertube/versions/peertube-v5.0.1 /var/www/peertube/peertube-latest
- Installieren Sie Peertube mit dem folgenden Yarn-Befehl:
cd. /peertube-latest
yarn install --production --pure-lockfile
Konfiguration von Nginx und SSL
Standardmäßig öffnet Peertube seinen Internetdienst auf Port 9000. Während Sie von dort aus auf das Programm zugreifen können, empfiehlt es sich, einen Reverse-Proxy zwischen dem Programm und einem bekannten Port zu erstellen.
Die Entwickler des Programms haben eine Vorlagendatei erstellt, mit der Sie Ihren eigenen Reverse-Proxy erstellen können, indem Sie den folgenden Befehl ausführen:
sudo cp /var/www/peertube/peertube-latest/support/nginx/peertube /etc/nginx/sites-available/peertube
sudo rm /etc/nginx/sites-enabled/default
Konfigurieren Sie Ihre neue Vorlagendatei, indem Sie sie mit einem Texteditor öffnen:
sudo nano /etc/nginx/sites-available/peertube
Ändern Sie darin jede Instanz dieser beiden Variablen: ${WEBSERVER_HOST}
und ${PEERTUBE_HOST}
.
- Ersetzen Sie für die
${WEBSERVER_HOST}
durch den FQDN Ihres Computers. - Ersetzen Sie in der Zwischenzeit
${PEERTUBE_HOST}
durch „127.0.0.1:9000“.
Drücken Sie Ctrl+ Ound dann Ctrl+ X, um Ihre Datei auf der Festplatte zu speichern und den Texteditor zu verlassen.
Aktivieren Sie die Peertube Nginx-Konfigurationsdatei und starten Sie Nginx neu.
sudo ln -s /etc/nginx/sites-available/peertube /etc/nginx/sites-enabled/
sudo systemctl reload nginx
Erstellen Ihres SSL-Zertifikats
Wir erhalten ein neues SSL-Zertifikat mit dem kostenlosen Dienstprogramm Certbot von Let’s Encrypt. (Sie können auch ein Wildcard-SSL-Zertifikat erstellen, wenn Sie beabsichtigen, es auf mehreren (Sub-)Domains zu verwenden.)
sudo certbot
Certbot scannt Ihre Nginx-Konfiguration und zeigt die Liste der auf Ihrem Server gehosteten Domänen an. Geben Sie die Nummer neben der Domain ein, für die Sie ein neues SSL-Zertifikat erhalten möchten.
Sobald das SSL-Zertifikat ausgestellt ist, aktualisiert certbot Ihre Nginx-Konfigurationsdatei automatisch mit dem richtigen Eintrag. Sie müssen nur Ihre Nginx-Konfiguration neu laden, um sicherzustellen, dass alles gut läuft.
sudo systemctl reload nginx
Konfigurieren und Ausführen von Peertube
- Wenn sowohl Ihr Nginx-Server als auch Ihr SSL-Zertifikat fertig sind, können Sie jetzt Ihre Peertube-Instanz konfigurieren. Sie können eine Vorlage verwenden, die die Entwickler erstellt haben, um diesen Prozess zu optimieren. Führen Sie die folgenden Befehle aus:
cd $HOMEcp /var/www/peertube/peertube-latest/config/default.yaml /var/www/peertube/config/default.yaml
cp /var/www/peertube/peertube-latest/config/production.yaml.example /var/www/peertube/config/production.yaml
- Öffnen Sie die Datei „production.yaml“ in einem Texteditor:
nano /var/www/peertube/config/production.yaml
- Ändern Sie die
hostname:
Variable in den FQDN Ihres Computers:
- Generieren Sie mit dem folgenden Befehl ein zufälliges Geheimnis für Ihre Instanz:
openssl rand -hex 32
Gehen Sie zurück zu Ihrer Datei „production.yaml“ und fügen Sie Ihr zufälliges Geheimnis neben der peertube:
Variablen ein.
- Suchen Sie nach dem
database:
Block. Ändern Sie densuffix:
Block in „_run“.
- Ändern Sie die
password:
Variable in das Passwort Ihres Datenbankkontos.
- Gehen Sie zum
smtp:
Block und suchen Sie diehostname:
Variable. Ändern Sie das in den Hostnamen Ihres Mailservers. Ändern Sie auch die Variablenusername:
undpassword:
in die Anmeldeinformationen Ihres E-Mail-Kontos.
- Ersetzen Sie die
from_address:
Variable durch die E-Mail-Adresse Ihres E-Mail-Kontos.
Wenn Sie mit den Änderungen fertig sind, drücken Sie Ctrl+ o, um die Datei zu speichern, und Ctrl+ x, um die Datei zu verlassen.
Erstellen einer Peertube-Dienstdatei
Damit Peertube beim Start automatisch ausgeführt wird, erstellen wir eine systemd-Dienstdatei für Peertube.
- Führen Sie den folgenden Befehl aus, um die systemd-Vorlagendatei auf das System zu kopieren:
sudo cp /var/www/peertube/peertube-latest/support/systemd/peertube.service /etc/systemd/system/
- Laden Sie systemd neu, um Ihre neue Servicedatei anzuwenden.
sudo systemctl daemon-reload
sudo systemctl enable peertube
sudo systemctl start peertube
Mit Peertube
Wenn alles richtig konfiguriert ist, sollten Sie von Ihrem eigenen Domainnamen aus auf Peertube zugreifen können.
Standardmäßig erstellt jede neue Peertube-Instanz ein Root-Konto, das Sie als Administrator der Site verwenden können. Führen Sie dazu den folgenden Befehl aus:
sudo journalctl -u peertube | grep "User password:"
Gehen Sie zurück zu Ihrer Peertube-Website und klicken Sie auf die Schaltfläche „Anmelden“ in der oberen linken Ecke der Seite. Schreiben Sie „root“ als Ihren Benutzernamen und fügen Sie sein Passwort ein.
Peertube begrüßt Sie mit einer kurzen Nachricht, die Links zur Dokumentation des Programms enthält.
Nachdem Sie den Inhalt der Nachricht überprüft haben, drücken Sie X in der oberen rechten Ecke des Fensters, um mit der Verwendung Ihrer Peertube-Website zu beginnen.
Häufig gestellte Fragen
Kann man Peertube ohne Domainnamen nutzen?
Nein. Peertube erfordert, dass Sie ein gültiges SSL-Zertifikat in Ihrer Instanz haben. Es ist zwar möglich, ein eigenes SSL-Zertifikat ohne Domainnamen zu erstellen, aber dadurch wird Ihre Website für andere Benutzer unsicher.
Kann ich die default.yaml-Datei kopieren, während ich Peertube konfiguriere?
Peertube ist für einige seiner Kerneinstellungen von der Datei „default.yaml“ abhängig. Ohne die „default.yaml“-Datei wird Ihre Instanz höchstwahrscheinlich unzugänglich machen.
Warum erhalte ich eine leere Seite, wenn ich meine Peertube-Website öffne?
Dieses Problem ist höchstwahrscheinlich auf ein Berechtigungsproblem mit Ihrem Root-Peertube-Verzeichnis zurückzuführen. Standardmäßig erfordert Nginx, dass jeder Webordner sowie sein Stammverzeichnis weltweit lesbar sind.
Sie können dieses Problem beheben, indem Sie den folgenden Befehl ausführen: sudo chmod 755 /var/www/peertube
.
Bildnachweis: Unsplash . Alle Änderungen und Screenshots von Ramces Red.
Schreibe einen Kommentar