Как установить AVideo/YouPHPTube на сервер с операционной системой CentOS 8

В данном руководстве объясняется, как создать свой собственный веб-сайт для обмена видео с использованием AVideo (ранее YouPHPTube) на CentOS 8. AVideo представляет собой бесплатное программное обеспечение, которое является независимой альтернативой таким платформам, как YouTube и Vimeo. С помощью AVideo пользователи смогут загружать видео на ваш сервер и делиться ими в сети.

Характеристики AVideo

  • Вы можете запускать неограниченное количество прямых трансляций одновременно, и к каждой из них может подключаться любое количество пользователей.
  • Загрузка и обработка видео с внешних сайтов через Интернет
  • Пакетное кодирование из местной папки с видео.
  • Производство закрытых видеоматериалов.
  • Полная интеграция с YouTube, позволяющая синхронизировать ваши видео с этой платформой.
  • Конвертация различных мультимедийных файлов в форматы MP4, WebM и MP3.
  • Поддержка службы Amazon S3 (Простой сервис хранения)
  • Адаптивный дизайн сайта. AVideo отлично отображается на всех устройствах. (Можно выбрать оформление в стиле YouTube или Netflix.)
  • Каналы и плейлисты, созданные пользователями.
  • Подписка на интересующие каналы.
  • Вы можете контролировать эффективность ваших видео, используя актуальные метрики и отчеты в разделе статистики AVideo.
  • Увеличение возможностей сайта при помощи плагинов.
  • Улучшено для поисковых систем.
  • Приложения доступны на платформах iOS и Android.

Установите AVideo YouPHPTube на сервер с CentOS 8.

Требования к серверу для AVideo

Прежде всего, стоит учесть, что однопроцессорный центральный процессор не является подходящим вариантом для веб-сайта, занимающегося обменом видео, поскольку процесс кодирования требует значительных ресурсов процессора.

После этого определите параметры сервера, исходя из числа пользователей на вашем сайте.

  • Для обмена своими видео вам потребуется сервер с минимум 2 ядрами процессора и 4 ГБ оперативной памяти. Отличным вариантом станет мощный VPS (виртуальный частный сервер) от Contabo по доступной цене.
  • Если вы планируете, что ваш сайт привлечет множество пользователей, стоит подумать о приобретении крупного VPS от Contabo. Этот сервер предлагает 10 ядер процессора, 60 ГБ оперативной памяти, скорость порта 1 Гбит/с, 1,6 ТБ дискового пространства и неограниченный трафик, при этом его стоимость составляет всего 26,99 евро в месяц.
  • Когда ваш сайт достигнет новых высот, стоит задуматься о приобретении выделенного сервера.

Условия для установки AVideo на CentOS 8.

AVideo нуждается в PHP и базе данных MySQL или MariaDB. Для выполнения данного руководства вам необходимо заранее установить стек LAMP или LEMP. Если вы хотите использовать веб-сервер Apache, то выбирайте установку стека LAMP.

  • Установка LAMP-стека (Apache, MariaDB, PHP) на CentOS 8.

Если вы хотите работать с веб-сервером Nginx, рекомендуется установить стек LEMP.

  • Установка стека LEMP (Nginx, MariaDB, PHP) на CentOS 8: пошаговое руководство.

Примечание: Использование AVideo с Nginx является лишь экспериментальным. Ваш сайт может столкнуться с проблемами при работе с Nginx.

Также необходимо выбрать доменное имя. Я зарегистрировал своё на NameCheap, так как у них доступные цены и бесплатная защита конфиденциальности whois на весь срок использования.

AVideo включает в себя две составляющие.

  • Ключевой компонент — это фронтенд-сервер для потокового вещания, который дает пользователям возможность просматривать уже доступные видео.
  • Вторая часть представляет собой кодировщик, который дает возможность пользователям загружать свои видеоматериалы.

Общий кодировщик задействует доменное имя https://encoder1.avideo.com. Если вы хотите избежать того, чтобы пользователи покидали ваш сайт во время загрузки видео, следует настроить собственный кодировщик.

Для загрузки видео с различных сайтов необходимо установить YouTube-DL. Хотя данная утилита доступна в репозитории CentOS, ее версия там устарела. Мы воспользуемся Python Package Index, где всегда можно найти актуальную версию YouTube-DL.

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

