В данном руководстве объясняется, как создать свой собственный веб-сайт для обмена видео с использованием AVideo (ранее YouPHPTube) на CentOS 8. AVideo представляет собой бесплатное программное обеспечение, которое является независимой альтернативой таким платформам, как YouTube и Vimeo. С помощью AVideo пользователи смогут загружать видео на ваш сервер и делиться ими в сети.
Содержание статьи
- 1 Характеристики AVideo
- 2 Требования к серверу для AVideo
- 3 Условия для установки AVideo на CentOS 8.
- 4 Формирование базы данных и учетной записи в MariaDB.
- 5 Конфигурация веб-сервера
- 6 Активация HTTPS
- 7 Завершите процесс установки, воспользовавшись мастером настройки.
- 8 Конфигурация кодировщика
- 9 Обновите адрес URL кодировщика.
- 10 Конфигурация SMTP
- 11 Активирование TCP BBR
- 12 Приложения для мобильных устройств
- 13 Поиск и устранение неисправностей.
- 14 Другие аспекты.
- 15 Способы загрузки всех видеороликов с вашего видеопортала.
- 16 Заключение
Характеристики AVideo
- Вы можете запускать неограниченное количество прямых трансляций одновременно, и к каждой из них может подключаться любое количество пользователей.
- Загрузка и обработка видео с внешних сайтов через Интернет
- Пакетное кодирование из местной папки с видео.
- Производство закрытых видеоматериалов.
- Полная интеграция с YouTube, позволяющая синхронизировать ваши видео с этой платформой.
- Конвертация различных мультимедийных файлов в форматы MP4, WebM и MP3.
- Поддержка службы Amazon S3 (Простой сервис хранения)
- Адаптивный дизайн сайта. AVideo отлично отображается на всех устройствах. (Можно выбрать оформление в стиле YouTube или Netflix.)
- Каналы и плейлисты, созданные пользователями.
- Подписка на интересующие каналы.
- Вы можете контролировать эффективность ваших видео, используя актуальные метрики и отчеты в разделе статистики AVideo.
- Увеличение возможностей сайта при помощи плагинов.
- Улучшено для поисковых систем.
- Приложения доступны на платформах iOS и Android.

Требования к серверу для 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;
Создайте учетную запись для данной базы данных.
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-менеджере. Имейте в виду, что корневой каталог чувствителен к регистру, и не добавляйте слэш в конце.
Options +FollowSymLinks
AllowOverride All
Require all granted
Сохраните файл и закройте его. Перезапустите 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













