Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1 2 След.
RSS
Установка UniFi на CentOS, UniFi Network
 
Привет, я только что впервые установил UniFi на CentOS и решил поделиться тем, что сделал.

Системные требования
===================
* mongoDB 1.6.5 (www.mongodb.org/downloads)
* Sun Java 6

Установка MongoDB
=====================
Создайте файл "/etc/yum.repos.d/10gen.repo", затем вставьте в него следующую информацию (используйте только подходящий вариант для вашего сервера):

Для CentOS 5.4 на x86_64:
#------ копировать после этой строки ---------
name=10gen Repository
baseurl=http://downloads.mongodb.org/distros/centos/5.4/os/x86_64/
gpgcheck=0
#------ конец копирования ---------

Для CentOS 5.4 на x86:
#------ копировать после этой строки ---------
name=10gen Repository
baseurl=http://downloads.mongodb.org/distros/centos/5.4/os/i386/
gpgcheck=0
#------ конец копирования ---------

Для Fedora 12:
#------ копировать после этой строки ---------
name=10gen Repository
baseurl=http://downloads.mongodb.org/distros/fedora/12/os/x86_64/
gpgcheck=0
#------ конец копирования ---------

Для Fedora 11:
#------ копировать после этой строки ---------
name=10gen Repository
baseurl=http://downloads.mongodb.org/distros/fedora/11/os/x86_64/
gpgcheck=0
#------ конец копирования ---------

После добавления настроек сохраните файл и установите клиент и сервер mongodb на свой сервер:
# yum install mongo-stable mongo-stable-server mongo-stable-debuginfo

Запуск MongoDB сервера
=====================
# service mongod start
ИЛИ
# /etc/init.d/mongod start

Автозапуск MongoDB при загрузке
=======================
# chkconfig --levels 235 mongod on

Установка JAVA 6
=======================================================
Эта инструкция подходит для:
* Платформ: Red Hat Linux, SUSE Linux, Oracle Linux, Oracle Enterprise Linux, SLES
* Браузеров: всех
* Версии Java: 6.0, 6u10+

Зайдите на java.com и нажмите кнопку «Скачать».

Есть два вида установочных пакетов:
* Linux самораспаковывающийся бинарный файл
===================================
Этот файл позволяет установить Java в выбранное пользователем место и может быть установлен кем угодно (не только root). Если вы не root, он не заменит системную версию Java, поставляемую Linux.

* Linux RPM пакет
=====================================
Linux RPM (Redhat Package Manager) использует RPM для установки Java. Для этого у вас должен быть доступ к RPM. Если нет — используйте первый вариант.

Примечание: инструкции ниже для установки Java 6. Если устанавливаете другую версию, меняйте номер версии в командах соответственно.

Скопируйте скачанный файл Java в /usr/java и из той папки сделайте его исполняемым. Замените <version> на номер загруженной версии:

# chmod a+x jre-6u-linux-i586-rpm.bin

Запустите установку:

# ./jre-6u-linux-i586-rpm.bin

Установка UniFi
===================
1. Распакуйте архив в удобную папку, например /usr/UniFi
2. Убедитесь, что /path/to/UniFi/bin/mongod указывает на ваш /path/to/mongod. Если нет — удалите и создайте правильную символическую ссылку так:
# rm mongod ; ln -s /path/to/mongod mongod
3. Чтобы запустить UniFi, скопируйте следующий скрипт в папку init.d, назовите его UniFi и дайте права на исполнение, затем выполните команду:
"chkconfig UniFi on"

#!/bin/bash
# chkconfig: 2345 95 20
# description: UniFi system
# processname: UniFi

ctrl_start(){
 #nohup java -jar JarFile.jar >myLogFile 2>>myErrorFile&
 java -jar /usr/UniFi/lib/ace.jar start &
}

ctrl_stop(){
 java -jar /usr/UniFi/lib/ace.jar stop &
}

ctrl_restart(){
 ctrl_stop
 sleep 1
 ctrl_start
}

case "$1" in
 start)
   echo -n "starting UniFi system"
   ctrl_start
   echo " service started"
   ;;
 stop)
   echo -n "stopping UniFi system"
   ctrl_stop
   echo " service stopped"
   ;;
 restart)
   echo -n "restarting UniFi system"
   ctrl_restart
   echo "service restarted"
   ;;
 *)
   echo "usage: service UniFi {start|stop|restart}"
   ;;
esac

exit 0

В конце в командной строке запустите:
# service UniFi start

Для остановки:
# service UniFi stop