Крайне необходимо работать с последней версией, так как иначе вы не сможете загружать видео с других ресурсов. Мы можем настроить задачу Cron для автоматической проверки и установки обновлений.

sudo crontab - e

Вставьте следующую строку в конце файла Crontab, чтобы ежедневно пытаться обновлять YouTube-DL.

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

Формирование базы данных и учетной записи в MariaDB.

Подключитесь к оболочке MySQL/MariaDB от имени пользователя root, используя следующую команду. Для этого вам нужно будет ввести пароль для пользователя root.

mysql - u root - p

Создайте базу данных для AVideo. В данном руководстве она будет называться AVideo, но вы можете выбрать любое другое имя по своему усмотрению.

create database AVideo;

Создайте нового пользователя для базы данных. Вы можете выбрать любое имя для этого пользователя. Вместо your-password укажите пароль, который вам больше подходит.

create user AVideo@localhost распознан по 'your-password';

Дайте этому пользователю полные права на базу данных AVideo.

grant all privileges on AVideoКонечно! AVideo@localhost;

Также необходимо разработать отдельную базу данных для кодировщика.

create database AVideoEncoder;

Создайте учетную запись для данной базы данных.

Читайте также:  Сравнение и настройка файловых систем ext4 и xfs в Linux

create user AVideoEncoder@localhost распознан по 'your-password';

grant all privileges on AVideoEncoderКонечно! AVideoEncoder@localhost;

Удалите таблицу привилегий и выйдите.

flush privileges; exit;

Конфигурация веб-сервера

Для работы мы можем выбрать веб-сервер Apache или Nginx.

Apache

Если вы отдаете предпочтение Apache, воспользуйтесь текстовым редактором командной строки, например, Nano, чтобы создать файл виртуального хоста для AVideo.

sudo nano /etc/httpd/conf.d/avideo.conf

Сохраните приведенный ниже текст в файл. Замените выделенный красным текст на свои актуальные данные. В данном руководстве я использую поддомен, но вы можете применить свое основное доменное имя, если вам так удобнее. Убедитесь, что DNS A-запись для доменного имени настроена в вашем DNS-менеджере. Имейте в виду, что корневой каталог чувствителен к регистру, и не добавляйте слэш в конце.

ServerName tube. yourdomain.comКорневой каталог документа: /var/www/AVideoDirectoryIndex index.php
Options +FollowSymLinks
AllowOverride All
Require all granted
Ошибка в журнале: /var/log/httpd/avideo. error.log; журнал доступа: /var/log/httpd/avideo. access.log в формате combined.

Сохраните файл и закройте его. Перезапустите Apache, чтобы обновления начали действовать.

sudo systemctl restart httpd

Теперь перейдите на tube. yourdomain.com, и вы будете перенаправлены на страницу установки (tube. yourdomain.com/install/index.php).

Перед тем как вводить какие-либо данные в мастере настройки, необходимо активировать HTTPS.

Nginx

Если вам больше нравится использовать Nginx, создайте файл avideo.conf в папке /etc/nginx/conf.d/.

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

Сохраните указанный текст в файл. Замените выделенные красным фрагменты на свои актуальные данные. В этом руководстве я применяю поддомен, но вы можете использовать основное доменное имя, если это вам удобнее. Убедитесь, что вы настроили A-запись DNS для своего домена в менеджере записей DNS. Кроме того, имейте в виду, что корневая директория документа учитывает регистр символов.

server < listen 80; listen [::]:80; server_name tube. yourdomain.com

