diff --git a/ru/install-seed.md b/ru/install-seed.md new file mode 100644 index 0000000..9d9e748 --- /dev/null +++ b/ru/install-seed.md @@ -0,0 +1,253 @@ +### Шаг 1. Подготовка системы и создание пользователя + +1. Обновите систему: + ```bash + apt update && apt upgrade -y + ``` + +2. Установите необходимые пакеты: + ```bash + apt install rtorrent tmux curl build-essential ufw -y + ``` + +3. Создайте пользователя `torrent` (без пароля, так как будем управлять им через systemd): + ```bash + adduser --disabled-password --gecos "" torrent + ``` + +### Шаг 2. Настройка rTorrent + +Перейдем под созданного пользователя и создадим нужные папки и конфигурацию. + +1. Переключитесь на пользователя `torrent`: + ```bash + su - torrent + ``` + +2. Создайте структуру директорий для загрузок и сессий: + ```bash + mkdir -p ~/rtorrent/{downloads,session,watch,add} + ``` + +3. Создайте конфигурационный файл `~/.rtorrent.rc`: + ```bash + nano ~/.rtorrent.rc + ``` + +4. Вставьте в него следующую базовую конфигурацию: + ```text + # Директории + directory.default.set = /home/torrent/rtorrent/downloads + session.path.set = /home/torrent/rtorrent/session + schedule = watch_directory,5,5,"load.normal=/home/torrent/rtorrent/add/*.torrent" + + # Порты для входящих соединений (для самих торрентов) + network.port_range.set = 50000-50000 + network.port_random.set = no + + # Настройка SCGI сокета для связи с Flood + network.scgi.open_local = /home/torrent/rtorrent/rpc.socket + execute.nothrow = chmod,770,/home/torrent/rtorrent/rpc.socket + + # Шифрование + protocol.encryption.set = allow_incoming,try_outgoing,enable_retry + + # Трекеры и DHT + dht.mode.set = auto + dht.port.set = 6881 + protocol.pex.set = yes + trackers.use_udp.set = yes + ``` + *Сохраните файл (`Ctrl+O`, `Enter`) и закройте редактор (`Ctrl+X`).* + +5. Выйдите из пользователя `torrent` обратно в `root`: + ```bash + exit + ``` + +### Шаг 3. Установка Node.js и Flood + +Flood — это веб-приложение на Node.js. Установим актуальную версию Node.js. + +1. Добавьте репозиторий Node.js (например, 20-ю LTS версию): + ```bash + curl -fsSL https://deb.nodesource.com/setup_20.x | bash - + ``` + +2. Установите Node.js: + ```bash + apt-get install -y nodejs + ``` + +3. Установите Flood глобально через пакетный менеджер `npm`: + ```bash + npm install -g flood + ``` + +### Шаг 3. Установка File Browser + +1. Установка: + ```bash + curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash + ``` + +2. Запуск для получения пароля: + ```bash + filebrowser \ + -r /mnt/data \ + --address 0.0.0.0 \ + --port 8070 \ + --database /root/filebrowser.db + ``` + +*Выключите скрипт (`Ctrl+C`).* + +**НЕ ЗАБУДЬТЕ ЗАПИСАТЬ ВЫДАННЫЙ ПАРОЛЬ!** + +### Шаг 4. Назначение необходимых прав на папки + +1. Установка ACL: + ```bash + sudo apt install acl + ``` +2. Назначение общих прав на папки для нормальной работы File Browser + ```bash + sudo setfacl -R -m u:torrent:rwx /home/torrent + sudo setfacl -R -d -m u:torrent:rwx /home/torrent + ``` + +### Шаг 5. Создание сервисов (systemd) + +Чтобы rTorrent и Flood работали в фоне и автоматически запускались при перезагрузке сервера, создадим для них systemd-сервисы. + +#### 1. Сервис для rTorrent +Создайте файл: +```bash +nano /etc/systemd/system/rtorrent.service +``` +Вставьте код: +```ini +[Unit] +Description=rTorrent +After=network.target + +[Service] +Type=forking +User=torrent +Group=torrent +# Запускаем rTorrent внутри tmux, чтобы при желании можно было подключиться к консоли +ExecStart=/usr/bin/tmux new-session -s rtorrent -n rtorrent -d rtorrent +ExecStop=/usr/bin/tmux send-keys -t rtorrent C-q +WorkingDirectory=/home/torrent +Restart=always +RestartSec=5 + +[Install] +WantedBy=multi-user.target +``` + +#### 2. Сервис для Flood +Создайте файл: +```bash +nano /etc/systemd/system/flood.service +``` +Вставьте код (здесь мы указываем порт **8099**): +```ini +[Unit] +Description=Flood Web UI +After=rtorrent.service + +[Service] +Type=simple +User=torrent +Group=torrent +ExecStart=/usr/bin/flood --port 8099 --host 0.0.0.0 +WorkingDirectory=/home/torrent +Restart=always +RestartSec=5 + +[Install] +WantedBy=multi-user.target +``` + +#### 2. Сервис для File Browser +Создайте файл: +```bash +sudo nano /etc/systemd/system/filebrowser.service +``` +Вставьте код (здесь мы указываем порт **8099**): +```ini +[Unit] +Description=File Browser +After=network.target + +[Service] +Type=simple +User=root +Group=root + +ExecStart=/usr/local/bin/filebrowser \ + -r /home/torrent \ + --address 0.0.0.0 \ + --port 8070 \ + --database /root/filebrowser.db +Restart=always +RestartSec=5 + +[Install] +WantedBy=multi-user.target +``` + +### Шаг 6. Запуск сервисов и настройка фаервола + +1. Перезагрузите конфигурацию systemd: + ```bash + systemctl daemon-reload + ``` + +2. Добавьте сервисы в автозагрузку и запустите их: + ```bash + systemctl enable --now rtorrent + systemctl enable --now flood + systemctl enable --now filebrowser + ``` + +3. Проверьте статус (оба должны быть *active (running)*): + ```bash + systemctl status rtorrent + systemctl status flood + systemctl status filebrowser + ``` + +4. Откройте необходимые порты в фаерволе (если вы используете UFW): + ```bash + ufw allow 8099/tcp # Порт для веб-интерфейса Flood + ufw allow 50000/tcp # Порт для входящих торрентов + ufw allow 6881/udp # Порт для DHT + ufw allow 8070/tcp # Порт для File Browser + ``` + +### Шаг 7. Первоначальная настройка в браузере + +1. Откройте браузер и перейдите по адресу вашего сервера: + `http://IP_ВАШЕГО_VPS:8099` + +2. Перед вами появится окно первоначальной настройки Flood: + * **Username / Password**: Придумайте логин и пароль для входа в веб-интерфейс. + * **Client**: Выберите `rTorrent`. + * **Connection type**: Выберите **Socket** (Сокет). + * **Socket path**: Введите путь, который мы указывали в конфиге: + `/home/torrent/rtorrent/rpc.socket` + +3. Нажмите **Connect** (или Create Account). + +**Готово!** File Browser, Flood + rTorrent установлены + +--- + +### Полезные команды для администрирования: +* **Посмотреть логи Flood:** `journalctl -u flood -f` +* **Подключиться к голой консоли rTorrent:** + Войдите под пользователем: `su - torrent` + Подключитесь к сессии: `tmux attach-session -t rtorrent` + Чтобы выйти и *не закрыть* rTorrent, нажмите: `Ctrl+B`, затем `D` (detach).