GNU/Linux >> Znalost Linux >  >> Debian

Provozujte svůj vlastní web pro sdílení videa s YouPHPTube na Debian 10 Buster

Tento tutoriál vám ukáže, jak spustit vlastní webovou stránku pro sdílení videa pomocí YouPHPTube na Debian 10 Buster. YouPHPTube je open-source, samostatně hostovaná alternativa k webům pro sdílení videa, jako je YouTube, Vimeo atd. S YouPHPTube můžete nahrát video na svůj vlastní server a sdílet je s internetem.

Funkce YouPHTube

  • Neomezené a simultánní živé přenosy a ke každému živému přenosu můžete mít připojen neomezený počet uživatelů.
  • Importujte a kódujte videa z jiných stránek přímo z internetu
  • Hromadné kódování z místního adresáře videa
  • Vytvářejte soukromá videa
  • Zcela integrovaná funkce s YouTube, která vám umožní synchronizovat vaše videa s YouTube
  • Překódujte více formátů multimediálních souborů do souborů MP4, WebM a MP3
  • Podpora Amazone S3 (Simple Storage Service)
  • Responzivní rozvržení webu. YouPHPTube vypadá neuvěřitelně na jakémkoli zařízení. (Můžete si vybrat rozvržení ve stylu YouTube nebo Netfilx.)
  • Uživatelské kanály a uživatelské seznamy videí
  • Přihlaste se k odběru kanálů, které se vám líbí
  • Výkon svých videí můžete sledovat pomocí aktuálních metrik a přehledů ve statistikách YouPHTube.
  • Rozšiřte funkce webu pomocí pluginů.
  • Optimalizováno pro SEO
  • K dispozici jsou aplikace pro iOS a Android

Požadavky serveru YouPHPTube

Zaprvé byste měli vědět, že jednojádrový procesor není pro web pro sdílení videa životaschopný, protože proces kódování bude spotřebovávat hodně prostředků CPU.

Poté vyberte specifikace serveru v souladu s počtem uživatelů, které má váš web.

  • Pokud jej chcete používat pouze ke sdílení vlastních videí, potřebujete server s alespoň 2 jádry CPU a 4 GB RAM. Můžete si koupit výkonný VPS (virtuální privátní server) od společnosti Contabo s velmi nízkou cenou.
  • Pokud očekáváte, že váš web bude mít desítky uživatelů, můžete zvážit Contabo extra velký VPS, který má 10 CPU jader, 60 GB RAM, rychlost portu 1 Gbit/s, 1,6 TB místa na disku, neomezený provoz, ale stojí pouhých 26,99 eur/měsíc.
  • Až se vaše stránky rozrostou, měli byste si zakoupit dedikovaný server.

Softwarové požadavky instalace YouPHPTube na Debian 10 Buster

YouPHPTube vyžaduje PHP a MySQL/MariaDB. Abyste mohli postupovat podle tohoto návodu, měli byste již nastavit zásobník LAMP nebo zásobník LEMP. Pokud dáváte přednost použití webového serveru Apache, nainstalujte si zásobník LAMP.

  • Jak nainstalovat zásobník LAMP (Apache, MariaDB, PHP) na Debian 10 Buster

Pokud dáváte přednost použití webového serveru Nginx, nainstalujte LEMP stack.

  • Jak nainstalovat zásobník LEMP (Nginx, MariaDB, PHP) na Debian 10 Buster

Poznámka :Podpora YouPHTube s Nginx je pouze experimentální. Pokud používáte Nginx, můžete mít problémy.

Potřebujete také název domény. Zaregistroval jsem své doménové jméno na NameCheap, protože cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.

YouPHPTube se skládá ze dvou částí.

  • Hlavní částí je front-end streamer server, který uživatelům umožňuje sledovat existující videa.
  • Druhou částí je kodér, který uživatelům umožňuje nahrávat videa.

Veřejný kodér používá název domény encoder.youphptube.com . Pokud nechcete, aby uživatelé při nahrávání videí opouštěli váš web, musíte si nastavit soukromý kodér. Jak na to, vám ukážu v tomto článku. Bez dalších okolků můžeme začít.