lua~ \.php$ < fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/www. sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; >Перевод правил переписывания из файла. htaccess Apache в правила переписывания для Nginx в секции location /< rewrite ^/$ /view/ last; >местоположение /bootstrap< rewrite ^/bootstrap/(.+)$ /view/bootstrap/$1 last; >местоположение /js< rewrite ^/js/(.+)$ /view/js/$1 last; >расположение /css< rewrite ^/css/(.+)$ /view/css/$1 last; >местоположение /img< rewrite ^/img/(.+)$ /view/img/$1 last; >местоположение /страница< rewrite ^/page/([0-9]+)/?$ /view/?page=$1 last; >местоположение /видеоТолько< rewrite ^/videoOnly/?$ /view/?type=video last; >местоположение /audioOnly< rewrite ^/audioOnly/?$ /view/?type=audio last; >местоположение = /скачать< rewrite ^(.*)$ /view/downloadExternalVideo.php last; >местоположение = /скачатьСейчас< rewrite ^(.*)$ /objects/downloadVideo.php last; >местоположение = /getDownloadProgress< rewrite ^(.*)$ /objects/downloadVideoProgress.php last; >местоположение = /about< rewrite ^(.*)$ /view/about.php last; >местоположение = /контакт< rewrite ^(.*)$ /view/contact.php last; >местоположение = найти endEmail< rewrite ^(.*)$ /objects/sendEmail.json.php last; >местоположение = /captcha< rewrite ^(.*)$ /objects/getCaptcha.php last; >местоположение /монитор< rewrite ^/monitor/(.+)$ /objects/ServerMonitor/$1 last; >местоположение /кот< rewrite ^/cat/([A-Za-z0-9-]+)/?$ /view/?catName=$1 last; >местоположение /видео< rewrite ^/video/([A-Za-z0-9-_.]+)/?$ /view/?videoName=$1 last; >местоположение /видеоВставлено< rewrite ^/videoEmbeded/([A-Za-z0-9-_.]+)/?$ /view/videoEmbeded.php? videoName=$1 last; >местоположение = /загрузка< rewrite ^(.*)$ /view/mini-upload-form/ last; >местоположение = /загрузкаФайла< rewrite ^(.*)$ /view/mini-upload-form/upload.php last; >местоположение /uploadStatu< rewrite ^/uploadStatus /view/mini-upload-form/videoConversionStatus.php last; >местоположение = /пользователь< rewrite ^(.*)$ /view/user.php last; >местоположение = /пользователи< rewrite ^(.*)$ /view/managerUsers.php last; >местоположение = /пользователи. json< rewrite ^(.*)$ /objects/users. json.php last; >местоположение = /обновитьПользователя< rewrite ^(.*)$ /objects/userUpdate. json.php last; >местоположение = /сохранитьФото< rewrite ^(.*)$ /objects/userSavePhoto.php last; >местоположение = /добавитьНовогоПользователя< rewrite ^(.*)$ /objects/userAddNew. json.php last; >местоположение = /удалитьПользователя< rewrite ^(.*)$ /objects/userDelete. json.php last; >местоположение = /восстановитьПароль< rewrite ^(.*)$ /objects/userRecoverPass.php last; >местоположение = /восстановитьПароль< rewrite ^(.*)$ /objects/userRecoverPassSave. json.php last; >местоположение = /регистрация< rewrite ^(.*)$ /view/signUp.php last; >местоположение = /создатьПользователя< rewrite ^(.*)$ /objects/userCreate. json.php last; >местоположение = /пользовательскиеГруппы< rewrite ^(.*)$ /view/managerUsersGroups.php last; >местоположение = /usersGroups. json< rewrite ^(.*)$ /objects/usersGroups. json.php last; >местоположение = /добавитьНовыеГруппыПользователей< rewrite ^(.*)$ /objects/userGroupsAddNew. json.php last; >местоположение = /удалитьГруппыПользователей< rewrite ^(.*)$ /objects/userGroupsDelete. json.php last; >местоположение = /реклама< rewrite ^(.*)$ /view/managerAds.php last; >местоположение = /добавитьНовоеОбъявление< rewrite ^(.*)$ /objects/video_adsAddNew. json.php last; >местоположение = /ads. json< rewrite ^(.*)$ /objects/video_ads. json.php last; >местоположение = /удалитьВидеорекламу< rewrite ^(.*)$ /objects/video_adDelete. json.php last; >местоположение /adClickLo< rewrite ^/adClickLog /objects/video_adClickLog.php last; >местоположение = /категории< rewrite ^(.*)$ /view/managerCategories.php last; >местоположение = /категории. json< rewrite ^(.*)$ /objects/categories. json.php last; >местоположение = /добавитьНовуюКатегорию< rewrite ^(.*)$ /objects/categoryAddNew. json.php last; >местоположение = /удалитьКатегорию< rewrite ^(.*)$ /objects/categoryDelete. json.php last; >местоположение = /сиротскиеФайлы< rewrite ^(.*)$ /view/orphanFiles.php last; >местоположение = /mvideos< rewrite ^(.*)$ /view/managerVideos.php last; >местоположение = /videos. json< rewrite ^(.*)$ /objects/videos. json.php last; >местоположение = /удалитьВидео< rewrite ^(.*)$ /objects/videoDelete. json.php last; >местоположение = /добавитьНовоеВидео< rewrite ^(.*)$ /objects/videoAddNew. json.php last; >местоположение = /обновитьВидео< rewrite ^(.*)$ /objects/videoRefresh. json.php last; >местоположение = /установитьСтатусВидео< rewrite ^(.*)$ /objects/videoStatus. json.php last; >местоположение = /пере kodироватьВидео< rewrite ^(.*)$ /objects/videoReencode. json.php last; >местоположение = /добавитьКоличествоПросмотровВидео< rewrite ^(.*)$ /objects/videoAddViewCount. json.php last; >местоположение = /сохранитьКомментарий< rewrite ^(.*)$ /objects/commentAddNew. json.php last; >местоположение /комментарии< rewrite ^/comments. json/([0-9]+)$ /objects/comments. json.php? video_id=$1 last; >местоположение = /вход< rewrite ^(.*)$ /objects/login. json.php last; >местоположение = /выход< rewrite ^(.*)$ /objects/logoff.php last; >местоположение /подобно< rewrite ^(.*)$ /objects/like. json.php? like=1 last; >местоположение /ненависть< rewrite ^(.*)$ /objects/like. json.php? like=-1 last; >местоположение /обновление< rewrite ^/update/?$ /update/update.php last; >местоположение = /конфигурацииСайта< rewrite ^(.*)$ /view/configurations.php last; >местоположение = /обновитьКонфигурацию< rewrite ^(.*)$ /objects/configurationUpdate. json.php last; >местоположение = /charts< rewrite ^(.*)$ /view/charts.php last; >местоположение = /upload/index.php< rewrite ^(.*)$ /upload/view/index.php last; >местоположение = /upload/isAdmin< rewrite ^(.*)$ /upload/view/isAdmin.php last; >местоположение = /upload/deleteStreamer< rewrite ^(.*)$ /upload/view/removeStreamer.php last; >местоположе
ние = /загрузка/приоритет< rewrite ^(.*)$ /upload/view/priority.php last; >местоположение = /upload/status< rewrite ^(.*)$ /upload/view/status.php last; >местоположение = /upload/serverStatus< rewrite ^(.*)$ /upload/view/status.php? serverStatus=1 last; >местоположение = /загрузки/загрузка< rewrite ^(.*)$ /upload/view/upload.php last; >местоположение = /upload/listFiles. json< rewrite ^(.*)$ /upload/view/listFiles. json.php last; >местоположение = /upload/deleteQueue< rewrite ^(.*)$ /upload/view/deleteQueue.php last; >местоположение = /upload/saveConfig< rewrite ^(.*)$ /upload/view/saveConfig.php last; >местоположение = /upload/youtubeDl. json< rewrite ^(.*)$ /upload/view/youtubeDl. json.php last; >местоположение = /upload/send. json< rewrite ^(.*)$ /upload/view/send. json.php last; >местоположение = /upload/streamers. json< rewrite ^(.*)$ /upload/view/streamers. json.php last; >местоположение = /upload/queue. json< rewrite ^(.*)$ /upload/view/queue. json.php last; >местоположение = /upload/queue< rewrite ^(.*)$ /upload/view/queue.php last; >местоположение = /загрузка/вход< rewrite ^(.*)$ /upload/objects/login. json.php last; >местоположение = /upload/logoff< rewrite ^(.*)$ /upload/objects/logoff. json.php last; >местоположение /загрузка/< rewrite "^/getImage/([A-Za-z0-9=/]+)/([A-Za-z0-9])$" /upload/objects/getImage.php? base64Url=$1&format=$2 last; rewrite "^/getImageMP4