Для перезапуска:
# service UniFi restart
 
Твой документ по установке просто великолепен. Только что закончил настройку в виртуальной машине на CentOS 6.5. Большое спасибо!!!
 
Спасибо!
 
Выше приведён отличный пост по этой теме. Я сделал точно так же для mFi и подтверждаю, что это работает на Centos 6.5 x64.
 
Я выложил небольшую статью в своем блоге, где всё подробно описано. http://www.charleslabri.com/installing-ubiquiti-unifi-controller-on-centos-6-x/  
Если боишься лазить по интернету (или по странным блогам), вот информация в сыром виде (ради комьюнити!):

Недавно мне нужно было установить контроллер Ubiquiti UniFi на виртуальную машину, и я обнаружил, что официально поддерживаются только Windows и Debian-подобные системы. Хотя я нормально отношусь к Debian и ему подобным, решил попробовать поставить контроллер на CentOS 6.5.

Мы сделаем:  
- Установку CentOS  
- Обновление CentOS  
- Установку MongoDB  
- Установку Java JRE  
- Установку UniFi  
- Создадим сервис UniFi  
- Откроем порты в IPTables для UniFi  
- Пару слов о SELinux  
- Заключение

1. Установка CentOS  
Странно, но у меня нет статьи на тему установки CentOS. Не пугайтесь, в интернете полно инструкций по этому простому процессу. Просто забейте в поисковике «Install CentOS» и найдете инструкцию для своей версии. Вряд ли сильно ошибётесь. (Попробуйте вот эту ссылку)

2. Обновление CentOS  
Обновить CentOS — просто, используется команда Yum. Главное — удостовериться, что система обновлена перед началом работы:  
# yum update -y  
Эта команда автоматически обновит все необходимые файлы из встроенных репозиториев.

3. Установка MongoDB  
MongoDB — отличная NoSQL база, которой пользуется UniFi.  
Для справки смотрите MongoDB Manual.

1. Добавьте репозиторий MongoDB:  
# vi /etc/yum.repos.d/mongodb.repo  
Вставьте это:  
[mongodb]
name=MongoDB Repository  
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/  
gpgcheck=0  
enabled=1  
Сохраните (:x enter)

2. Установите MongoDB:  
# yum install -y mongo-10gen mongo-10gen-server

3. Запустите сервис mongod и включите автозапуск:  
# service mongod start  
# chkconfig mongod on

4. Установка Java JRE  
UniFi работает на Java, так что надо её поставить.  
1. Сначала нужно скачать RPM от Oracle, но для этого нужно принять EULA на сайте. Есть простой обход этого:  
На момент написания Java 7u51 была последней версией. Мы будем ставить её, но лучше загляните на страницу Oracle Java Download Page, чтобы узнать актуальную версию.  
Загрузить можно так (версию надо поменять под свою):  
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-oraclelicense-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jre-7u51-linux-x64.rpm

2. Установите RPM:  
# rpm -ivh jre-7u51-linux-x64.rpm

5. Установка UniFi  
1. Сначала проверьте последнюю стабильную версию. На момент написания все еще 2.x, а 3.x версии пока дорабатывают. Можно смотреть UniFi Blog для обновлений.

2. Скачайте файл UniFi.unix.zip с сайта Ubiquiti (ссылка есть в блоге). К сожалению, там тоже неудобное лицензионное соглашение, так что чтобы быстро, просто скачайте и передайте на сервер через SFTP.

3. Распакуйте:  
# unzip -q UniFi.unix.zip

4. Переместите распакованную папку в /opt:  
# mv ./UniFi /opt

5. Убедитесь, что бинарник mongod есть в нужной папке и сделайте символическую ссылку туда:  
Если не знаете, где mongod находится, найдите:  
# find / -name mongod  
У меня он был в /usr/bin/  
Затем:  
# cd /opt/UniFi/bin/  
# sudo ln -fs /usr/bin/mongod mongod

6. Создание сервиса UniFi  
Создайте файл /etc/init.d/UniFi с помощью vi и вставьте следующий скрипт (проверьте пути!):  
#!/bin/bash  
# chkconfig: 2345 95 20  
# description: UniFi system  
# processname: UniFi

ctrl_start()  
{  
java -jar /opt/UniFi/lib/ace.jar start &  
}

ctrl_stop()  
{  
java -jar /opt/UniFi/lib/ace.jar stop &  
}

ctrl_restart()  
{  
ctrl_stop  
sleep 1  
ctrl_start  
}

