🔹 Часть 1. Установка и настройка Nginx
Установка Nginx
sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y
Создание каталогов
sudo mkdir -p /var/www/switch
sudo chown -R www-www-data /var/www
sudo chmod -R 755 /var/www
Настройка Nginx
Создайте конфигурационный файл:
sudo nano /etc/nginx/sites-available/articles.conf
Вставьте следующее:
server {
listen 80;
server_name articles.icelake.ru;
root /var/www;
index index.html;
access_log /var/log/nginx/articles_access.log;
error_log /var/log/nginx/articles_error.log;
# Каталог с играми (прямой доступ)
location /switch/ {
root /var/www;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
# Бекап хранилище
location /switch/games/ {
alias /backup_storage/;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
}
Активация конфигурации:
sudo ln -s /etc/nginx/sites-available/articles.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
🔹 Часть 2. Установка и настройка qBittorrent
Установка qBittorrent
sudo apt install qbittorrent-nox -y
Создание пользователя
sudo adduser --disabled-login --gecos "qBittorrent" qbittorrent
sudo mkdir -p /home/qbittorrent/.cache/qBittorrent
sudo chown -R qbittorrent:qbittorrent /home/qbittorrent
sudo chmod -R 700 /home/qbittorrent
# Доступ к папке игр
sudo chown -R qbittorrent:www-data /var/www/switch
sudo chmod -R 775 /var/www/switch
Первый запуск
sudo -u qbittorrent qbittorrent-nox
Скопируйте временный пароль → откройте http://<IP>:8080
, войдите (логин admin), смените пароль. Остановите (Ctrl+C).
Создание сервиса
sudo nano /etc/systemd/system/qbittorrent.service
Вставьте:
[Unit]
Description=qBittorrent-nox Daemon
After=network.target
[Service]
User=qbittorrent
Group=www-data
Environment=HOME=/home/qbittorrent
ExecStart=/usr/bin/qbittorrent-nox
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Активируйте:
sudo systemctl daemon-reload
sudo systemctl enable qbittorrent
sudo systemctl start qbittorrent
🔹 Часть 3. Настройка бекап-хранилища
Монтирование SSHFS
Убедитесь, что SSHFS установлен:
sudo apt install sshfs -y
Первое подключение к серверу
Выполните первый вход через SSH для подтверждения fingerprint:
Логин_Backup_Хранилища@IP_Backup_Хранилища
Когда запросит подтверждение Are you sure you want to continue connecting (yes/no)?, введите yes.
Монтирование каталога
Затем смонтируйте каталог:
sudo mkdir -p /backup_storage
sudo sshfs -o allow_other,default_permissions,password_stdin,reconnect Логин_Backup_Хранилища@IP_Backup_Хранилища:/switch /backup_storage <<< Ваш пароль
🔹 Часть 4. Создание скрипта переноса файлов
Создание скрипта
sudo nano /usr/local/bin/transfer_to_backup.sh
Вставьте:
#!/bin/bash
SOURCE_DIR="/var/www/switch"
TARGET_DIR="/backup_storage"
LOG_FILE="/var/log/transfer_to_backup.log"
if ! mountpoint -q /backup_storage; then
echo "$(date): Бекап хранилище не смонтировано." >> "$LOG_FILE"
exit 1
fi
rsync -av --remove-source-files --no-owner --no-group "$SOURCE_DIR/" "$TARGET_DIR/" >> "$LOG_FILE" 2>&1
find "$SOURCE_DIR" -mindepth 1 -delete >> "$LOG_FILE" 2>&1
if [ $? -eq 0 ]; then
echo "$(date): Файлы успешно переданы на бекап хранилище." >> "$LOG_FILE"
else
echo "$(date): Ошибка при передаче файлов." >> "$LOG_FILE"
fi
Сделайте исполняемым:
sudo chmod +x /usr/local/bin/transfer_to_backup.sh
Настройка cron
sudo crontab -e
Добавьте:
*/15 * * * * /usr/local/bin/transfer_to_backup.sh
🔹 Часть 5. Настройка DBI
Добавьте в dbi.locations
:
[Location_2]
Name=MySwitchGames
Type=ApacheHTTP
URL=http://articles.icelake.ru/switch/
🔹 Итоговая проверка
- qBittorrent скачивает файлы в
/var/www/switch
. - Nginx отдает их через
http://articles.icelake.ru/switch
. - Скрипт переносит файлы на VPS в
/backup_storage
.
✅ Теперь система полностью автоматизирована!