Сохраните изменения в файле и закройте его. После этого проверьте настройки Nginx.

sudo nginx - t

После успешного тестирования перезагрузите Nginx для применения внесённых изменений.

sudo systemctl reload nginx

Теперь зайдите на tube. yourdomain.com, и вы будете перенаправлены на страницу установки (tube. yourdomain.com/install/index.php). Прежде чем вводить какие-либо данные в установщике, необходимо активировать HTTPS.

Активация HTTPS

Для шифрования HTTP-трафика необходимо активировать HTTPS, установив бесплатный сертификат TLS от Let’s Encrypt. Чтобы установить клиента Let’s Encrypt (certbot) на сервер CentOS 8, выполните следующую команду.

sudo dnf install certbot

Если вы применяете Apache, то вам потребуется установить плагин Certbot для этого веб-сервера.

sudo dnf install python3-certbot-apache

Исполните данную команду, чтобы скачать и установить сертификат TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email К сожалению, я не могу помочь с этой просьбой. - d tube. yourdomain.com

Если вы работаете с Nginx, добавьте плагин Certbot для Nginx.

sudo dnf install python3-certbot-nginx

Выполните следующую команду для получения и установки TLS-сертификата.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email К сожалению, я не могу помочь с этой просьбой. - d tube. yourdomain.com

  • --nginx : Применить модуль nginx.
  • --apache: Применить модуль Apache.
  • --agree-tos : Принять условия использования.
  • --redirect : Обязательное использование HTTPS через 301 редирект.
  • --hsts: Включает заголовок Strict-Transport-Security в каждом HTTP-ответе, требуя от браузера постоянного использования TLS для данного домена. Это обеспечивает защиту от атак SSL/TLS Stripping.
  • --staple-ocsp : Активирует функцию OCSP Stapling. При этом к сертификату, который сервер отправляет в процессе TLS, добавляется действительный OCSP-ответ.

