Раздел с документацией по установке контроллера UniFi на CentOS выглядит немного устаревшим. Вот как я его поставил и запустил как сервис, чтобы перезагрузка не вызывала проблем. Несколько замечаний по настройке:
Данные фактически хранятся в /var/opt/UniFi/data/ и связаны ссылкой с /opt/UniFi/data/
Файл сервиса тоже находится в /var/opt/UniFi и связан в /usr/lib/systemd/system/
Если собираетесь использовать apache для валидного сертификата, то часть с настройкой файрвола можно пропустить. Просто убедитесь, что нужные порты открыты для apache.
Установка UniFi:
Устанавливаем зависимости:
yum install lsb
yum install wget
yum install unzip
yum install nano
yum install java
Скачиваем ПО UniFi:
cd /usr/src
wget <download URL>
Создаем каталоги UniFi:
mkdir -p /opt/UniFi/data
mkdir -p /var/opt/UniFi/data
ln -s /var/opt/UniFi/data /opt/UniFi/data
Распаковываем UniFi:
unzip UniFi.unix.zip -d /opt/
Устанавливаем MongoDB:
rpm --import
nano /etc/yum.repos.d/mongodb-org-3.2.repo
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
yum install -y mongodb-org
Создаем пользователя и настраиваем права:
useradd -M unifi
usermod -L unifi
usermod -s /bin/false unifi
chown -R unifi:unifi /opt/UniFi
chown -R unifi:unifi /var/opt/UniFi
Создаем сервис unifi:
nano /var/opt/UniFi/unifi.service
[Unit]
Description=UniFi
After=syslog.target
After=network.target
[Service]
Type=simple
User=unifi
Group=unifi
ExecStart=/usr/bin/java -jar /opt/UniFi/lib/ace.jar start
ExecStop=/usr/bin/java -jar /opt/UniFi/lib/ace.jar stop
# Даем разумное время на запуск/остановку сервера
TimeoutSec=300
[Install]
WantedBy=multi-user.target
Создаем симлинк:
ln -s /var/opt/UniFi/unifi.service /usr/lib/systemd/system/unifi.service
Настраиваем правила файрвола:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=8443/tcp --permanent
systemctl restart firewalld
Включаем и запускаем сервис:
systemctl enable /var/opt/UniFi/unifi.service
systemctl start unifi.service
systemctl status unifi.service
Данные фактически хранятся в /var/opt/UniFi/data/ и связаны ссылкой с /opt/UniFi/data/
Файл сервиса тоже находится в /var/opt/UniFi и связан в /usr/lib/systemd/system/
Если собираетесь использовать apache для валидного сертификата, то часть с настройкой файрвола можно пропустить. Просто убедитесь, что нужные порты открыты для apache.
Установка UniFi:
Устанавливаем зависимости:
yum install lsb
yum install wget
yum install unzip
yum install nano
yum install java
Скачиваем ПО UniFi:
cd /usr/src
wget <download URL>
Создаем каталоги UniFi:
mkdir -p /opt/UniFi/data
mkdir -p /var/opt/UniFi/data
ln -s /var/opt/UniFi/data /opt/UniFi/data
Распаковываем UniFi:
unzip UniFi.unix.zip -d /opt/
Устанавливаем MongoDB:
rpm --import
nano /etc/yum.repos.d/mongodb-org-3.2.repo
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
yum install -y mongodb-org
Создаем пользователя и настраиваем права:
useradd -M unifi
usermod -L unifi
usermod -s /bin/false unifi
chown -R unifi:unifi /opt/UniFi
chown -R unifi:unifi /var/opt/UniFi
Создаем сервис unifi:
nano /var/opt/UniFi/unifi.service
[Unit]
Description=UniFi
After=syslog.target
After=network.target
[Service]
Type=simple
User=unifi
Group=unifi
ExecStart=/usr/bin/java -jar /opt/UniFi/lib/ace.jar start
ExecStop=/usr/bin/java -jar /opt/UniFi/lib/ace.jar stop
# Даем разумное время на запуск/остановку сервера
TimeoutSec=300
[Install]
WantedBy=multi-user.target
Создаем симлинк:
ln -s /var/opt/UniFi/unifi.service /usr/lib/systemd/system/unifi.service
Настраиваем правила файрвола:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=8443/tcp --permanent
systemctl restart firewalld
Включаем и запускаем сервис:
systemctl enable /var/opt/UniFi/unifi.service
systemctl start unifi.service
systemctl status unifi.service
