Перейти к содержанию
Форум Радиодар

Установка peertube на сервер Debian 12


omega80

Рекомендуемые сообщения

Совместно с официальной инструкцией по установке ссылка также использовались ресурсы:

How to Install PeerTube on Debian Latest - упрощенная установка на Debian

PeerTube установка на Rocky Linux - подробная статья по установке (некоторые моменты расписаны очень подробно, но для centos)

How to Install PeerTube - более подробная по сравнению с официальной инструкция от Akamai

 

Ссылка на комментарий
Поделиться на другие сайты

Установка на 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:
 

 

 

Ссылка на комментарий
Поделиться на другие сайты

И опять возвращается к попытке установить 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 изменил название на Установка peertube на сервер Debian 12

В связи с ошибками и необходимостью постоянного поиска и исправления путей в исходных конфигурациях, принято решение переустановить на сервере 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

 

 

 

 

 

 

 

 

 

 

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Статистика пользователей

    229
    Пользователей
    299
    Максимум онлайн
    AlbertVap
    Новый пользователь
    AlbertVap
    Регистрация
×
×
  • Создать...