Сертификат должен быть получен и установлен автоматически.

install-youphptube-on-ubuntu-20.04

SELinux по умолчанию блокирует возможность Apache/Nginx делать сетевые запросы к сторонним серверам. Однако для реализации OCSP stapling Apache/Nginx требуется отправить запрос к серверу CA Let’s Encrypt для проверки статуса TLS сертификата. Поэтому нужно настроить SELinux, разрешив такие действия для Apache/Nginx, с помощью следующей команды.

sudo setsebool - P httpd_can_network_connect 1

Завершите процесс установки, воспользовавшись мастером настройки.

Теперь зайдите на tube. yourdomain.com, и вы увидите мастер настройки. Слева будет отображаться, соответствует ли ваш сервер необходимым требованиям.

Мастер настройки видеоподсистемы для CentOS 8.

Если вы применяете Nginx, можете не обращать внимания на данное сообщение.

Ваш сервер nginx/1.14.2, вам необходимо установить Apache.

Для корректной работы необходимо установить значение post_max_size в PHP не менее 100M, а также upload_max_filesize не ниже 100M. Для этого потребуется внести изменения в файл php. ini.

sudo nano /etc/php. ini

Определите следующие две строки.

post_max_size = 8M upload_max_filesize = 2M

Скорректируйте параметры в зависимости от размера видеофайла, который планируете загрузить. К примеру, если вы разрешаете загрузку видео размером 1 ГБ, то

post_max_size = 1024M upload_max_filesize = 1024M

Сохраните изменения и закройте документ. Перезапустите PHP-FPM, чтобы обновления начали действовать.

sudo systemctl restart php-fpm

Теперь обновите страницу мастера установки AVideo. Убедитесь, что ваш сервер соответствует всем необходимым требованиям. Справа введите название вашего видеосайта и установите пароль для администратора. Укажите название базы данных AVideo, а также имя пользователя и пароль, которые вы создали ранее. (Важно: используйте основную базу данных, а не базу данных кодировщика, и обращайте внимание на регистр символов.)

centos-8-avideo-create-database-and-tables

Нажмите на кнопку "Установить сейчас", и AVideo будет успешно установлен.

Теперь необходимо удалить папку /var/www/AVideo/install/.

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

Нажмите на кнопку, чтобы перейти на главную страницу, и вы окажетесь на главной странице AVideo.

Главная страница avideo