Krok 1:Stáhněte si YouPHPTube na Debian 10 Buster Server

Přihlaste se ke svému serveru Debian 10 Buster přes SSH. Poté přejděte do kořenového adresáře webu.

cd /var/www/

Naklonujte úložiště streamerů YouPHPTube z Github.

sudo apt install git
sudo git clone https://github.com/YouPHPTube/YouPHPTube.git

Poté přejděte do adresáře.

cd YouPHPTube/

Naklonujte úložiště kodéru YouPHPTube z Github.

sudo git clone https://github.com/YouPHPTube/YouPHPTube-Encoder.git

Bude uložen jako YouPHPTube-Encoder . Přejmenujeme jej na upload , takže uživatelé mohou mít při nahrávání videí lepší představu, k čemu tato adresa URL slouží.

sudo mv YouPHPTube-Encoder upload

Dále musíme udělat z www-data (uživatele webového serveru) vlastníka webového kořenového adresáře.

sudo chown www-data:www-data /var/www/YouPHPTube/ -R

Krok 2:Instalace závislostí

YouPHPTube používá FFmpeg pro kódování videí. FFmpeg můžeme snadno nainstalovat z výchozího úložiště Debianu.

sudo apt install ffmpeg

Abychom mohli číst a zapisovat metainformace v multimediálních souborech, musíme nainstalovat libimage-exiftool-perl balíček.

sudo apt install libimage-exiftool-perl

Musíte také nainstalovat některá běžná rozšíření PHP.

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

Abychom mohli načítat videa z jiných webů, musíme nainstalovat YouTube-DL. I když je součástí úložiště Debianu, ale je zastaralý. Nainstalujeme YouTube-DL z Python Package Index, který vždy obsahuje nejnovější verzi YouTube-DL.

sudo apt install python3-pip
sudo -H pip3 install youtube-dl

Je velmi důležité, abyste používali nejnovější verzi, jinak možná nebudete moci stahovat videa z jiných stránek. Můžeme vytvořit úlohu Cron pro automatickou kontrolu a instalaci nejnovější verze.

sudo crontab -e

Přidejte následující řádek na konec souboru Crontab a zkuste denně aktualizovat YouTube-DL.

@daily sudo -H pip3 install --upgrade youtube-dl > /dev/null

Krok 3:Vytvořte databázi a uživatele v MariaDB

Přihlaste se k databázovému serveru MariaDB pomocí následujícího příkazu. Protože MariaDB nyní používá unix_socket plugin pro ověření přihlášení uživatele, není nutné zadávat root heslo MariaDB. Potřebujeme pouze předponu mysql příkaz pomocí sudo .

sudo mysql

Poté vytvořte databázi pro YouPHPTube. Tento tutoriál pojmenuje databázi YouPHPTube . Můžete použít jakékoli jméno.

create database YouPHPTube;

Vytvořte uživatele databáze. Opět můžete pro tohoto uživatele použít preferované jméno. Nahraďte your-password s vaším preferovaným heslem.

create user youphptube@localhost identified by 'your-password';

Udělte tomuto uživateli všechna oprávnění na youphptube databáze.

grant all privileges on YouPHPTube.* to youphptube@localhost;

Potřebujeme také vytvořit samostatnou databázi pro kodér.

create database YouPHPTubeEncoder;

Vytvořte uživatele pro tuto databázi.

create user encoder@localhost identified by 'your-password';

Udělte oprávnění.

grant all privileges on YouPHPTubeEncoder.* to encoder@localhost;

Vyprázdněte tabulku oprávnění a ukončete.

flush privileges;

exit;

Krok 4:Nastavení webového serveru

Můžeme použít webový server Apache nebo Nginx.

Apache

Pokud dáváte přednost Apache, vytvořte soubor virtuálního hostitele pro YouPHPTube pomocí textového editoru příkazového řádku, jako je Nano.

sudo nano /etc/apache2/sites-available/youphptube.conf

Do souboru vložte následující text. Nahraďte červeně zbarvený text svými skutečnými daty. V tomto tutoriálu používám subdoménu. Pokud chcete, můžete použít hlavní název domény. Nezapomeňte ve správci záznamů DNS nastavit DNS záznam pro název domény. Všimněte si také, že kořenový adresář dokumentu rozlišuje velká a malá písmena a neměli byste na konec přidávat lomítko.

