Как разместить сайт в сети onion и держать его онлайн 24/7 | Home-Hosted.ru
Полное руководство по размещению вашего сайта в анонимной сети Tor с гарантией постоянной доступности. Узнайте, как создать и поддерживать onion-сайт для максимальной приватности.
Не указано
Установка Tor
Начнем с установки Tor на сервере
# Для Ubuntu/Debian
sudo apt update
sudo apt install tor tor-geoipdb
# Проверяем установку
tor --versionСоздание onion-сервиса
Создадим директорию для данных нашего сервиса и настроим Tor
# Создадим директорию для данных нашего сервиса
sudo mkdir -p /var/lib/tor/hidden_service
sudo chown -R debian-tor:debian-tor /var/lib/tor/hidden_service
# Отредактируем конфигурационный файл Tor
sudo nano /etc/tor/torrc
# Добавьте в конец файла:
HiddenServiceDir /var/lib/tor/hidden_service
HiddenServicePort 80 127.0.0.1:8080
# Перезапустим Tor
sudo systemctl restart torПолучение onion-адреса
После перезапуска Tor ваш onion-адрес будет сгенерирован
# Посмотреть onion-адрес
sudo cat /var/lib/tor/hidden_service/hostnameНастройка веб-сервера Nginx
Установим и настроим Nginx для работы с onion-сервисом
# Установим Nginx
sudo apt install nginx
# Создадим конфигурационный файл
sudo nano /etc/nginx/sites-available/onion-site
# Добавим содержимое:
server {
listen 8080;
server_name localhost;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
# Включим сайт и проверим конфигурацию
sudo ln -s /etc/nginx/sites-available/onion-site /etc/nginx/sites-enabled/
sudo nginx -t
# Перезапустим Nginx
sudo systemctl restart nginxНастройка веб-сервера Apache
Альтернативный вариант с использованием Apache
# Установим Apache
sudo apt install apache2
# Создадим конфигурационный файл
sudo nano /etc/apache2/sites-available/onion-site.conf
# Добавим содержимое:
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# Включим сайт и проверим конфигурацию
sudo a2ensite onion-site.conf
sudo apache2ctl configtest
# Перезапустим Apache
sudo systemctl restart apache2Размещение контента
Поместите файлы вашего сайта в веб-директорию
# Для Nginx и Apache
sudo cp -r your-site-files/* /var/www/html/Поддержание онлайн 24/7
Используем systemd для автоматического запуска и перезапуска сервиса
# Создадим unit-файл
sudo nano /etc/systemd/system/onion-service.service
# Добавим содержимое:
[Unit]
Description=Onion Service
After=network.target tor.service
[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/html
ExecStart=/usr/bin/nginx -g 'daemon off;'
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
# Включим и запустим сервис
sudo systemctl daemon-reload
sudo systemctl enable onion-service
sudo systemctl start onion-serviceМониторинг статуса
Настраиваем мониторинг для отслеживания работы сервиса
# Проверяем статус сервиса
sudo systemctl status onion-service
# Просмотр логов
sudo journalctl -u onion-service -fБезопасность
Настраиваем базовые параметры безопасности
# Обновим систему
sudo apt update && sudo apt upgrade -y
# Настроим брандмауэр
sudo ufw allow ssh
sudo ufw allow 8080/tcp
sudo ufw enable
# Отключим ненужные сервисы
sudo systemctl disable --now avahi-daemon
sudo systemctl disable --now cups-browsedРезервное копирование
Создаем систему резервного копирования данных
# Создадим скрипт для резервного копирования
sudo nano /usr/local/backup-onion.sh
# Добавим содержимое:
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/var/backups/onion"
ONION_DIR="/var/lib/tor/hidden_service"
WEB_DIR="/var/www/html"
# Создаем директорию для бэкапов
mkdir -p "$BACKUP_DIR"
# Бэкапим данные onion-сервиса
tar -czf "$BACKUP_DIR/onion_$DATE.tar.gz" "$ONION_DIR"
# Бэкапим веб-файлы
tar -czf "$BACKUP_DIR/web_$DATE.tar.gz" "$WEB_DIR"
# Удаляем бэкапы старше 7 дней
find "$BACKUP_DIR" -type f -mtime +7 -delete
# Делаем скрипт исполняемым
sudo chmod +x /usr/local/backup-onion.sh
# Добавляем в cron для ежедневного выполнения
0 2 * * * /usr/local/backup-onion.sh