======MediaCMS установка в VMM DSM 7.2======
{{:software:nas:video_mediacms_1.jpg?450 |}}MediaCMS — это современная полнофункциональная система управления видео и медиа с открытым исходным кодом. Она разработана для удовлетворения потребностей современных веб-платформ для просмотра и обмена медиа. Ее можно использовать для создания небольшого или среднего видео- и медиапортала за считанные минуты.
Он построен в основном с использованием современного стека Django + React и включает REST API.
Демоверсия доступна по адресу https://demo.mediacms.io
\\
**Установка прозводиться на чистую Ubuntu Server 24.04**
====Основный функции====
* Полный контроль над вашими данными : размещайте их самостоятельно!
* Поддержка нескольких рабочих процессов публикации : общедоступных, частных, неперечисленных и пользовательских.
* Современные технологии : Django/Python/Celery, React.
* Поддержка различных типов медиа : видео, аудио, изображения, PDF
* Несколько вариантов классификации медиа : категории, теги и пользовательские настройки
* Несколько вариантов обмена медиа : обмен в социальных сетях, генерация кода для встраивания видео
* Удобный поиск мультимедиа : дополнен функцией поиска в реальном времени
* Плейлисты для аудио- и видеоконтента : создание плейлистов, добавление и изменение порядка контента
* Адаптивный дизайн : включая светлые и темные темы
* Расширенное управление пользователями : разрешить самостоятельную регистрацию, только по приглашениям, закрыто.
* Настраиваемые действия : разрешить загрузку, добавлять комментарии, добавлять отметки «Нравится», «Не нравится», сообщать о медиафайлах
* Параметры конфигурации : изменение логотипов, шрифтов, стиля, добавление дополнительных страниц.
* Улучшенный видеоплеер : настраиваемый видеоплеер video.js с несколькими вариантами разрешения и скорости воспроизведения
* Несколько профилей транскодирования : разумные значения по умолчанию для нескольких измерений (240p, 360p, 480p, 720p, 1080p) и нескольких профилей (h264, h265, vp9)
* Адаптивная потоковая передача видео : возможна через протокол HLS
* Субтитры/CC : поддержка многоязычных файлов субтитров
* Масштабируемое транскодирование : транскодирование через приоритеты. Экспериментальная поддержка для удаленных работников
* Загрузка файлов по частям : для приостанавливаемой/возобновляемой загрузки контента
* REST API : документировано через Swagger
====Философия====
Авторы считают, что существуют потребности в качественных веб-приложениях с открытым исходным кодом, которые можно использовать для создания общественных порталов и поддержки совместной работы.
При создании MediaCMS мы ставим перед собой три цели: а) обеспечить всю функциональность, которую можно ожидать от современной системы, б) обеспечить простоту установки и обслуживания, в) обеспечить простую настройку и добавление функций.
====Лицензия====
MediaCMS выпускается под лицензией [[https://github.com/mediacms-io/mediacms/blob/main/LICENSE.txt|GNU Affero General Public License v3.0]]. Авторские права: [[http://https://github.com/mgogoulos|Markos Gogoulos]].
====Аппаратное обеспечение====
Для небольшой или средней установки с несколькими часами видео, загружаемыми ежедневно, и несколькими сотнями активных пользователей, просматривающих контент ежедневно, 4 ГБ ОЗУ / 2-4 ЦП как минимум будет достаточно. Для более крупной установки с многими часами видео, загружаемыми ежедневно, рассмотрите возможность добавления большего количества ЦП и большего количества ОЗУ.
Что касается дискового пространства, подумайте, какими будут потребности. Общее правило — умножить на три размер ожидаемых загруженных видео (поскольку система сохраняет исходные версии, закодированные версии плюс HLS), так что если вы получаете 1G видео ежедневно и сохраняете их все, вам следует рассмотреть диск на 1T на год (1G * 3 * 365).
====Технологии====
Это программное обеспечение использует следующий список потрясающих технологий: Python, Django, Django Rest Framework, Celery, PostgreSQL, Redis, Nginx, uWSGI, React, Fine Uploader, video.js, FFMPEG, Bento4
=====Установка/Обслуживание=====
Есть два способа запустить MediaCMS: через Docker Compose и через установку на сервере с помощью скрипта автоматизации, который устанавливает и настраивает все необходимые службы. Найдите соответствующие страницы:
====Подготовка====
* [[software:nas:synology_vmm|Установка Synology VMM]]
* [[software:linux_server:ubuntu_server|Установка Ubuntu Server]]
* Получим права пользователя root
sudo su
{{:software:nas:mediacms_2.png?|}}
Перед установкой какого либо программного обеспечения, необходимо обновить репозитории и установить свежие версии пакетов.
apt update && sudo apt upgrade -y
{{:software:nas:python_install_0.png?|}}
===Установка Puthon===
* Проверим наличие
python --version
{{:software:nas:python_install_1.png?|}}
Установим необходимые зависимости для добавления репозитория. Авторизуйтесь от имени суперпользователя и проведите установку нескольких утилит
apt install -y software-properties-common
{{:software:nas:python_install_3.png?|}}
Включите в список системных репозиториев еще один
add-apt-repository -y ppa:deadsnakes/ppa
{{:software:nas:python_install_3.png?|}}
Установим Python
apt install python
{{:software:nas:python_install_7.png?|}}
* Проверим установку
python --version
{{:software:nas:python_install_8.png?|}}
===Установка Puthon-pip===
* Проверим наличие
pip3 --version
{{:software:nas:pip_install_1.png?|}}
Установим pip3
apt install python
{{:software:nas:pip_install_2.png?|}}
* Проверим установку
pip3 --version
{{:software:nas:pip_install_3.png?|}}
===Установка unzip===
* Проверим наличие
unzip --version
{{:software:nas:unzip_install_1.png?|}}
* Установим пакет
apt install unzip
{{:software:nas:unzip_install_2.png?|}}
* Проверим установку
unzip --version
{{:software:nas:unzip_install_3.png?|}}
===Установка django===
* Проверим наличие
django-admin --version
{{:software:nas:django_install_1.png?|}}
Узнайте версию установленного на вашем сервере Python (на Ubuntu Server 20.04 интерпретатор Python установлен по умолчанию):
* Установим пакет
python3 -V
{{:software:nas:django_install_2.png?|}}
* Запустим установку Django
apt install python3-django
{{:software:nas:django_install_3.png?|}}
* Проверим установку
django-admin --version
{{:software:nas:django_install_4.png?|}}
Проверьте список источников репозиториев (sources.list) на придмет записей security
sudo sensible-editor /etc/apt/sources.list
Если не хватает, дополните из следуещей записи
#############################################################
########## Ubuntu 22.04 LTS (Jammy Jellyfish) ##############
#############################################################
deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu/ jammy partner
deb-src http://archive.canonical.com/ubuntu/ jammy partner
====Установка===
{{:software:nas:mediacms_10.png?|}}
Основные зависимости: Python3, Django3, Celery, PostgreSQL, Redis, ffmpeg. Любая система, в которой могут быть установлены эти зависимости, может запустить MediaCMS. Но мы настоятельно рекомендуем устанавливать на Linux Ubuntu (проверено на версиях 20, 22).
Установка в системе Ubuntu с установленной утилитой git должна быть завершена за несколько минут с помощью следующих шагов. Убедитесь, что вы запускаете его как пользователь root, на чистой системе, так как автоматический скрипт установит и настроит следующие службы: Celery/PostgreSQL/Redis/Nginx и перезапишет любые существующие настройки.
Получим права пользователя root
sudo su
{{:software:nas:mediacms_2.png?|}}
Автоматизированный скрипт — протестирован на Ubuntu 20, Ubuntu 22 и Debian Buster\\
Установка со внутреннего сервера
mkdir /home/mediacms.io && cd /home/mediacms.io/
git clone http://192.168.1.85:8080/root/mediacms
cd /home/mediacms.io/mediacms/ && bash ./install.sh
{{:software:nas:mediacms_6.png?|}}
Установка с официального репозитория mediacms-io
mkdir /home/mediacms.io && cd /home/mediacms.io/
git clone https://github.com/mediacms-io/mediacms
cd /home/mediacms.io/mediacms/ && bash ./install.sh
{{:software:nas:mediacms_6.png?|}}
Это запустит установку, во время которой вам будет задано несколько вопросов.
Welcome to the MediacMS installation!
This script will attempt to perform a system update, install required dependencies, install and configure PostgreSQL, NGINX, Redis and a few other utilities.
It is expected to run on a new system %%**with no running instances of any these services**%%. Make sure you check the script before you continue. Then enter yes or no
Введите yes.
yes\\
OK!\\
Performing system update and dependency installation, this will take a few minutes.
Все можно оставить по умолчанию
Enter portal URL, or press enter for localhost :\\
Enter portal name, or press enter for 'MediaCMS :
{{:software:nas:mediacms_11.png?|}}
Процесс установки
{{:software:nas:mediacms_13.png?|}}
В конце установки мы должны увидеть это:
MediaCMS installation completed, open browser on http://localhost/ and login with user admin and password ds89_uy2ls0sk
{{:software:nas:mediacms_14.png?|}}
Перезагрузим приложение
systemctl restart mediacms
{{:software:nas:mediacms_15.png?|}}
В веб-браузере переходим на ip-адрес нашего сервера и ароизведя регистрацию, загружаем файлы
{{:software:nas:mediacms_18.png?|}}
{{:software:nas:mediacms_19.png?|}}
=====Дополнения=====
====Сбросить пароль администратора====
Вы можете сбросить пароль через оболочку Django - командную строку.
Запуск от имени пользователя root
source /home/mediacms.io/bin/activate
cd /home/mediacms.io/mediacms
python manage.py shell
Вы находитесь в командной строке. Теперь запустите
from users.models import User
user = User.objects.filter(username='admin')[0]
user.set_password('new_password')
user.save()
Затем вы сможете войти в систему, используя комбинацию admin new_password.
* [[https://github.com/mediacms-io/mediacms/discussions/81|См. подробнее ответ на комментарий]]