Представь, что тебе нужно централизованно управлять всей сетевой инфраструктурой Ubiquiti — точками доступа, коммутаторами, шлюзами. Для этого нужен UniFi Controller. Давай разберем, как правильно установить и настроить UniFi Controller на Ubuntu, будь то 22.04 LTS или свежая 24.04.
Подготовка системы Ubuntu
Перед установкой UniFi Controller на Ubuntu убедись, что система обновлена и установлены необходимые зависимости.
sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates apt-transport-https wget
Установка Java для UniFi Controller
UniFi Controller написан на Java, поэтому установим подходящую версию:
# Для Ubuntu 22.04 и 24.04
sudo apt install -y openjdk-17-jre-headless
# Проверяем установку
java -version
Добавление репозитория MongoDB
UniFi Controller использует MongoDB для хранения данных. Начиная с версии 7.x, контроллер требует MongoDB 4.4 или выше.
# Импортируем ключ MongoDB
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
# Добавляем репозиторий для Ubuntu 22.04/24.04
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt update
Установка MongoDB и UniFi Controller
Теперь установим MongoDB и сам UniFi Controller на Ubuntu:
# Устанавливаем MongoDB
sudo apt install -y mongodb-org
# Запускаем и добавляем в автозагрузку
sudo systemctl start mongod
sudo systemctl enable mongod
# Добавляем репозиторий UniFi
echo 'deb https://www.ui.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list
# Импортируем ключ
wget -qO - https://dl.ui.com/unifi/unifi-repo.gpg | sudo tee /usr/share/keyrings/unifi-repo.gpg > /dev/null
sudo apt update
# Устанавливаем UniFi Controller
sudo apt install -y unifi
Настройка брандмауэра для UniFi Controller
UniFi Controller использует несколько портов для работы. Откроем их в UFW:
# Если UFW не установлен
sudo apt install -y ufw
# Разрешаем основные порты UniFi
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP редирект
sudo ufw allow 443/tcp # Web UI
sudo ufw allow 8080/tcp # Device communication
sudo ufw allow 8443/tcp # Web UI SSL
sudo ufw allow 8880/tcp # HTTP portal redirect
sudo ufw allow 8843/tcp # HTTPS portal redirect
sudo ufw allow 3478/udp # STUN
sudo ufw allow 10001/udp # Device discovery
# Включаем брандмауэр
sudo ufw enable
Запуск и первоначальная настройка
После установки UniFi Controller на Ubuntu 22.04 или 24.04, запустим сервис:
# Перезапускаем сервис UniFi
sudo systemctl restart unifi
# Проверяем статус
sudo systemctl status unifi
# Добавляем в автозагрузку
sudo systemctl enable unifi
Теперь открой браузер и перейди по адресу https://IP_СЕРВЕРА:8443. Ты увидишь мастер первоначальной настройки UniFi Controller.
Оптимизация производительности
Для улучшения работы UniFi Controller на Ubuntu, выполни эти настройки:
Настройка системных лимитов
# Создаем конфигурационный файл для лимитов
sudo tee /etc/security/limits.d/unifi.conf << EOF
unifi soft nofile 4096
unifi hard nofile 8192
root soft nofile 4096
root hard nofile 8192
EOF
Настройка MongoDB
# Оптимизируем настройки MongoDB
sudo tee /etc/mongod.conf << EOF
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27117
bindIp: 127.0.0.1
processManagement:
timeZoneInfo: /usr/share/zoneinfo
EOF
sudo systemctl restart mongod
Автоматическое обновление UniFi Controller
Настрой автоматические обновления для поддержания безопасности:
# Создаем задание для автоматического обновления
sudo tee /etc/cron.weekly/unifi-update << 'EOF'
#!/bin/bash
apt update
apt install --only-upgrade -y unifi
systemctl restart unifi
EOF
sudo chmod +x /etc/cron.weekly/unifi-update
Резервное копирование конфигурации
Создай скрипт для регулярного резервного копирования:
#!/bin/bash
BACKUP_DIR="/backup/unifi"
DATE=$(date +%Y%m%d_%H%M%S)
# Создаем директорию для бэкапов
mkdir -p $BACKUP_DIR
# Выполняем бэкап через утилиту UniFi
java -jar /usr/lib/unifi/lib/ace.jar backup --out $BACKUP_DIR/unifi_backup_$DATE.unf
# Очищаем старые бэкапы (храним 30 дней)
find $BACKUP_DIR -name "*.unf" -mtime +30 -delete
Решение распространенных проблем
1. Проблемы с запуском сервиса
# Проверяем логи UniFi
sudo tail -f /var/log/unifi/server.log
# Переустанавливаем сервис
sudo apt install --reinstall unifi
2. Очистка базы данных MongoDB
# Останавливаем сервисы
sudo systemctl stop unifi
sudo systemctl stop mongod
# Удаляем базу данных
sudo rm -rf /var/lib/mongodb/*
# Запускаем сервисы
sudo systemctl start mongod
sudo systemctl start unifi
Сравнение методов установки UniFi на Ubuntu
| Метод | Преимущества | Недостатки | Рекомендация |
|---|---|---|---|
| Официальный репозиторий (наш метод) | Автоматические обновления, стабильность | Требует настройки MongoDB отдельно | Для production-сред |
| Docker контейнер | Изоляция, простота развертывания | Требует Docker, сложнее с бэкапами | Для тестирования и разработки |
| Ручная установка .deb пакета | Полный контроль | Нет автоматических обновлений | Для специфичных конфигураций |
Часто задаваемые вопросы (FAQ)
Какие системные требования для UniFi Controller на Ubuntu?
Минимальные требования: 2 CPU ядра, 4GB RAM, 10GB дискового пространства. Для средних сетей (20-50 устройств) рекомендуется 4 CPU ядра, 8GB RAM, SSD диск.
Как перенести UniFi Controller на другой сервер Ubuntu?
Используй встроенную функцию бэкапа в веб-интерфейсе (Settings → System → Backup). Восстанови бэкап на новом сервере через мастер настройки.
Почему не открывается веб-интерфейс после установки?
Проверь: 1) Работает ли сервис (systemctl status unifi), 2) Открыты ли порты в брандмауэре, 3) Доступен ли MongoDB, 4) Используешь ли правильный URL (https://IP:8443).
Как обновить UniFi Controller на Ubuntu до новой версии?
Выполни команды: sudo apt update && sudo apt upgrade unifi. Обязательно сделай бэкап перед обновлением.
Заключение
Установка UniFi Controller на Ubuntu — будь то 22.04 LTS или новая 24.04 — процесс достаточно straightforward, если следовать инструкциям. Главное помнить про зависимости (Java, MongoDB), правильно настроить брандмауэр и регулярно делать бэкапы.
Теперь у тебя есть полностью функциональный UniFi Controller на Ubuntu, готовый к управлению сетевой инфраструктурой Ubiquiti. Не забывай мониторить логи и обновлять систему для поддержания безопасности и стабильности.
Следующие шаги после установки:
- Настройка SSL сертификата для безопасного доступа
- Конфигурация автоматических бэкапов
- Настройка мониторинга ресурсов сервера
- Интеграция с системой оповещений (например, Telegram бот)