<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>

Uložte a zavřete soubor. Poté povolte tohoto virtuálního hostitele.

sudo a2ensite youphptube.conf

Musíme povolit modul přepisování.

sudo a2enmod rewrite

Restartujte Apache, aby se změny projevily.

sudo systemctl restart apache2

Nyní navštivte tube.yourdomain.com a budete přesměrováni na stránku průvodce nastavením (tube.yourdomain.com/install/index.php ). Pokud místo průvodce nastavením vidíte výchozí stránku Apache, musíte výchozí virtuální hostitel zakázat.

sudo a2dissite 000-default.conf

A restartujte Apache.

Před zadáním jakýchkoli informací do průvodce nastavením musíme povolit HTTPS.

Nginx

Pokud dáváte přednost Nginxu, vytvořte youphptube.conf soubor v /etc/nginx/conf.d/ adresář.

sudo nano /etc/nginx/conf.d/youphptube.conf

Do souboru vložte následující text. Nahraďte červeně zbarvený text svými skutečnými daty. V tomto tutoriálu používám subdoménu. Pokud chcete, můžete použít hlavní název domény. Nezapomeňte ve správci záznamů DNS nastavit DNS záznam pro název domény. Všimněte si také, že kořenový adresář dokumentu rozlišuje malá a velká písmena.

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;
   }

}

Uložte a zavřete soubor. Poté otestujte konfiguraci Nginx.

sudo nginx -t

Pokud je test úspěšný, znovu načtěte Nginx, aby se změny projevily.

sudo systemctl reload nginx

Nyní navštivte tube.yourdomain.com a budete přesměrováni na stránku průvodce nastavením (tube.yourdomain.com/install/index.php ). Před zadáním jakýchkoli informací do průvodce nastavením musíme povolit HTTPS.

Krok 5:Povolení HTTPS

Pro šifrování HTTP provozu můžeme povolit HTTPS instalací bezplatného TLS certifikátu vydaného od Let’s Encrypt. Spuštěním následujícího příkazu nainstalujte klienta Let’s Encrypt (certbot) na server Debian 10 Buster.

sudo apt install certbot

Pokud používáte Apache, musíte si také nainstalovat plugin Certbot Apache.

sudo apt install python3-certbot-apache

A spusťte tento příkaz, abyste získali a nainstalovali certifikát TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d tube.yourdomain.com

Pokud používáte Nginx, nainstalujte si plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d tube.yourdomain.com

Kde

  • --nginx :Použijte plugin nginx.
  • --apache :Použijte plugin Apache.
  • --agree-tos :Souhlas se smluvními podmínkami.
  • --redirect :Vynutit HTTPS přesměrováním 301.
  • --hsts :Ke každé odpovědi HTTP přidejte záhlaví Strict-Transport-Security. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.
  • --staple-ocsp : Povoluje sešívání OCSP. Platná odpověď OCSP je přišita k certifikátu, který server nabízí během TLS.

Certifikát by nyní měl být získán a automaticky nainstalován.

Krok 6:Dokončete instalaci pomocí průvodce nastavením

Nyní přejděte na tube.yourdomain.com a zobrazí se průvodce nastavením. Na levé straně můžete vidět, zda váš server splňuje požadavky.

Pokud používáte Nginx, můžete následující zprávu ignorovat.

Your server is nginx/1.14.2, you must install Apache.

Jak můžete vidět, PHP post_max_size by měla být alespoň 100 milionů a upload_max_filesize by měla být alespoň 100 mil. Musíme upravit php.ini soubor pro změnu dvou hodnot. Pokud používáte webový server Apache, pak

sudo nano /etc/php/7.3/apache2/php.ini

Pokud používáte Nginx s PHP-FPM, musíte upravit verzi FPM souboru php.ini.

sudo nano /etc/php/7.3/fpm/php.ini

Najděte následující dva řádky.

post_max_size = 8M
upload_max_filesize = 2M

Změňte hodnoty podle velikosti souboru videa, který se chystáte nahrát. Pokud například povolíte nahrávání souboru videa 1G, pak