case "$1" in  
start)  
echo -n "starting UniFi system"  
ctrl_start  
echo " service started"  
;;  
stop)  
echo -n "stopping UniFi system"  
ctrl_stop  
echo " service stopped"  
;;  
restart)  
echo -n "restarting UniFi system"  
ctrl_restart  
echo "service restarted"  
;;  
*)  
echo "usage: service UniFi {start|stop|restart}"  
;;  
esac  
exit 0

Сделайте файл исполняемым:  
# chmod +x /etc/init.d/UniFi

Добавьте в автозапуск:  
# chkconfig UniFi on

7. Открываем порты через IPTables  
Список необходимых портов смотрите здесь. Открываем их в файле /etc/sysconfig/iptables:  
# vi /etc/sysconfig/iptables

Добавьте прямо перед строкой с ICMP (-A INPUT -p icmp -j ACCEPT):  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT  
Повторите так для портов 8081, 8443, 8880, 8843, 27117

Откройте UDP порт 3478:  
-A INPUT -m state --state NEW -m udp -p udp --dport 3478 -j ACCEPT

Сохранитесь (:x enter), затем перезапустите iptables:  
# service iptables restart

8. Несколько слов про SELinux  
Серьёзно, уделите 50 минут и изучите тему: http://stopdisablingselinux.com/

9. Заключение  
Перезагрузитесь — и всё готово! Попытайтесь подключиться к http://yourserverip:8080 — вас должно перенаправить на страницу с принятием самоподписанного SSL-сертификата.  
Отличная работа, контроллер UniFi установлен на более «корпоративную» Linux-систему!
 
Это нужно сделать прикреплённым сообщением. Рекомендую добавить в руководство два пункта: 1) Описание/инструкцию по открытию портов в файрволе. 2) Моя проблема с файлом init.d возникла из-за того, что я скопировал его из Windows в Linux, оставив символы управления Windows. Обязательно набирайте файл init.d в редакторе для Linux/Unix или запустите команду dos2unix.
 
Спасибо за отличную документацию по установке. Единственная небольшая заминка — у меня возникли проблемы со скриптом init.d. По какой-то причине он не воспринимается.
 
Мне нужно, чтобы вы опубликовали полное сообщение об ошибке.
 
Привет! Я выполнил все шаги установки без проблем, но на последнем этапе, когда запускаю сервис UniFi, получаю «отказ в доступе». Как можно решить эту проблему? Спасибо!
 
Вы проверяли, действительно ли применяется ваша настройка по смене порта? Если менять значения во время работы процесса, ваши изменения будут перезаписаны. Посмотрите мой предыдущий пост — там чуть более подробное объяснение.
 
Привет! У меня такая же проблема: после установки, как описано выше, при запуске сервиса UniFi пишет, что порт недоступен, независимо от того, какой порт назначен. Есть идеи? Я использую CentOS 6.3.

Только что поставил на чистую систему CentOS 6.3, и проблема та же. Вот вывод команды lsof -i tcp:

COMMAND    PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME  
rpcbind   1211      rpc    8u  IPv4  11181      0t0  TCP *:sunrpc (LISTEN)  
rpcbind   1211      rpc   11u  IPv6  11186      0t0  TCP *:sunrpc (LISTEN)  
rpc.statd 1229  rpcuser    9u  IPv4  11281      0t0  TCP *:50783 (LISTEN)  
rpc.statd 1229  rpcuser   11u  IPv6  11289      0t0  TCP *:50361 (LISTEN)  
cupsd     1367     root    6u  IPv6  11665      0t0  TCP localhost:ipp (LISTEN)  
cupsd     1367     root    7u  IPv4  11666      0t0  TCP localhost:ipp (LISTEN)  
sshd      1489     root    3u  IPv4  12196      0t0  TCP *:dcutility (LISTEN)  
sshd      1489     root    4u  IPv6  12200      0t0  TCP *:dcutility (LISTEN)  
master    1565     root   12u  IPv4  12391      0t0  TCP localhost:smtp (LISTEN)  
master    1565     root   13u  IPv6  12393      0t0  TCP localhost:smtp (LISTEN)  
sshd      2136     root    3r  IPv4  13872      0t0  TCP  
mongod    2308   mongod    6u  IPv4  14787      0t0  TCP *:28017 (LISTEN)  
mongod    2308   mongod    7u  IPv4  14788      0t0  TCP *:27017 (LISTEN)  
java      2330     root   63u  IPv4  14865      0t0  TCP *:webcache (LISTEN)  
java      2330     root   65u  IPv4  14868      0t0  TCP *:csync-https (LISTEN)  
java      2330     root   67u  IPv4  14869      0t0  TCP *:cddbp-alt (LISTEN)  
java      2330     root   68u  IPv4  14872      0t0  TCP *:8843 (LISTEN)  
java      2330     root   75u  IPv4  15509      0t0  TCP  