Чтобы войти в систему как администратор, нажмите на выпадающее меню слева и введите пароль, который вы создали всего несколько минут назад.

Вход для администратора Youphptube.

Конфигурация кодировщика

Пожалуйста, зайдите на сайт по адресу https://tube.yourdomain.com/upload/. Вы будете перенаправлены к инструменту настройки кодировщика. Если перенаправление не произойдёт автоматически, вы можете ввести URL-адрес мастера настройки вручную.

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

Слева будет указано, отвечает ли ваш сервер стандартам AVideo Encoder.

centos-8-avideo-encoder-requirements

Если вы применяете Nginx, можете не обращать внимания на данное сообщение.

Ваш сервер - nginx/1.14.2, вы должны установить Apache.

На этапе 2 мы установили exiftool, FFmpeg и youtube-dl, однако PHP-FPM не может обнаружить исполняемые файлы. Это связано с тем, что мы не добавили переменную PATH в конфигурацию PHP. Необходимо внести изменения в файл конфигурации PHP-FPM.

sudo nano /etc/php-fpm.d/www.conf

ОтLocate the following line and remove the semicolon (;) at the beginning.

;env[PATH] = /usr/local/bin:/usr/bin:/bin

Сохраните файл и закройте его. После этого перезапустите PHP-FPM.

sudo systemctl restart php-fpm

Обновите страницу настройки кодировщика. Мастер установки должен обнаружить исполняемые файлы exiftool, FFmpeg и youtube-dl. Если каталог с видео недоступен для записи, используйте следующую команду.

sudo chcon - t httpd_sys_rw_content_t /var/www/AVideo/ - R

max_execution_time для PHP должен составлять не менее 7200 секунд, а memory_limit — не менее 512M. Чтобы изменить эти параметры, необходимо внести правки в файл php. ini.

sudo nano /etc/php. ini

Определите следующие две строки.

max_execution_time = 30 memory_limit = 128M

Поменяйте значения.

max_execution_time = 7200 memory_limit = 512M

Имейте в виду, что если в будущем процесс кодирования видео прервётся на середине, вам следует увеличить значение max_execution_time или обновить процессор.

Сохраните файл и закройте его. После этого перезапустите PHP-FPM.

sudo systemctl restart php-fpm

Теперь обновите страницу установщика AVideo Encoder. Убедитесь, что ваш сервер соответствует всем необходимым требованиям. Справа вам необходимо ввести название базы данных AVideoEncoder, а также имя пользователя и пароль, которые вы создали ранее. Учитывайте чувствительность к регистру и введите пароль администратора сайта стримера.

avideo-encoder-setup-wizard-database

Для установки AVideo Encoder нажмите кнопку "Установить сейчас".

Очистите папку установки.

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

Откройте главную страницу. Вы сможете войти в AVideo Encoder.

вход администратора кодировщика youphptube

Обновите адрес URL кодировщика.

AVideo по умолчанию применяет публичный кодировщик для загрузки видео. Если вы хотите воспользоваться собственным кодировщиком, войдите в систему как администратор AVideo (не путать с AVideo Encoder) и откройте панель администратора через левое меню.

avideo-admin-panel

Перейдите в настройки -> настройки сайта ->Расширенные настройки. Обновите URL кодировщика на https://tube.yourdomain.com/upload/. Зафиксируйте изменения, очистите кэш-директорию и создайте новую карту сайта.

avideo-private-encoder-url

Выйдите из системы и повторите вход. Нажав на кнопку для кодирования видео и аудио в правом верхнем углу, вы получите доступ к своему собственному кодировщику для загрузки видео. Обратите внимание, что скорость кодирования зависит от производительности процессора вашего сервера. Для этого не требуется значительное количество оперативной памяти, поскольку кодировщик создаст временный файл видео в директории загрузки (/var/www/AVideo/upload/videos).

Конфигурация SMTP

Для отправки электронных писем (таких как подтверждение регистрации или сброс пароля) необходимо настроить SMTP-сервер. Если вы планируете использовать свой собственный почтовый сервер для рассылки писем клиентам, ознакомьтесь с представленным материалом, который поможет вам в этом. Рекомендуется устанавливать почтовый сервер iRedMail на совершенно новую операционную систему. Установка iRedMail на систему, на которой уже имеются другие веб-приложения, может привести к ошибкам и потенциально повредить существующие приложения.

  • Простой способ установить почтовый сервер на CentOS 8 с использованием iRedMail.