post_max_size = 1024M
upload_max_filesize = 1024M

Uložte a zavřete soubor. Restartujte Apache, aby se změny projevily.

sudo systemctl restart apache2

Pokud používáte Nginx s PHP-FPM, restartujte PHP-FPM.

sudo systemctl restart php7.3-fpm

Nyní obnovte stránku průvodce instalací YouPHPTube. Váš server by měl splňovat všechny požadavky. Nyní na pravé straně můžete zadat název svého webu s videem. Zadejte název databáze YouPHPTube, uživatele a heslo, které jste vytvořili dříve. (Poznámka:Měli byste použít hlavní databázi, nikoli databázi kodéru. Také si uvědomte, že se rozlišují velká a malá písmena.) A nastavte heslo správce systému.

Klikněte na Install now a YouPHPTube by měly být úspěšně nainstalovány.

Nyní musíme odstranit /var/www/YouPHPTube/install/ adresář.

sudo rm /var/www/YouPHPTube/install/ -r

Klikněte na Go to the main page a uvidíte hlavní stránku YouPHPTube.

Můžete kliknout na rozbalovací nabídku vlevo a přihlásit se jako admin uživatele a s heslem, které jste před chvílí nastavili.

Krok 7:Nastavení kodéru

Přejděte na https://tube.yourdomain.com/upload/ . Budete přesměrováni na průvodce nastavením kodéru. Pokud nebudete automaticky přesměrováni, můžete ručně zadat adresu URL průvodce nastavením.

https://tube.yourdomain.com/upload/install/index.php/

Levá strana vám ukáže, zda váš server splňuje požadavky YouPHPTube Encoder.

Pokud používáte Nginx, můžete následující zprávu ignorovat.

Your server is nginx/1.14.2, you must install Apache.

Jak můžete vidět PHP max_execution_time by mělo být alespoň 7200 a PHP memory_limit by mělo být alespoň 512 milionů. Musíme upravit php.ini soubor pro změnu dvou hodnot. Pokud používáte webový server Apache, pak

sudo nano /etc/php/7.3/apache2/php.ini

Pokud používáte Nginx s PHP-FPM, musíte upravit verzi FPM souboru php.ini.

sudo nano /etc/php/7.3/fpm/php.ini

Najděte následující dva řádky.

max_execution_time = 30
memory_limit = 128M

Změňte hodnoty .

max_execution_time = 7200
memory_limit = 512M

Pamatujte, že pokud se později kódování videa zastaví v polovině, musíte zvýšit max_execution_time nebo upgradujte svůj CPU.

Uložte a zavřete soubor. Restartujte Apache, aby se změny projevily.

sudo systemctl restart apache2

Pokud používáte Nginx s PHP-FPM, restartujte PHP-FPM.

sudo systemctl restart php7.3-fpm

Nyní obnovte stránku průvodce instalací YouPHPTube Encoder. Váš server by měl splňovat všechny požadavky. Nyní na pravé straně musíte zadat název databáze YouPHPTubeEncoder, uživatele a heslo, které jste vytvořili dříve. Dejte pozor, aby se rozlišovala malá a velká písmena a zadejte heslo správce webu streameru.

Klikněte na tlačítko Install Now a YouPHPTube Encoder se nainstaluje.

Odeberte instalační adresář.

sudo rm /var/www/YouPHPTube/upload/install/ -r

A přejděte na hlavní stránku.

Krok 8:Změňte adresu URL kodéru

Ve výchozím nastavení používá YouPHPTube pro nahrávání videí veřejný kodér. Chcete-li použít svůj vlastní kodér, přihlaste se jako správce do YouPHPTube (nikoli kodér YouPHPTube) a přejděte na panel správce z levého panelu správce.

Přejděte do settings -> site settings -> advanced configuration . Změňte adresu URL kodéru na https://tube.yourdomain.com/upload/ . Uložte nastavení, vymažte adresář mezipaměti a vygenerujte novou mapu webu.

Nyní se odhlaste a znovu přihlaste. Pokud kliknete na encode video and audio tlačítko v pravém horním rohu, budete přesměrováni do svého vlastního kodéru, kde můžete nahrát videa. Je třeba poznamenat, že rychlost kódování závisí na výkonu CPU vašeho serveru.

