Ce didacticiel va vous montrer comment exécuter votre propre site Web de partage de vidéos avec YouPHPTube sur Debian 10 Buster. YouPHPTube est une alternative open source et auto-hébergée aux sites de partage de vidéos comme YouTube, Vimeo, etc. Avec YouPHPTube, vous pouvez télécharger une vidéo sur votre propre serveur et la partager avec Internet.
Fonctionnalités de YouPHPTube
- Diffusions en direct illimitées et simultanées et vous pouvez avoir un nombre illimité d'utilisateurs connectés à chaque diffusion en direct.
- Importer et encoder des vidéos d'autres sites directement depuis Internet
- Encodage en masse à partir du répertoire vidéo local
- Créer des vidéos privées
- Fonction totalement intégrée avec Youtube, vous permettant de synchroniser vos vidéos avec Youtube
- Transcoder plusieurs formats de fichiers multimédias en fichiers MP4, WebM et MP3
- Prise en charge d'Amazone S3 (service de stockage simple)
- Mise en page réactive du site. YouPHPTube est incroyable sur n'importe quel appareil. (Vous pouvez choisir une mise en page de style YouTube ou Netfilx.)
- Chaînes d'utilisateurs et playlists d'utilisateurs
- Abonnez-vous aux chaînes que vous aimez
- Vous pouvez surveiller les performances de vos vidéos avec des statistiques et des rapports à jour dans les statistiques de YouPHPTube.
- Étendre les fonctionnalités du site avec des plugins.
- Optimisé pour le référencement
- Applications iOS et Android disponibles
Configuration requise pour le serveur YouTube
Tout d'abord, vous devez savoir qu'un processeur monocœur n'est pas viable pour un site Web de partage de vidéos, car le processus d'encodage utilisera beaucoup de ressources processeur.
Choisissez ensuite les spécifications du serveur en fonction du nombre d'utilisateurs de votre site.
- Si vous souhaitez simplement l'utiliser pour partager vos propres vidéos, vous avez besoin d'un serveur avec au moins 2 cœurs de processeur et 4 Go de RAM. Vous pouvez acheter un puissant VPS (serveur privé virtuel) auprès de Contabo à très peu de frais.
- Si vous vous attendez à ce que votre site ait des dizaines d'utilisateurs, vous pouvez envisager le très grand VPS Contabo, qui dispose de 10 cœurs de processeur, de 60 Go de RAM, d'une vitesse de port de 1 Gbit/s, d'un espace disque de 1,6 To, d'un trafic illimité mais ne coûte que 26,99 €. Euros/mois.
- Lorsque votre site se développe au-delà de cela, vous devez acheter un serveur dédié.
Configuration logicielle requise pour l'installation de YouPHPTube sur Debian 10 Buster
YouPHPTube nécessite PHP et MySQL/MariaDB. Pour suivre ce tutoriel, vous devez déjà avoir configuré une pile LAMP ou LEMP. Si vous préférez utiliser le serveur Web Apache, installez la pile LAMP.
- Comment installer la pile LAMP (Apache, MariaDB, PHP) sur Debian 10 Buster
Si vous préférez utiliser le serveur Web Nginx, installez la pile LEMP.
- Comment installer la pile LEMP (Nginx, MariaDB, PHP) sur Debian 10 Buster
Remarque :Le support de YouPHPTube avec Nginx n'est qu'expérimental. Vous pouvez rencontrer des problèmes si vous utilisez Nginx.
Vous avez également besoin d'un nom de domaine. J'ai enregistré mon nom de domaine chez NameCheap car le prix est bas et ils offrent une protection de confidentialité whois gratuite à vie.
YouPHPTube est composé de deux parties.
- La partie principale est le serveur de diffusion frontal, qui permet aux utilisateurs de regarder des vidéos existantes.
- L'autre partie est l'encodeur, qui permet aux utilisateurs de mettre en ligne leurs vidéos.
L'encodeur public utilise le nom de domaine encoder.youphptube.com
. Si vous ne voulez pas que les utilisateurs quittent votre site lors du téléchargement de vidéos, vous devez configurer votre encodeur privé. Je vais vous montrer comment dans cet article. Sans plus tarder, commençons.
Étape 1 :Téléchargez YouPHPTube sur le serveur Debian 10 Buster
Connectez-vous à votre serveur Debian 10 Buster via SSH. Accédez ensuite au répertoire racine du site Web.
cd /var/www/
Clonez le référentiel de streamer YouPHPTube depuis Github.
sudo apt install git sudo git clone https://github.com/YouPHPTube/YouPHPTube.git
Allez ensuite dans le répertoire.
cd YouPHPTube/
Clonez le dépôt de l'encodeur YouPHPTube depuis Github.
sudo git clone https://github.com/YouPHPTube/YouPHPTube-Encoder.git
Il sera enregistré sous YouPHPTube-Encoder
. Nous le renommons en upload
, afin que les utilisateurs puissent avoir une meilleure idée à quoi sert cette URL lorsqu'ils mettent en ligne des vidéos.
sudo mv YouPHPTube-Encoder upload
Ensuite, nous devons faire de www-data (l'utilisateur du serveur Web) le propriétaire de la racine Web.
sudo chown www-data:www-data /var/www/YouPHPTube/ -R
Étape 2 :Installer les dépendances
YouPHPTube utilise FFmpeg
pour encoder des vidéos. Nous pouvons facilement installer FFmpeg à partir du référentiel Debian par défaut.
sudo apt install ffmpeg
Pour lire et écrire des méta-informations dans des fichiers multimédia, nous devons installer le libimage-exiftool-perl
paquet.
sudo apt install libimage-exiftool-perl
Vous devez également installer certaines extensions PHP courantes.
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
Pour récupérer des vidéos d'autres sites, nous devons installer YouTube-DL. Bien qu'il soit inclus dans le référentiel Debian, mais il est obsolète. Nous allons installer YouTube-DL à partir du Python Package Index, qui contient toujours la dernière version de YouTube-DL.
sudo apt install python3-pip sudo -H pip3 install youtube-dl
Il est très important que vous utilisiez la dernière version, sinon vous ne pourrez peut-être pas télécharger de vidéos à partir d'autres sites. Nous pouvons créer une tâche Cron pour vérifier et installer automatiquement la dernière version.
sudo crontab -e
Ajoutez la ligne suivante à la fin du fichier Crontab pour essayer de mettre à jour quotidiennement YouTube-DL.
@daily sudo -H pip3 install --upgrade youtube-dl > /dev/null
Étape 3 :Créer une base de données et un utilisateur dans MariaDB
Connectez-vous au serveur de base de données MariaDB avec la commande suivante. Puisque MariaDB utilise maintenant unix_socket
plugin pour authentifier la connexion de l'utilisateur, il n'est pas nécessaire d'entrer le mot de passe root MariaDB. Nous avons juste besoin de préfixer le mysql
commande avec sudo
.
sudo mysql
Créez ensuite une base de données pour YouPHPTube. Ce tutoriel nomme la base de données YouPHPTube
. Vous pouvez utiliser le nom de votre choix.
create database YouPHPTube;
Créez l'utilisateur de la base de données. Encore une fois, vous pouvez utiliser votre nom préféré pour cet utilisateur. Remplacez your-password
avec votre mot de passe préféré.
create user youphptube@localhost identified by 'your-password';
Accordez à cet utilisateur tous les privilèges sur le youphptube
base de données.
grant all privileges on YouPHPTube.* to youphptube@localhost;
Nous devons également créer une base de données distincte pour l'encodeur.
create database YouPHPTubeEncoder;
Créez un utilisateur pour cette base de données.
create user encoder@localhost identified by 'your-password';
Accorder des privilèges.
grant all privileges on YouPHPTubeEncoder.* to encoder@localhost;
Videz la table des privilèges et quittez.
flush privileges; exit;
Étape 4 :Configuration du serveur Web
Nous pouvons utiliser le serveur Web Apache ou Nginx.
Apache
Si vous préférez Apache, créez un fichier d'hôte virtuel pour YouPHPTube avec un éditeur de texte en ligne de commande comme Nano.
sudo nano /etc/apache2/sites-available/youphptube.conf
Mettez le texte suivant dans le fichier. Remplacez le texte de couleur rouge par vos données réelles. J'utilise un sous-domaine dans ce tutoriel. Vous pouvez utiliser votre nom de domaine principal si vous préférez. N'oubliez pas de définir un enregistrement DNS A pour le nom de domaine dans votre gestionnaire d'enregistrements DNS. Notez également que le répertoire racine du document est sensible à la casse et que vous ne devez pas ajouter de barre oblique à la fin.
<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>
Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.
sudo a2ensite youphptube.conf
Nous devons activer le module de réécriture.
sudo a2enmod rewrite
Redémarrez Apache pour que les modifications prennent effet.
sudo systemctl restart apache2
Visitez maintenant tube.yourdomain.com
et vous serez redirigé vers la page de l'assistant d'installation (tube.yourdomain.com/install/index.php
). Si vous voyez la page Apache par défaut au lieu de l'assistant de configuration, vous devez désactiver l'hôte virtuel par défaut.
sudo a2dissite 000-default.conf
Et redémarrez Apache.
Avant de saisir des informations dans l'assistant de configuration, nous devons activer HTTPS.
Nginx
Si vous préférez Nginx, créez un youphptube.conf
fichier dans /etc/nginx/conf.d/
répertoire.
sudo nano /etc/nginx/conf.d/youphptube.conf
Mettez le texte suivant dans le fichier. Remplacez le texte de couleur rouge par vos données réelles. J'utilise un sous-domaine dans ce tutoriel. Vous pouvez utiliser votre nom de domaine principal si vous préférez. N'oubliez pas de définir un enregistrement DNS A pour le nom de domaine dans votre gestionnaire d'enregistrements DNS. Notez également que le répertoire racine du document est sensible à la casse.
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; } }
Enregistrez et fermez le fichier. Testez ensuite la configuration de Nginx.
sudo nginx -t
Si le test réussit, rechargez Nginx pour que les modifications prennent effet.
sudo systemctl reload nginx
Visitez maintenant tube.yourdomain.com
et vous serez redirigé vers la page de l'assistant d'installation (tube.yourdomain.com/install/index.php
). Avant de saisir des informations dans l'assistant de configuration, nous devons activer HTTPS.
Étape 5 :Activer HTTPS
Pour chiffrer le trafic HTTP, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let's Encrypt. Exécutez la commande suivante pour installer le client Let's Encrypt (certbot) sur le serveur Debian 10 Buster.
sudo apt install certbot
Si vous utilisez Apache, vous devez également installer le plugin Certbot Apache.
sudo apt install python3-certbot-apache
Et exécutez cette commande pour obtenir et installer le certificat TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d tube.yourdomain.com
Si vous utilisez Nginx, installez le plugin Certbot Nginx.
sudo apt install python3-certbot-nginx
Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d tube.yourdomain.com
Où
--nginx
:Utilisez le plug-in nginx.--apache
:Utilisez le plug-in Apache.--agree-tos
:acceptez les conditions d'utilisation.--redirect
:Forcer HTTPS par redirection 301.--hsts
: ajoutez l'en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Protège contre le SSL/TLS Stripping.--staple-ocsp
: Active l'agrafage OCSP. Une réponse OCSP valide est agrafée au certificat que le serveur propose pendant TLS.
Le certificat devrait maintenant être obtenu et installé automatiquement.
Étape 6 :Terminez l'installation avec l'assistant de configuration
Allez maintenant sur tube.yourdomain.com
et l'assistant de configuration apparaîtra. Sur le côté gauche, vous pouvez voir si votre serveur répond aux exigences.
Si vous utilisez Nginx, vous pouvez ignorer le message suivant.
Your server is nginx/1.14.2, you must install Apache.
Comme vous pouvez le voir, le PHP post_max_size
doit être d'au moins 100 Mo et upload_max_filesize
doit être d'au moins 100M. Nous devons éditer le php.ini
fichier pour modifier les deux valeurs. Si vous utilisez le serveur Web Apache, alors
sudo nano /etc/php/7.3/apache2/php.ini
Si vous utilisez Nginx avec PHP-FPM, vous devez modifier la version FPM du fichier php.ini.
sudo nano /etc/php/7.3/fpm/php.ini
Trouvez les deux lignes suivantes.
post_max_size = 8M upload_max_filesize = 2M
Modifiez les valeurs en fonction de la taille du fichier vidéo que vous allez télécharger. Par exemple, si vous autorisez le téléchargement d'un fichier vidéo 1G, alors
post_max_size = 1024M upload_max_filesize = 1024M
Enregistrez et fermez le fichier. Redémarrez Apache pour que les modifications prennent effet.
sudo systemctl restart apache2
Si vous utilisez Nginx avec PHP-FPM, redémarrez PHP-FPM.
sudo systemctl restart php7.3-fpm
Actualisez maintenant la page de l'assistant d'installation de YouPHPTube. Votre serveur doit répondre à toutes les exigences. Maintenant, sur le côté droit, vous pouvez entrer un titre pour votre site vidéo. Entrez le nom de la base de données YouPHPTube, l'utilisateur et le mot de passe que vous avez créés précédemment. (Remarque :vous devez utiliser la base de données principale, pas la base de données de l'encodeur. Faites également attention à la casse.) Et définissez un mot de passe d'administrateur système.
Cliquez sur Install now
bouton et YouPHPTube devrait être installé avec succès.
Maintenant, nous devons supprimer le /var/www/YouPHPTube/install/
répertoire.
sudo rm /var/www/YouPHPTube/install/ -r
Cliquez sur Go to the main page
et vous verrez la page principale de YouPHPTube.
Vous pouvez cliquer sur le menu déroulant à gauche et vous connecter en tant que admin
utilisateur et avec le mot de passe que vous avez défini il y a quelques instants.
Étape 7 :Configurer l'encodeur
Allez sur https://tube.yourdomain.com/upload/
. Vous serez redirigé vers l'assistant de configuration de l'encodeur. Si vous n'êtes pas automatiquement redirigé, vous pouvez saisir manuellement l'URL de l'assistant de configuration.
https://tube.yourdomain.com/upload/install/index.php/
Le côté gauche vous montrera si votre serveur répond aux exigences de YouPHPTube Encoder.
Si vous utilisez Nginx, vous pouvez ignorer le message suivant.
Your server is nginx/1.14.2, you must install Apache.
Comme vous pouvez le voir le PHP max_execution_time
doit être au moins 7200 et PHP memory_limit
doit être d'au moins 512M. Nous devons éditer le php.ini
fichier pour modifier les deux valeurs. Si vous utilisez le serveur Web Apache, alors
sudo nano /etc/php/7.3/apache2/php.ini
Si vous utilisez Nginx avec PHP-FPM, vous devez modifier la version FPM du fichier php.ini.
sudo nano /etc/php/7.3/fpm/php.ini
Trouvez les deux lignes suivantes.
max_execution_time = 30 memory_limit = 128M
Modifiez les valeurs .
max_execution_time = 7200 memory_limit = 512M
Notez que si l'encodage vidéo ultérieur s'arrête à mi-parcours, vous devez augmenter le max_execution_time
, ou mettez à niveau votre CPU.
Enregistrez et fermez le fichier. Redémarrez Apache pour que les modifications prennent effet.
sudo systemctl restart apache2
Si vous utilisez Nginx avec PHP-FPM, redémarrez PHP-FPM.
sudo systemctl restart php7.3-fpm
Actualisez maintenant la page de l'assistant d'installation de YouPHPTube Encoder. Votre serveur doit répondre à toutes les exigences. Maintenant, sur le côté droit, vous devez entrer le nom de la base de données YouPHPTubeEncoder, l'utilisateur et le mot de passe que vous avez créés précédemment. Faites attention à la casse et saisissez le mot de passe administrateur du site de streamer.
Cliquez sur le bouton Installer maintenant et l'encodeur YouPHPTube sera installé.
Supprimez le répertoire d'installation.
sudo rm /var/www/YouPHPTube/upload/install/ -r
Et allez à la page principale.
Étape 8 :Modifier l'URL de l'encodeur
Par défaut, YouPHPTube utilise l'encodeur public pour télécharger des vidéos. Pour utiliser votre propre encodeur, connectez-vous en tant qu'administrateur dans YouPHPTube (et non dans l'encodeur YouPHPTube) et accédez au panneau d'administration à partir du panneau d'administration de gauche.
Accédez aux settings
-> site settings
-> advanced configuration
. Changez l'URL de l'encodeur en https://tube.yourdomain.com/upload/
. Enregistrez les paramètres, effacez le répertoire de cache et générez un nouveau sitemap.
Maintenant, déconnectez-vous et reconnectez-vous. Si vous cliquez sur encode video and audio
dans le coin supérieur droit, vous serez redirigé vers votre propre encodeur pour télécharger des vidéos. Il convient de noter que la vitesse d'encodage dépend de la puissance du processeur de votre serveur.
Étape 9 :Configurer SMTP
Pour envoyer des e-mails (tels que l'enregistrement d'un compte, la réinitialisation du mot de passe, etc.), vous devez configurer un serveur SMTP. Si vous souhaitez utiliser votre propre serveur de messagerie pour envoyer des e-mails aux clients, veuillez consulter l'article suivant pour configurer votre propre serveur de messagerie.
- Comment configurer rapidement un serveur de messagerie sur Debian 9 avec Modoboa
Si vous souhaitez utiliser un service de relais SMTP, je vous recommande Mailjet. Vous pouvez suivre le tutoriel ci-dessous pour configurer le relais SMTP sur votre serveur YouPHPTube.
- Comment configurer le relais SMTP de Postfix sur Debian avec Mailjet
Activer TCP BBR
Pour un serveur de streaming vidéo, il est recommandé d'activer l'algorithme de contrôle de congestion TCP BBR dans le noyau Linux en suivant les instructions de l'article ci-dessous. (Il est écrit pour Ubuntu, mais fonctionne également sur Debian 10 Buster.)
- Comment améliorer facilement les performances réseau d'Ubuntu 16.04/18.04 en activant TCP BBR
Applications mobiles
Vous pouvez télécharger l'application Android gratuite ou l'application iOS en effectuant une recherche sur YouPHPTube
sur Google Play Store ou YPT Mobile
dans l'Apple Store. L'application mobile en marque blanche nécessite une licence payante.
Dépannage
Si votre page principale YouPHPTube n'a pas réussi à charger certaines ressources CSS et JavaScript,
Il est probable que vous ayez ajouté une barre oblique supplémentaire dans le fichier d'hôte virtuel Apache ou Nginx pour le répertoire racine Web. Au lieu d'utiliser
DocumentRoot /var/www/YouPHPTube/
Vous devez utiliser
DocumentRoot /var/www/YouPHPTube
Si votre encodeur ne fonctionne pas correctement, vous pouvez consulter le fichier journal sur /var/www/YouPHPTube/upload/videos/youphptube.log
.
Autres informations
Lors de l'encodage des vidéos, vous pouvez choisir des résolutions (basse, SD, HD). Si vous utilisez YouPHPTube comme site de streaming vidéo personnel, je vous recommande de choisir la résolution HD uniquement pour réduire le temps d'encodage et économiser de l'espace disque. Si vous avez déjà encodé des vidéos dans les 3 résolutions, vous pouvez accéder au répertoire vidéo de YouPHPTube (/var/www/YouPHPTube/videos) et supprimer les vidéos en basse résolution et en résolution SD.
cd /var/www/YouPHPTube/videos/ sudo rm *Low.mp4 sudo rm *SD.mp4
Comment télécharger toutes les vidéos de votre site vidéo
Vous pouvez utiliser le youtube-dl
utilitaire de ligne de commande pour télécharger toutes les vidéos. Tout d'abord, vous devez accéder au tableau de bord YouPHPTube, puis accéder à la page de la liste des vidéos et faire défiler vers le bas, cliquez sur télécharger votre liste de vidéos (fichier permalien .txt) bouton. Vous verrez une liste d'URL pour toutes les vidéos.
Ensuite, ouvrez un terminal et créez un fichier txt avec un éditeur de texte, copiez les URL de la page Web et collez-les dans le fichier. Ensuite, vous pouvez exécuter la commande suivante pour télécharger les vidéos. Remplacez video-list.txt
avec votre propre nom de fichier.
youtube-dl -a video-list.txt