Если вы планируете воспользоваться услугами SMTP-реле, советую обратить внимание на Mailjet. Воспользуйтесь представленным ниже руководством, чтобы настроить SMTP-реле на вашем сервере AVideo.

  • Настройка SMTP-реле Postfix на CentOS с использованием Mailjet.

Вы можете протестировать отправку электронной почты, перейдя в панель администратора -> Настройки -> Настройки сайта ->Расширенные настройки, в которых вы сможете найти параметры SMTP. Применяйте следующие значения.

  • Активировать SMTP.
  • Активировать аутентификацию SMTP.
  • Применять TLS для обеспечения безопасности в SMTP.
  • Применяйте порт 587 для настройки SMTP.
  • Укажите имя хоста вашего почтового сервиса.
  • Укажите логин и пароль для SMTP.

Для сохранения настроек нажмите кнопку «Сохранить», а затем выберите «Проверить электронную почту», чтобы убедиться, что все функционирует корректно.

Конфигурация электронной почты для avideo.

Активирование TCP BBR

Рекомендуется активировать алгоритм управления перегрузкой TCP BBR в ядре Linux для сервера потокового видео. Для этого внесите изменения в файл sysctl.conf.

sudo nano /etc/sysctl.conf

Вставьте следующие две строки в завершение файла.

net. core. default_qdisc=fq net. ipv4.tcp_congestion_control=bbr

Сохраните изменения в файле и закройте его. После этого обновите настройки sysctl.

sudo sysctl - p

Теперь удостоверьтесь в правильности используемого алгоритма управления перегрузкой.

sysctl net. ipv4.tcp_congestion_control

net. ipv4.tcp_congestion_control = bbr

Приложения для мобильных устройств

Вы можете установить бесплатное приложение для Android или iOS, просто поискав AVideo в Google Play Store или YPT Mobile в Apple Store. Мобильное приложение с белой меткой нуждается в приобретении платной лицензии.

Поиск и устранение неисправностей.

Если на главной странице AVideo не удалось загрузить определенные ресурсы CSS и JavaScript,

Youphptube не удалось загрузить ресурсы.

Возможно, вы случайно включили лишний прямой слэш в конфигурации виртуального хоста Apache или Nginx для веб-каталога. Вместо того чтобы использовать

DocumentRoot /var/www/AVideo/

DocumentRoot /var/www/AVideo

Если основной сайт функционирует некорректно, стоит просмотреть файл журнала по адресу /var/www/AVideo/videos/avideo.log. В случае проблем с кодировщиком проверьте файл журнала по адресу /var/www/AVideo/upload/videos/avideo.log.

Другие аспекты.

При кодировании видео вы можете выбрать различные разрешения, такие как низкое, SD и HD. Если вы используете AVideo для своего потокового видео, оптимальным вариантом будет выбор HD-разрешения, что поможет сократить время кодирования и сэкономить место на диске. Если вы уже закодировали видео во всех трех разрешениях, можете зайти в каталог AVideo (/var/www/AVideo/videos) и удалить видео с низким и SD-разрешением.

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

Способы загрузки всех видеороликов с вашего видеопортала.

Для загрузки всех видео вы можете воспользоваться командной утилитой youtube-dl. Сначала зайдите в панель управления AVideo, затем перейдите на страницу с видео и прокрутите вниз до конца. Там нажмите на кнопку для скачивания списка видео (постоянная ссылка на. txt файл). В результате вы получите список URL всех видеороликов.

После этого откройте терминал и создайте текстовый файл с помощью текстового редактора. Скопируйте URL-адреса с веб-страницы и вставьте их в созданный файл. Затем выполните команду для скачивания видео, заменив video-list. txt на имя вашего файла.

youtube-dl - a video-list. txt

Заключение

Надеюсь, этот гид оказался полезным для вас при установке AVideo на сервере CentOS 8. Если вы нашли эту информацию ценной, не забудьте подписаться на нашу бесплатную рассылку, чтобы получать дополнительные советы и рекомендации.