omega80 Опубликовано 12 сентября Поделиться Опубликовано 12 сентября Совместно с официальной инструкцией по установке ссылка также использовались ресурсы: How to Install PeerTube on Debian Latest - упрощенная установка на Debian PeerTube установка на Rocky Linux - подробная статья по установке (некоторые моменты расписаны очень подробно, но для centos) How to Install PeerTube - более подробная по сравнению с официальной инструкция от Akamai Ссылка на комментарий Поделиться на другие сайты Поделиться
omega80 Опубликовано 12 сентября Автор Поделиться Опубликовано 12 сентября Установка на Debian версии 12 1) Устанавливаем hestia 2) Теперь согласно официальной инструкции устанавливаем зависимости: 2.1 apt-get install curl sudo unzip vim 2.2 Не рекомендуется проводить дальнейшие действия от имени суперпользователя root, поэтому нашему пользователю наделим права администратора: sudo usermod -aG sudo *** где *** - это имя вашего пользователя, который наделяется суперправами 2.3 Теперь установим Node JS apt-get install nodejs 2.4 Установим Yarm curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list затем apt-get install yarn если установилось без ошибок, то проверяем командой: yarn --version Должно выдать версию: 2.5 Устанавливаем Pyton: sudo apt update sudo apt install python3-dev python3-pip python-is-python3 python --version # Should be >= 3.x 2.6 Устанавливаем остальные зависимости: sudo apt update sudo apt install certbot nginx ffmpeg postgresql postgresql-contrib openssl g++ make redis-server git cron wget ffmpeg -version # Should be >= 4.1 g++ -v # Should be >= 5.x redis-server --version # Should be >= 6.x Теперь запускаем базу данных и Redis: sudo systemctl start redis postgresql 3) Создаем посредством hestia новую базу данных (обязательно записываем все данные, например в менеджер паролей KeePass) 4) Включаем необходимые расширения в базе: sudo -u postgres psql -c "CREATE EXTENSION pg_trgm;" ***** sudo -u postgres psql -c "CREATE EXTENSION unaccent;" ***** где ***** - имя вашей базы данных (из пункта 3) 5) Подготовим каталог для нашего движка peertube, для этого переходим в каталог под названием public_html: cd /home/****/web/video.******.ru/public_html где **** - имя пользователя и ****** - ваш домен 2 уровня. Теперь вводим: VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4) && echo "Latest Peertube version is $VERSION" Должен показать последнюю текущую версию peertube 6) Оставаясь в той же папке public_html создаем дополнительные каталоги и назначаем права: sudo -u **** mkdir config storage versions sudo -u **** chmod 750 config/ где **** - ваш пользователь 7) Загружаем необходимый дистрибутив в нашу папку public_html: sudo -u **** wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip" sudo -u **** unzip -q peertube-${VERSION}.zip && sudo -u **** rm peertube-${VERSION}.zip где **** - имя пользователя Теперь создаем символьную ссылку version-latest (на этом месте выдавал ошибку с невозможностью открыть созданную символьную ссылку. Пытался решить, но пока сделал построчно: НАДО БЫЛО (по инструкции): sudo -u **** ln -s versions/peertube-${VERSION} ./peertube-latest cd ./peertube-latest && sudo -H -u **** yarn install --production --pure-lockfile Но пришлось зайти в каталог с конкретной версией движка: cd peertube-6.2.1/ и уже находясь тут запустить установку: sudo -H -u peertuberd yarn install --production --pure-lockfile Тут выдало ошибку по причине старой версии (несовместимой) node js: error @angular-devkit/build-angular@18.0.6: The engine "node" is incompatible with this module. Expected version "^18.19.1 || ^20.11.1 || >=22.0.0". Got "18.19.0" Идем на сайт https://github.com/nodesource/distributions и находим команды установки последней 22 версии: curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh также при установке новой версии выдало ошибку: The repository 'https://packages.sury.org/apache2 bookworm InRelease' is no longer signed. W: https://dl.yarnpkg.com/debian/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details. Изучение нового вопроса на хабре выявило нежелание автора предоставлять доступ к своему репозиторию для жителей России: выдаёт "Ошибка 451 или «Недоступно по юридическим причинам» (англ. Unavailable For Legal Reasons)" Но удалось найти простое решение: необходимо в списках репо (/etc/apt/sources.list.d/php.list и /etc/apt/sources.list.d/apache2.list) заменить домен 1 уровня, то есть: packages.sury.org поменять на packages.sury.su Теперь повторяем обновление Node JS: sudo apt-get install -y nodejs После окончания проверяем актуальную версию: node -v у нас выдало 22.8.0 (было 18.19) ПОСЛЕ ИСПРАВЛЕНИЯ ВЕРСИИ ВОЗВРАЩАЕМСЯ К ПОПЫТКЕ УСТАНОВИТЬ PEERTUBE: Ссылка на комментарий Поделиться на другие сайты Поделиться
omega80 Опубликовано 12 сентября Автор Поделиться Опубликовано 12 сентября И опять возвращается к попытке установить peertube: sudo -H -u peertuberd yarn install --production --pure-lockfile Теперь копируем файл "defaul.yaml" из каталога с версией peertube-v6.2.1/config/ в новый каталог config (в корне папки publick_html) и файл "production.yaml.example" переносим и убираем example (должно остаться "production.yaml") Приступаем к редактированию файла "production.yaml", где вбиваем: webserver: Публичная информация об обратном прокси-сервере "example.com" меняем на наш "video.radiodar.ru" secrets: Секретные строки, которые необходимо сгенерировать вручную (версия PeerTube >= 5.0) генерируем в нашей программе KeePass database: Настройки PostgreSQL redis: Настройки Redis smtp: Если вы хотите использовать электронную почту admin.email: Правильно заполнить rootадрес электронной почты пользователя Также меняем пути от предложенной в инструкции на наши (/home/****/web/video.radiodar.ru/public_html/) и запускаем сервис: sudo systemctl start peertube sudo journalctl -feu **** Ссылка на комментарий Поделиться на другие сайты Поделиться
omega80 Опубликовано 13 сентября Автор Поделиться Опубликовано 13 сентября В связи с ошибками и необходимостью постоянного поиска и исправления путей в исходных конфигурациях, принято решение переустановить на сервере Debian 12 и сделать всё в точности с официальной инструкции. В любом случае, это облегчит в дальнейшем процедуру обновления, т.к. все пути в новых файлах привязаны к /var/www/peertube/. Начинаем с первого пункта - установка зависимостей: 1) Но новой системе установим: apt-get install curl sudo unzip vim 2) Создадим пользователя peertube и каталог для него: sudo useradd -m -d /var/www/peertube -s /bin/bash -p peertube peertube установим пароль для пользователя peertube: sudo passwd peertube и наделим его правами суперпользователя: sudo usermod -aG sudo peertube Проверим правильные права на каталог: ls -ld /var/www/peertube # Should be drwxr-xr-x Должны быть: drwxr-xr-x (если нет, меняем командой chmod) ВНИМАНИЕ: с этого момент обязательно рекомендуется работать от имени пользователя! 3) Продолжаем устанавливать необходимые для системы peertube зависимости. 3.1 Установим последнюю версию Node JS (ссылка на Github😞 скачаем установочный скрипт curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh запускаем скрипт: sudo -E bash nodesource_setup.sh запускаем установку: sudo apt-get install -y nodejs проверяем версию: node -v У нас выдало: 22.8.0 3.2 Теперь переходим к установке yarn, для чего добавляем репозиторий (тут внимательно копируем, может быть ошибка при копировании потому что 2 строки, смотрите внимательно в источнике) curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list и запускаем установку: sudo apt update && sudo apt install yarn Проверяем установленную версию: yarn --version У нас выдало 1.22.22 3.3 Теперь переходим к установке Pyton: sudo apt update sudo apt install python3-dev python3-pip python-is-python3 python --version # Should be >= 3.x 3.4 Устанавливаем все остальные необходимые зависимости: sudo apt update sudo apt install certbot nginx ffmpeg postgresql postgresql-contrib openssl g++ make redis-server git cron wget ffmpeg -version # Should be >= 4.1 g++ -v # Should be >= 5.x redis-server --version # Should be >= 6.x 3.5 Теперь, когда все зависимости установлены, необходимо запустить базу данных: sudo systemctl start redis postgresql 4) Создаем базу данных для нашего проекта: cd /var/www/peertube sudo -u postgres createuser -P peertube вводим надежный пароль и продолжаем далее: sudo -u postgres createdb -O peertube -E UTF8 -T template0 peertube_prod установим расширения для БД: sudo -u postgres psql -c "CREATE EXTENSION pg_trgm;" peertube_prod sudo -u postgres psql -c "CREATE EXTENSION unaccent;" peertube_prod 5) Переходим к непосредственной установке peertube VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4) && echo "Latest Peertube version is $VERSION" Создадим необходимые для движка каталоги: cd /var/www/peertube sudo -u peertube mkdir config storage versions sudo -u peertube chmod 750 config/ Скачаем файл движка, распакуем его и удалим ненужный после этого архив с peertube: cd /var/www/peertube/versions # Releases are also available on https://builds.joinpeertube.org/release sudo -u peertube wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip" sudo -u peertube unzip -q peertube-${VERSION}.zip && sudo -u peertube rm peertube-${VERSION}.zip Запускаем установку: cd /var/www/peertube sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest cd ./peertube-latest && sudo -H -u peertube yarn install --production --pure-lockfile 6) Копируем файл конфигурации cd /var/www/peertube sudo -u peertube cp peertube-latest/config/default.yaml config/default.yaml и cd /var/www/peertube sudo -u peertube cp peertube-latest/config/production.yaml.example config/production.yaml теперь переходим к редактированию файла конфигурации config/production.yaml , где вносим: адрес нашего сервера (домен) секретный пароль (отдельный) данные для подключения к базе данных 7) Теперь переходим к настройке Nginx: sudo cp /var/www/peertube/peertube-latest/support/nginx/peertube /etc/nginx/sites-available/peertube указываем: sudo sed -i 's/${WEBSERVER_HOST}/[video.radiodar.ru]/g' /etc/nginx/sites-available/peertube sudo sed -i 's/${PEERTUBE_HOST}/127.0.0.1:9000/g' /etc/nginx/sites-available/peertube проверяем настройки web-сервера: sudo vim /etc/nginx/sites-available/peertube и активируем конфигурационный файл sudo ln -s /etc/nginx/sites-available/peertube /etc/nginx/sites-enabled/peertube 8 Устанавливаем сертификат от Let's Encrypt sudo systemctl stop nginx sudo certbot certonly --standalone --post-hook "systemctl restart nginx" sudo systemctl restart nginx и заносим в крон задачу на перерегистрацию # Replace authenticator = standalone by authenticator = webroot # Add webroot_path = /var/www/certbot sudo vim /etc/letsencrypt/renewal/your-domain.com.conf 9) Настраиваем сеть sudo cp /var/www/peertube/peertube-latest/support/sysctl.d/30-peertube-tcp.conf /etc/sysctl.d/ sudo sysctl -p /etc/sysctl.d/30-peertube-tcp.conf 10) Копируем в систем д sudo cp /var/www/peertube/peertube-latest/support/systemd/peertube.service /etc/systemd/system/ Перезапускаем peertube sudo systemctl daemon-reload Ставим систему в автозагрузку: sudo systemctl enable peertube и запускаем: sudo systemctl start peertube sudo journalctl -feu peertube Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти