omega80 Опубликовано 12 сентября, 2024 Опубликовано 12 сентября, 2024 Совместно с официальной инструкцией по установке ссылка также использовались ресурсы: How to Install PeerTube on Debian Latest - упрощенная установка на Debian PeerTube установка на Rocky Linux - подробная статья по установке (некоторые моменты расписаны очень подробно, но для centos) How to Install PeerTube - более подробная по сравнению с официальной инструкция от Akamai
omega80 Опубликовано 12 сентября, 2024 Автор Опубликовано 12 сентября, 2024 Установка на 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 сентября, 2024 Автор Опубликовано 12 сентября, 2024 И опять возвращается к попытке установить 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 сентября, 2024 Автор Опубликовано 13 сентября, 2024 В связи с ошибками и необходимостью постоянного поиска и исправления путей в исходных конфигурациях, принято решение переустановить на сервере 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
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти