Dieses Tutorial zeigt Ihnen, wie Sie Ihre eigene Video-Sharing-Website mit YouPHPTube auf Debian 10 Buster betreiben. YouPHPTube ist eine selbst gehostete Open-Source-Alternative zu Video-Sharing-Websites wie YouTube, Vimeo usw. Mit YouPHPTube können Sie Videos auf Ihren eigenen Server hochladen und mit dem Internet teilen.
YouPHPTube-Funktionen
- Unbegrenzte und gleichzeitige Live-Streams und Sie können unbegrenzt viele Benutzer mit jedem Live-Stream verbinden.
- Importieren und codieren Sie Videos von anderen Websites direkt aus dem Internet
- Massencodierung aus lokalem Videoverzeichnis
- Private Videos erstellen
- Vollständig integrierte Funktion mit Youtube, mit der Sie Ihre Videos mit Youtube synchronisieren können
- Transkodieren Sie mehrere Formate von Multimediadateien in MP4-, WebM- und MP3-Dateien
- Unterstützt Amazone S3 (Simple Storage Service)
- Responsives Website-Layout. YouPHPTube sieht auf jedem Gerät unglaublich aus. (Sie können das Layout im YouTube- oder Netfilx-Stil wählen.)
- Nutzerkanäle und Nutzer-Playlists
- Abonniere Kanäle, die dir gefallen
- Du kannst die Leistung deiner Videos mit aktuellen Messwerten und Berichten in den YouPHPTube-Statistiken überwachen.
- Erweitern Sie Website-Funktionalitäten mit Plugins.
- SEO-optimiert
- iOS- und Android-Apps verfügbar
YouPHPTube-Serveranforderungen
Zunächst sollten Sie wissen, dass eine Single-Core-CPU für eine Video-Sharing-Website nicht geeignet ist, da der Kodierungsprozess viele CPU-Ressourcen beansprucht.
Wählen Sie dann die Serverspezifikationen entsprechend der Anzahl der Benutzer Ihrer Website aus.
- Wenn Sie es nur zum Teilen Ihrer eigenen Videos verwenden möchten, benötigen Sie einen Server mit mindestens 2 CPU-Kernen und 4 GB RAM. Einen leistungsstarken VPS (Virtual Private Server) können Sie bei Contabo günstig erwerben.
- Wenn Sie davon ausgehen, dass Ihre Website Dutzende von Benutzern haben wird, können Sie den extra großen VPS von Contabo in Betracht ziehen, der 10 CPU-Kerne, 60 GB RAM, 1 Gbit/s Portgeschwindigkeit, 1,6 TB Festplattenspeicher und unbegrenzten Datenverkehr hat, aber nur 26,99 kostet Euro/Monat.
- Wenn Ihre Website darüber hinauswächst, sollten Sie einen dedizierten Server kaufen.
Softwareanforderungen für die Installation von YouPHPTube auf Debian 10 Buster
YouPHPTube erfordert PHP und MySQL/MariaDB. Um diesem Tutorial zu folgen, sollten Sie bereits einen LAMP-Stack oder LEMP-Stack eingerichtet haben. Wenn Sie den Apache-Webserver bevorzugen, installieren Sie den LAMP-Stack.
- So installieren Sie den LAMP-Stack (Apache, MariaDB, PHP) unter Debian 10 Buster
Wenn Sie den Nginx-Webserver bevorzugen, installieren Sie den LEMP-Stack.
- So installieren Sie den LEMP-Stack (Nginx, MariaDB, PHP) unter Debian 10 Buster
Hinweis :YouPHPTube-Unterstützung mit Nginx ist nur experimentell. Möglicherweise treten Probleme auf, wenn Sie Nginx verwenden.
Außerdem benötigen Sie einen Domänennamen. Ich habe meinen Domainnamen bei NameCheap registriert, weil der Preis niedrig ist und sie Whois-Datenschutz lebenslang kostenlos bieten.
YouPHPTube besteht aus zwei Teilen.
- Der Hauptteil ist der Front-End-Streamer-Server, der es Benutzern ermöglicht, vorhandene Videos anzusehen.
- Der andere Teil ist der Encoder, mit dem Benutzer ihre Videos hochladen können.
Der öffentliche Encoder verwendet den Domainnamen encoder.youphptube.com
. Wenn Sie nicht möchten, dass Benutzer Ihre Website beim Hochladen von Videos verlassen, müssen Sie Ihren privaten Encoder einrichten. Wie das geht, zeige ich dir in diesem Artikel. Fangen wir ohne weiteres an.
Schritt 1:Laden Sie YouPHPTube auf Debian 10 Buster Server herunter
Melden Sie sich über SSH bei Ihrem Debian 10 Buster-Server an. Wechseln Sie dann in das Web-Root-Verzeichnis.
cd /var/www/
Klonen Sie das YouPHPTube-Streamer-Repository von Github.
sudo apt install git sudo git clone https://github.com/YouPHPTube/YouPHPTube.git
Gehen Sie dann in das Verzeichnis.
cd YouPHPTube/
Klonen Sie das YouPHPTube-Encoder-Repository von Github.
sudo git clone https://github.com/YouPHPTube/YouPHPTube-Encoder.git
Es wird als YouPHPTube-Encoder
gespeichert . Wir benennen es in upload
um , damit Nutzer beim Hochladen von Videos eine bessere Vorstellung davon haben, wozu diese URL dient.
sudo mv YouPHPTube-Encoder upload
Als nächstes müssen wir www-data (den Benutzer des Webservers) zum Besitzer des Webstammverzeichnisses machen.
sudo chown www-data:www-data /var/www/YouPHPTube/ -R
Schritt 2:Abhängigkeiten installieren
YouPHPTube verwendet FFmpeg
Videos zu codieren. Wir können FFmpeg einfach aus dem Standard-Debian-Repository installieren.
sudo apt install ffmpeg
Um Metainformationen in Multimediadateien zu lesen und zu schreiben, müssen wir das libimage-exiftool-perl
installieren Paket.
sudo apt install libimage-exiftool-perl
Sie müssen auch einige gängige PHP-Erweiterungen installieren.
sudo apt install php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-readline php7.3-curl php7.3-gd php7.3-xml
Um Videos von anderen Seiten abzurufen, müssen wir YouTube-DL installieren. Es ist zwar im Debian-Repository enthalten, aber veraltet. Wir werden YouTube-DL aus dem Python-Paketindex installieren, der immer die neueste Version von YouTube-DL enthält.
sudo apt install python3-pip sudo -H pip3 install youtube-dl
Es ist sehr wichtig, dass Sie die neueste Version verwenden, da Sie sonst möglicherweise keine Videos von anderen Websites herunterladen können. Wir können einen Cron-Job erstellen, um automatisch die neueste Version zu prüfen und zu installieren.
sudo crontab -e
Fügen Sie die folgende Zeile am Ende der Crontab-Datei hinzu, um zu versuchen, YouTube-DL täglich zu aktualisieren.
@daily sudo -H pip3 install --upgrade youtube-dl > /dev/null
Schritt 3:Datenbank und Benutzer in MariaDB erstellen
Melden Sie sich mit dem folgenden Befehl beim MariaDB-Datenbankserver an. Da MariaDB jetzt unix_socket
verwendet Plugin für die Benutzeranmeldung zur Authentifizierung müssen Sie das MariaDB-Root-Passwort nicht eingeben. Wir müssen nur mysql
voranstellen Befehl mit sudo
.
sudo mysql
Erstellen Sie dann eine Datenbank für YouPHPTube. Dieses Tutorial nennt die Datenbank YouPHPTube
. Sie können einen beliebigen Namen verwenden.
create database YouPHPTube;
Erstellen Sie den Datenbankbenutzer. Auch hier können Sie Ihren bevorzugten Namen für diesen Benutzer verwenden. Ersetzen Sie your-password
mit Ihrem bevorzugten Passwort.
create user youphptube@localhost identified by 'your-password';
Gewähren Sie diesem Benutzer alle Rechte auf youphptube
Datenbank.
grant all privileges on YouPHPTube.* to youphptube@localhost;
Wir müssen auch eine separate Datenbank für den Encoder erstellen.
create database YouPHPTubeEncoder;
Erstellen Sie einen Benutzer für diese Datenbank.
create user encoder@localhost identified by 'your-password';
Berechtigungen erteilen.
grant all privileges on YouPHPTubeEncoder.* to encoder@localhost;
Leeren Sie die Berechtigungstabelle und beenden Sie.
flush privileges; exit;
Schritt 4:Webserver einrichten
Wir können Apache- oder Nginx-Webserver verwenden.
Apache
Wenn Sie Apache bevorzugen, erstellen Sie mit einem Befehlszeilen-Texteditor wie Nano eine virtuelle Hostdatei für YouPHPTube.
sudo nano /etc/apache2/sites-available/youphptube.conf
Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie den rot eingefärbten Text durch Ihre tatsächlichen Daten. In diesem Tutorial verwende ich eine Subdomain. Sie können Ihren Hauptdomänennamen verwenden, wenn Sie dies bevorzugen. Vergessen Sie nicht, den DNS-A-Eintrag für den Domainnamen in Ihrem DNS-Eintragsmanager festzulegen. Beachten Sie auch, dass beim Stammverzeichnis des Dokuments zwischen Groß- und Kleinschreibung unterschieden wird und Sie am Ende keinen Schrägstrich hinzufügen sollten.
<VirtualHost *:80> ServerName tube.yourdomain.com DocumentRoot /var/www/YouPHPTube <Directory /var/www/YouPHPTube> DirectoryIndex index.php Options +FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/youphptube.error.log CustomLog ${APACHE_LOG_DIR}/youphptube.access.log combined </VirtualHost>
Speichern und schließen Sie die Datei. Aktivieren Sie dann diesen virtuellen Host.
sudo a2ensite youphptube.conf
Wir müssen das Rewrite-Modul aktivieren.
sudo a2enmod rewrite
Starten Sie Apache neu, damit die Änderungen wirksam werden.
sudo systemctl restart apache2
Besuchen Sie nun tube.yourdomain.com
und Sie werden zur Seite des Einrichtungsassistenten weitergeleitet (tube.yourdomain.com/install/index.php
). Wenn Sie die Apache-Standardseite anstelle des Setup-Assistenten sehen, müssen Sie den standardmäßigen virtuellen Host deaktivieren.
sudo a2dissite 000-default.conf
Und Apache neu starten.
Bevor wir Informationen in den Einrichtungsassistenten eingeben, müssen wir HTTPS aktivieren.
Nginx
Wenn Sie Nginx bevorzugen, erstellen Sie eine youphptube.conf
Datei in /etc/nginx/conf.d/
Verzeichnis.
sudo nano /etc/nginx/conf.d/youphptube.conf
Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie den rot eingefärbten Text durch Ihre tatsächlichen Daten. In diesem Tutorial verwende ich eine Subdomain. Sie können Ihren Hauptdomänennamen verwenden, wenn Sie dies bevorzugen. Vergessen Sie nicht, den DNS-A-Eintrag für den Domainnamen in Ihrem DNS-Eintragsmanager festzulegen. Beachten Sie auch, dass beim Dokumentstammverzeichnis die Groß- und Kleinschreibung beachtet wird.
server { listen 80; server_name tube.yourdomain.com; root /var/www/YouPHPTube; index index.php index.html index.htm; charset utf-8; client_max_body_size 2G; access_log /var/log/nginx/youphptube.access.log; error_log /var/log/nginx/youphptube.error.log; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php7.3-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } # translating Apache rewrite rules in the .htaccess file to Nginx rewrite rules location / { rewrite ^/$ /view/ last; } location /bootstrap { rewrite ^/bootstrap/(.+)$ /view/bootstrap/$1 last; } location /js { rewrite ^/js/(.+)$ /view/js/$1 last; } location /css { rewrite ^/css/(.+)$ /view/css/$1 last; } location /img { rewrite ^/img/(.+)$ /view/img/$1 last; } location /page { rewrite ^/page/([0-9]+)/?$ /view/?page=$1 last; } location /videoOnly { rewrite ^/videoOnly/?$ /view/?type=video last; } location /audioOnly { rewrite ^/audioOnly/?$ /view/?type=audio last; } location = /download { rewrite ^(.*)$ /view/downloadExternalVideo.php last; } location = /downloadNow { rewrite ^(.*)$ /objects/downloadVideo.php last; } location = /getDownloadProgress { rewrite ^(.*)$ /objects/downloadVideoProgress.php last; } location = /about { rewrite ^(.*)$ /view/about.php last; } location = /contact { rewrite ^(.*)$ /view/contact.php last; } location = /sendEmail { rewrite ^(.*)$ /objects/sendEmail.json.php last; } location = /captcha { rewrite ^(.*)$ /objects/getCaptcha.php last; } location /monitor { rewrite ^/monitor/(.+)$ /objects/ServerMonitor/$1 last; } location /cat { rewrite ^/cat/([A-Za-z0-9-]+)/?$ /view/?catName=$1 last; } location /video { rewrite ^/video/([A-Za-z0-9-_.]+)/?$ /view/?videoName=$1 last; } location /videoEmbeded { rewrite ^/videoEmbeded/([A-Za-z0-9-_.]+)/?$ /view/videoEmbeded.php?videoName=$1 last; } location = /upload { rewrite ^(.*)$ /view/mini-upload-form/ last; } location = /fileUpload { rewrite ^(.*)$ /view/mini-upload-form/upload.php last; } location /uploadStatu { rewrite ^/uploadStatus /view/mini-upload-form/videoConversionStatus.php last; } location = /user { rewrite ^(.*)$ /view/user.php last; } location = /users { rewrite ^(.*)$ /view/managerUsers.php last; } location = /users.json { rewrite ^(.*)$ /objects/users.json.php last; } location = /updateUser { rewrite ^(.*)$ /objects/userUpdate.json.php last; } location = /savePhoto { rewrite ^(.*)$ /objects/userSavePhoto.php last; } location = /addNewUser { rewrite ^(.*)$ /objects/userAddNew.json.php last; } location = /deleteUser { rewrite ^(.*)$ /objects/userDelete.json.php last; } location = /recoverPass { rewrite ^(.*)$ /objects/userRecoverPass.php last; } location = /saveRecoverPassword { rewrite ^(.*)$ /objects/userRecoverPassSave.json.php last; } location = /signUp { rewrite ^(.*)$ /view/signUp.php last; } location = /createUser { rewrite ^(.*)$ /objects/userCreate.json.php last; } location = /usersGroups { rewrite ^(.*)$ /view/managerUsersGroups.php last; } location = /usersGroups.json { rewrite ^(.*)$ /objects/usersGroups.json.php last; } location = /addNewUserGroups { rewrite ^(.*)$ /objects/userGroupsAddNew.json.php last; } location = /deleteUserGroups { rewrite ^(.*)$ /objects/userGroupsDelete.json.php last; } location = /ads { rewrite ^(.*)$ /view/managerAds.php last; } location = /addNewAd { rewrite ^(.*)$ /objects/video_adsAddNew.json.php last; } location = /ads.json { rewrite ^(.*)$ /objects/video_ads.json.php last; } location = /deleteVideoAd { rewrite ^(.*)$ /objects/video_adDelete.json.php last; } location /adClickLo { rewrite ^/adClickLog /objects/video_adClickLog.php last; } location = /categories { rewrite ^(.*)$ /view/managerCategories.php last; } location = /categories.json { rewrite ^(.*)$ /objects/categories.json.php last; } location = /addNewCategory { rewrite ^(.*)$ /objects/categoryAddNew.json.php last; } location = /deleteCategory { rewrite ^(.*)$ /objects/categoryDelete.json.php last; } location = /orphanFiles { rewrite ^(.*)$ /view/orphanFiles.php last; } location = /mvideos { rewrite ^(.*)$ /view/managerVideos.php last; } location = /videos.json { rewrite ^(.*)$ /objects/videos.json.php last; } location = /deleteVideo { rewrite ^(.*)$ /objects/videoDelete.json.php last; } location = /addNewVideo { rewrite ^(.*)$ /objects/videoAddNew.json.php last; } location = /refreshVideo { rewrite ^(.*)$ /objects/videoRefresh.json.php last; } location = /setStatusVideo { rewrite ^(.*)$ /objects/videoStatus.json.php last; } location = /reencodeVideo { rewrite ^(.*)$ /objects/videoReencode.json.php last; } location = /addViewCountVideo { rewrite ^(.*)$ /objects/videoAddViewCount.json.php last; } location = /saveComment { rewrite ^(.*)$ /objects/commentAddNew.json.php last; } location /comments { rewrite ^/comments.json/([0-9]+)$ /objects/comments.json.php?video_id=$1 last; } location = /login { rewrite ^(.*)$ /objects/login.json.php last; } location = /logoff { rewrite ^(.*)$ /objects/logoff.php last; } location = /like { rewrite ^(.*)$ /objects/like.json.php?like=1 last; } location = /dislike { rewrite ^(.*)$ /objects/like.json.php?like=-1 last; } location /update { rewrite ^/update/?$ /update/update.php last; } location = /siteConfigurations { rewrite ^(.*)$ /view/configurations.php last; } location = /updateConfig { rewrite ^(.*)$ /objects/configurationUpdate.json.php last; } location = /charts { rewrite ^(.*)$ /view/charts.php last; } location = /upload/index.php { rewrite ^(.*)$ /upload/view/index.php last; } location = /upload/isAdmin { rewrite ^(.*)$ /upload/view/isAdmin.php last; } location = /upload/removeStreamer { rewrite ^(.*)$ /upload/view/removeStreamer.php last; } location = /upload/priority { rewrite ^(.*)$ /upload/view/priority.php last; } location = /upload/status { rewrite ^(.*)$ /upload/view/status.php last; } location = /upload/serverStatus { rewrite ^(.*)$ /upload/view/status.php?serverStatus=1 last; } location = /upload/upload { rewrite ^(.*)$ /upload/view/upload.php last; } location = /upload/listFiles.json { rewrite ^(.*)$ /upload/view/listFiles.json.php last; } location = /upload/deleteQueue { rewrite ^(.*)$ /upload/view/deleteQueue.php last; } location = /upload/saveConfig { rewrite ^(.*)$ /upload/view/saveConfig.php last; } location = /upload/youtubeDl.json { rewrite ^(.*)$ /upload/view/youtubeDl.json.php last; } location = /upload/send.json { rewrite ^(.*)$ /upload/view/send.json.php last; } location = /upload/streamers.json { rewrite ^(.*)$ /upload/view/streamers.json.php last; } location = /upload/queue.json { rewrite ^(.*)$ /upload/view/queue.json.php last; } location = /upload/queue { rewrite ^(.*)$ /upload/view/queue.php last; } location = /upload/login { rewrite ^(.*)$ /upload/objects/login.json.php last; } location = /upload/logoff { rewrite ^(.*)$ /upload/objects/logoff.json.php last; } location /upload/ { rewrite "^/getImage/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})$" /upload/objects/getImage.php?base64Url=$1&format=$2 last; rewrite "^/getImageMP4/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})/([0-9.]+)$" /upload/objects/getImageMP4.php?base64Url=$1&format=$2&time=$3 last; } location /upload/getSpiritsFromVideo { rewrite ^/getSpiritsFromVideo/([A-Za-z0-9=/]+)/([0-9]+)/([0-9]+)$ /upload/objects/getSpiritsFromVideo.php?base64Url=$1&tileWidth=$2&totalClips=$3 last; } location /upload/getLinkInfo { rewrite ^/getLinkInfo/([A-Za-z0-9=/]+)$ /upload/objects/getLinkInfo.json.php?base64Url=$1 last; } }
Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfiguration.
sudo nginx -t
Wenn der Test erfolgreich ist, laden Sie Nginx neu, damit die Änderungen wirksam werden.
sudo systemctl reload nginx
Besuchen Sie nun tube.yourdomain.com
und Sie werden zur Seite des Einrichtungsassistenten weitergeleitet (tube.yourdomain.com/install/index.php
). Bevor wir Informationen in den Einrichtungsassistenten eingeben, müssen wir HTTPS aktivieren.
Schritt 5:HTTPS aktivieren
Um den HTTP-Verkehr zu verschlüsseln, können wir HTTPS aktivieren, indem wir ein kostenloses TLS-Zertifikat installieren, das von Let’s Encrypt ausgestellt wurde. Führen Sie den folgenden Befehl aus, um den Let’s Encrypt-Client (certbot) auf dem Debian 10 Buster-Server zu installieren.
sudo apt install certbot
Wenn Sie Apache verwenden, müssen Sie auch das Certbot-Apache-Plugin installieren.
sudo apt install python3-certbot-apache
Und führen Sie diesen Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d tube.yourdomain.com
Wenn Sie Nginx verwenden, installieren Sie das Certbot Nginx-Plugin.
sudo apt install python3-certbot-nginx
Führen Sie als Nächstes den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d tube.yourdomain.com
Wo
--nginx
:Verwenden Sie das nginx-Plugin.--apache
:Verwenden Sie das Apache-Plugin.--agree-tos
:Nutzungsbedingungen akzeptieren.--redirect
:HTTPS durch 301-Umleitung erzwingen.--hsts
: Fügen Sie den Strict-Transport-Security-Header zu jeder HTTP-Antwort hinzu. Erzwingen, dass der Browser immer TLS für die Domäne verwendet. Schützt vor SSL/TLS-Stripping.--staple-ocsp
: Aktiviert OCSP-Heften. Eine gültige OCSP-Antwort wird an das Zertifikat geheftet, das der Server während TLS anbietet.
Das Zertifikat sollte nun abgerufen und automatisch installiert werden.
Schritt 6:Beenden Sie die Installation mit dem Einrichtungsassistenten
Gehen Sie nun zu tube.yourdomain.com
und der Einrichtungsassistent wird angezeigt. Auf der linken Seite sehen Sie, ob Ihr Server die Anforderungen erfüllt.
Wenn Sie Nginx verwenden, können Sie die folgende Meldung ignorieren.
Your server is nginx/1.14.2, you must install Apache.
Wie Sie sehen können, ist die PHP post_max_size
sollte mindestens 100 MB und upload_max_filesize
sein sollte mindestens 100M betragen. Wir müssen die php.ini
bearbeiten Datei, um die beiden Werte zu ändern. Wenn Sie den Apache-Webserver verwenden, dann
sudo nano /etc/php/7.3/apache2/php.ini
Wenn Sie Nginx mit PHP-FPM verwenden, müssen Sie die FPM-Version der Datei php.ini bearbeiten.
sudo nano /etc/php/7.3/fpm/php.ini
Suchen Sie die folgenden zwei Zeilen.
post_max_size = 8M upload_max_filesize = 2M
Ändern Sie die Werte entsprechend der Videodateigröße, die Sie hochladen möchten. Wenn Sie beispielsweise das Hochladen von 1G-Videodateien zulassen, dann
post_max_size = 1024M upload_max_filesize = 1024M
Speichern und schließen Sie die Datei. Starten Sie Apache neu, damit die Änderungen wirksam werden.
sudo systemctl restart apache2
Wenn Sie Nginx mit PHP-FPM verwenden, starten Sie PHP-FPM neu.
sudo systemctl restart php7.3-fpm
Aktualisieren Sie nun die Seite des YouPHPTube-Installationsassistenten. Ihr Server sollte alle Anforderungen erfüllen. Auf der rechten Seite können Sie nun einen Titel für Ihre Videoseite eingeben. Geben Sie den Namen, den Benutzer und das Passwort der YouPHPTube-Datenbank ein, die Sie zuvor erstellt haben. (Hinweis:Sie sollten die Hauptdatenbank verwenden, nicht die Encoder-Datenbank. Achten Sie auch auf Groß- und Kleinschreibung.) Und legen Sie ein Systemadministratorkennwort fest.
Klicken Sie auf Install now
Button und YouPHPTube sollte erfolgreich installiert sein.
Jetzt müssen wir /var/www/YouPHPTube/install/
entfernen Verzeichnis.
sudo rm /var/www/YouPHPTube/install/ -r
Klicken Sie auf Go to the main page
und Sie sehen die YouPHPTube-Hauptseite.
Sie können auf das Dropdown-Menü links klicken und sich als admin
anmelden Benutzer und mit dem Passwort, das Sie gerade festgelegt haben.
Schritt 7:Richten Sie den Encoder ein
Gehen Sie zu https://tube.yourdomain.com/upload/
. Sie werden zum Encoder-Einrichtungsassistenten weitergeleitet. Wenn Sie nicht automatisch umgeleitet werden, können Sie die URL des Einrichtungsassistenten manuell eingeben.
https://tube.yourdomain.com/upload/install/index.php/
Auf der linken Seite wird Ihnen angezeigt, ob Ihr Server die Anforderungen von YouPHPTube Encoder erfüllt.
Wenn Sie Nginx verwenden, können Sie die folgende Meldung ignorieren.
Your server is nginx/1.14.2, you must install Apache.
Wie Sie sehen können, ist PHP max_execution_time
sollte mindestens 7200 und PHP memory_limit
sein sollte mindestens 512 MB betragen. Wir müssen die php.ini
bearbeiten Datei, um die beiden Werte zu ändern. Wenn Sie den Apache-Webserver verwenden, dann
sudo nano /etc/php/7.3/apache2/php.ini
Wenn Sie Nginx mit PHP-FPM verwenden, müssen Sie die FPM-Version der Datei php.ini bearbeiten.
sudo nano /etc/php/7.3/fpm/php.ini
Suchen Sie die folgenden zwei Zeilen.
max_execution_time = 30 memory_limit = 128M
Ändern Sie die Werte .
max_execution_time = 7200 memory_limit = 512M
Beachten Sie, dass Sie max_execution_time
erhöhen müssen, wenn die spätere Videocodierung auf halbem Weg stoppt , oder aktualisieren Sie Ihre CPU.
Speichern und schließen Sie die Datei. Starten Sie Apache neu, damit die Änderungen wirksam werden.
sudo systemctl restart apache2
Wenn Sie Nginx mit PHP-FPM verwenden, starten Sie PHP-FPM neu.
sudo systemctl restart php7.3-fpm
Aktualisieren Sie nun die Seite des YouPHPTube Encoder-Installationsassistenten. Ihr Server sollte alle Anforderungen erfüllen. Jetzt müssen Sie auf der rechten Seite den Namen, den Benutzer und das Passwort der YouPHPTubeEncoder-Datenbank eingeben, die Sie zuvor erstellt haben. Achten Sie auf Groß- und Kleinschreibung und geben Sie das Admin-Passwort der Streamer-Site ein.
Klicken Sie auf die Schaltfläche Jetzt installieren und YouPHPTube Encoder wird installiert.
Entfernen Sie das Installationsverzeichnis.
sudo rm /var/www/YouPHPTube/upload/install/ -r
Und gehen Sie zur Hauptseite.
Schritt 8:Ändern Sie die Encoder-URL
Standardmäßig verwendet YouPHPTube den öffentlichen Encoder zum Hochladen von Videos. Um Ihren eigenen Encoder zu verwenden, melden Sie sich als Administrator bei YouPHPTube an (nicht YouPHPTube-Encoder) und gehen Sie vom linken Admin-Panel zum Admin-Panel.
Gehen Sie zu settings
-> site settings
-> advanced configuration
. Ändern Sie die Encoder-URL in https://tube.yourdomain.com/upload/
. Speichern Sie die Einstellungen, löschen Sie das Cache-Verzeichnis und erstellen Sie eine neue Sitemap.
Melden Sie sich jetzt ab und wieder an. Wenn Sie auf encode video and audio
klicken Schaltfläche in der oberen rechten Ecke, werden Sie zu Ihrem eigenen Encoder weitergeleitet, um Videos hochzuladen. Beachten Sie, dass die Codierungsgeschwindigkeit von der CPU-Leistung Ihres Servers abhängt.
Schritt 9:SMTP konfigurieren
Um E-Mails zu versenden (z. B. Kontoregistrierung, Passwortzurücksetzung usw.), müssen Sie einen SMTP-Server konfigurieren. Wenn Sie Ihren eigenen Mailserver verwenden möchten, um E-Mails an Clients zu senden, lesen Sie bitte den folgenden Artikel, um Ihren eigenen Mailserver einzurichten.
- Wie man schnell einen E-Mail-Server auf Debian 9 mit Modoboa einrichtet
Wenn Sie einen SMTP-Relay-Dienst verwenden möchten, empfehle ich Mailjet. Sie können dem nachstehenden Tutorial folgen, um SMTP-Relay auf Ihrem YouPHPTube-Server einzurichten.
- Wie man Postfix SMTP-Relay auf Debian mit Mailjet einrichtet
TCP-BBR aktivieren
Für einen Video-Streaming-Server wird empfohlen, den TCP BBR-Überlastungskontrollalgorithmus im Linux-Kernel zu aktivieren, indem Sie den Anweisungen im folgenden Artikel folgen. (Es wurde für Ubuntu geschrieben, funktioniert aber auch unter Debian 10 Buster.)
- So steigern Sie die Netzwerkleistung von Ubuntu 16.04/18.04 ganz einfach durch Aktivieren von TCP BBR
Mobile Apps
Sie können die kostenlose Android-App oder iOS-App herunterladen, indem Sie nach YouPHPTube
suchen im Google Play Store oder YPT Mobile
im Apple-Store. Mobile White-Label-Apps erfordern eine kostenpflichtige Lizenz.
Fehlerbehebung
Wenn Ihre YouPHPTube-Hauptseite einige CSS- und JavaScript-Ressourcen nicht laden konnte,
Wahrscheinlich haben Sie einen zusätzlichen Schrägstrich in der virtuellen Apache- oder Nginx-Hostdatei für das Web-Root-Verzeichnis hinzugefügt. Anstelle von
DocumentRoot /var/www/YouPHPTube/
Sie sollten
verwendenDocumentRoot /var/www/YouPHPTube
Wenn Ihr Encoder nicht ordnungsgemäß funktioniert, können Sie die Protokolldatei unter /var/www/YouPHPTube/upload/videos/youphptube.log
überprüfen .
Andere Leckerbissen
Beim Codieren von Videos können Sie Auflösungen auswählen (niedrig, SD, HD). Wenn Sie YouPHPTube als persönliche Video-Streaming-Site verwenden, empfehle ich, nur die HD-Auflösung zu wählen, um die Kodierungszeit zu verkürzen und Speicherplatz zu sparen. Wenn Sie bereits Videos mit allen 3 Auflösungen kodiert haben, können Sie zum YouPHPTube-Videoverzeichnis (/var/www/YouPHPTube/videos) gehen und Videos mit niedriger Auflösung und SD-Auflösung löschen.
cd /var/www/YouPHPTube/videos/ sudo rm *Low.mp4 sudo rm *SD.mp4
So laden Sie alle Videos von Ihrer Video-Site herunter
Sie können das youtube-dl
verwenden Befehlszeilenprogramm zum Herunterladen aller Videos. Zuerst müssen Sie zum YouPHPTube-Dashboard gehen, dann zur Videolistenseite gehen und nach unten scrollen, auf Ihre Videoliste herunterladen (permalink .txt-Datei) klicken Taste. Sie sehen eine Liste mit URLs für alle Videos.
Öffnen Sie als nächstes ein Terminal und erstellen Sie eine txt-Datei mit einem Texteditor, kopieren Sie die URLs von der Webseite und fügen Sie sie in die Datei ein. Dann können Sie den folgenden Befehl ausführen, um die Videos herunterzuladen. Ersetzen Sie video-list.txt
mit dem eigenen Dateinamen.
youtube-dl -a video-list.txt