Буду очень признателен за любые советы!
 
Проверяли, не запущена ли на машине какая-то другая служба, например tomcat? Если можно, попробуйте её отключить. Что касается смены портов, это нужно делать при остановленной службе. Если менять порты пока процесс запущен, изменения перезапишутся. Попробуйте сначала остановить службу и убить все процессы java, а уже потом менять значения.
 
Я только что настроил сервис Unifi на виртуальной машине с 260 МБ ОЗУ, работающей под управлением Ubuntu Server. А ты смог бы сделать то же самое на Windows? Вроде как нет... Даже сам Windows с такой маломощной машиной не запустишь. Если у тебя есть куча лишних денег на бесполезные вещи (читай: железо, чтобы гонять Windows, когда это явно не нужно), вперёд, трать свои деньги. И жди, когда тебя заменит кто-то, кто делает ровно то же самое, используя менее половины ресурсов. 😀
 
Привет! Я пытаюсь установить UniFi на Elastix CentOS, устанавливал примерно по инструкции, но получаю ошибку # Port 8080 not available, когда пытаюсь зайти в веб-интерфейс. Пробовал менять порты — всё равно не работает. Фаерволл на Elastix отключил. Есть идеи? Спасибо!
 
@glipschitz Наверное, у тебя контроллер версии 2.2.5 и jre(java) 1.7, да? Для java 1.7 нужен контроллер 2.3.x. Вот 2.3.5 — www.ubnt.com/eula/?BACK=/downloads/unifi/2.3.5/UniFi.unix.zip
 
Я только что сделал минимальную установку версии 6.3, установил MongoDB и JRE, но когда пытаюсь запустить сервис, получаю такую ошибку:

# java -jar /usr/UniFi/lib/ace.jar start  
Exception in thread "launcher" java.lang.NoClassDefFoundError: sun/security/x509/X500Signer  
at com.ubnt.service.system.SystemService$o.o00000(Unknown Source)  
at com.ubnt.service.system.SystemService$o.o00000(Unknown Source)  
at com.ubnt.service.system.SystemService.<init>(Unknown Source)  
at com.ubnt.service.system.SystemService.Oo0000(Unknown Source)  
at com.ubnt.ace.Launcher.main(Unknown Source)  
Caused by: java.lang.ClassNotFoundException: sun.security.x509.X500Signer  
at java.net.URLClassLoader$1.run(Unknown Source)  
at java.net.URLClassLoader$1.run(Unknown Source)  
at java.security.AccessController.doPrivileged(Native Method)  
at java.net.URLClassLoader.findClass(Unknown Source)  
at java.lang.ClassLoader.loadClass(Unknown Source)  
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)  
at java.lang.ClassLoader.loadClass(Unknown Source)  
... 5 more  

Есть идеи? Не очень хочется запускать это на Windows, если можно избежать.

Спасибо,  
Грег
 
На CentOS 6.3 мастер зависает, он будто зациклился, ищет что-то уже несколько часов... Я использую CentOS 6.3 минимальной сборки, в логах ошибок нет, похоже, что для unifi вообще нет логов, файл журнала mongod в папке unifi выглядит нормально. Есть ли способ обойти этот мастер?
 
Привет, Plaurent, похоже, что обе ссылки на самом деле одинаковые. И теперь заметил одну вещь: под Windows, когда я распаковываю zip-файл, в папке UniFi/bin появляется файл mongod, в котором при открытии через блокнот точно есть такой текст /usr/bin/mongod. А вот в системе Centos этот файл не появляется.  
Загружено с ImageShack.us http://img696.imageshack.us/img696/2073/imagemrrg.jpg
 
Это место, откуда я скачал приложение: www.ubnt.com/downloads/unifi/2.2.5/UniFi.unix.zip
 
Привет, plaurent, спасибо за ответ. Похоже, что в скачанном мной .zip файле нет файла или папки /UniFi/bin/mongod. Когда проверяю директорию, там вообще ничего нет... Это чистая установка CentOS, и mongod уже запущен, не знаю, может, я что-то упустил. Ссылка, с которой я скачивал zip-пакет, именно эта. Спасибо за ваше время обоим.
Страницы: 1 2 След.
Читают тему (гостей: 1)