Загрузить файлы в «ru»
This commit is contained in:
@@ -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).
|
||||
Reference in New Issue
Block a user