Krok 9:Konfigurace SMTP

Chcete-li odesílat e-maily (jako je registrace účtu, resetování hesla atd.), musíte nakonfigurovat server SMTP. Pokud byste chtěli k odesílání e-mailů klientům používat svůj vlastní poštovní server, přečtěte si prosím následující článek o nastavení vlastního poštovního serveru.

  • Jak rychle nastavit e-mailový server na Debianu 9 pomocí Modoboa

Pokud byste chtěli používat službu přenosu SMTP, doporučuji Mailjet. Chcete-li nastavit přenos SMTP na serveru YouPHTube, postupujte podle níže uvedeného návodu.

  • Jak nastavit přenos Postfix SMTP na Debianu pomocí Mailjet

Povolit TCP BBR

U serveru pro streamování videa se doporučuje povolit algoritmus řízení přetížení TCP BBR v jádře Linuxu podle pokynů v článku níže. (Je napsán pro Ubuntu, ale funguje také na Debian 10 Buster.)

  • Jak snadno zvýšit výkon sítě Ubuntu 16.04/18.04 povolením TCP BBR

Mobilní aplikace

Bezplatnou aplikaci pro Android nebo iOS si můžete stáhnout vyhledáním YouPHPTube v Obchodě Google Play nebo YPT Mobile v Apple Store. Mobilní aplikace s bílým štítkem vyžaduje placenou licenci.

Odstraňování problémů

Pokud se hlavní stránce YouPHTube nepodařilo načíst některé zdroje CSS a JavaScript,

Je pravděpodobné, že jste přidali další lomítko do souboru virtuálního hostitele Apache nebo Nginx pro kořenový webový adresář. Místo použití

DocumentRoot /var/www/YouPHPTube/

Měli byste použít

DocumentRoot /var/www/YouPHPTube

Pokud váš kodér nefunguje správně, můžete zkontrolovat soubor protokolu na adrese /var/www/YouPHPTube/upload/videos/youphptube.log .

Další informace

Při kódování videí si můžete vybrat rozlišení (nízká, SD, HD). Pokud používáte YouPHPTube jako osobní web pro streamování videa, doporučuji zvolit rozlišení HD pouze pro zkrácení doby kódování a úsporu místa na disku. Pokud jste již zakódovali videa do všech 3 rozlišení, můžete přejít do adresáře videí YouPHPTube (/var/www/YouPHPTube/videos) a smazat videa s nízkým rozlišením a rozlišením SD.

cd /var/www/YouPHPTube/videos/
sudo rm *Low.mp4
sudo rm *SD.mp4

Jak stáhnout všechna videa z vašeho webu

Můžete použít youtube-dl nástroj příkazového řádku ke stažení všech videí. Nejprve musíte přejít na řídicí panel YouPHPTube, poté přejít na stránku se seznamem videí a posouvat se dolů a kliknout na stáhnout seznam videí (soubor .txt s trvalým odkazem) knoflík. Zobrazí se seznam adres URL všech videí.

Dále otevřete terminál a vytvořte soubor txt pomocí textového editoru, zkopírujte adresy URL z webové stránky a vložte je do souboru. Poté můžete spustit následující příkaz ke stažení videí. Nahraďte video-list.txt s vaším vlastním názvem souboru.

youtube-dl -a video-list.txt

Debian
  1. Jak chránit váš server pomocí badIPs.com a hlásit IP adresy pomocí Fail2ban na Debianu

  2. Jak nainstalovat MySQL Server na Debian 10 Buster

  3. Nastavte poštovní server pomocí PostfixAdmin na Debianu 9

  1. Vytvořte si svůj vlastní server pro streamování videa s Linuxem

  2. Kroky instalace Debianu 10 (Buster) se snímky obrazovky

  3. Spusťte svůj vlastní cloud:Instalace OwnCloud 9 na Debian 8

  1. Nainstalujte WordPress 5 s Apache na Debian 9

  2. Nastavte si svůj vlastní WireGuard VPN server na Debianu 11 a Debianu 10

  3. Jak snadno nastavit poštovní server na Debian 10 Buster s iRedMail