Unifi

De SME Server Wiki
Révision de 3 novembre 2017 à 05:17 par WikiSysop (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Comment installer et configurer un AP Unify sur un reseau SME et des clients Fedora .


telecharger le logiciel pour ubuntu et debian : https://www.ubnt.com/download/unifi/default/default/unifi-5524-controller-debianubuntu-linux


installer alien et rpmrebuild

dnf install alien rpmrebuild -y


convertir

alien --to-rpm --script unifi_sysvinit_all.deb  --keep-version --target=x86_6

probleme

# rpm -ivh unifi-5.5.24-9806.x86_64.rpm 
Préparation...                       ################################# [100%]

le fichier / de l'installation de unifi-5.5.24-9806.x86_64 entre en conflit avec le fichier du paquet filesystem-3.2-40.fc26.x86_64 le fichier /lib de l'installation de unifi-5.5.24-9806.x86_64 entre en conflit avec le fichier du paquet filesystem-3.2-40.fc26.x86_64 le fichier /usr/lib de l'installation de unifi-5.5.24-9806.x86_64 entre en conflit avec le fichier du paquet filesystem-3.2-40.fc26.x86_64 le fichier /etc/init.d de l'installation de unifi-5.5.24-9806.x86_64 entre en conflit avec le fichier du paquet chkconfig-1.10-1.fc26.x86_64

resolution

rpmrebuild -pe unifi-5.5.24-9806.x86_64.rpm

enlever les lignes suivantes

%dir %attr(0755, root, root) "/"
%dir %attr(0755, root, root) "/etc"
%dir %attr(0755, root, root) "/etc/init.d"

%dir %attr(0755, root, root) "/lib"

%dir %attr(0755, root, root) "/usr"
%dir %attr(0755, root, root) "/usr/lib"

l'éditeur est vi. utiliser "dd" pour effacer les lignes, ":u" et entré pour annuler, ":wq" et entré pour sortir

cela va reconstruire le rpm dans un autre repertoire

# rpm -ivh /root/rpmbuild/RPMS/x86_64/unifi-5.5.24-9806.x86_64.rpm
Préparation...                       ################################# [100%]
/var/tmp/rpm-tmp.daNx1h: ligne 3: /usr/share/debconf/confmodule: No such file or directory
erreur : %prein(unifi-5.5.24-9806.x86_64) scriptlet échoué, état de sortie 1
erreur : unifi-5.5.24-9806.x86_64: installer échoué

verifions les scriptlet :

cp /root/rpmbuild/RPMS/x86_64/unifi-5.5.24-9806.x86_64.rpm .
rpmrebuild -pe unifi-5.5.24-9806.x86_64.rpm


%pre -p /bin/sh

  1. !/bin/sh -e
  1. . /usr/share/debconf/confmodule #commenter cette ligne


# rpm -ivh /root/rpmbuild/RPMS/x86_64/unifi-5.5.24-9806.x86_64.rpm
Préparation...                       ################################# [100%]
Mise à jour / installation...
  1:unifi-5.5.24-9806                ################################# [100%]
/etc/init.d/unifi: ligne 94: /lib/lsb/init-functions: No such file or directory
/etc/init.d/unifi: ligne 148 : [: trop d'arguments
/etc/init.d/unifi: ligne 178: /lib/lsb/init-functions: No such file or directory
/etc/init.d/unifi: ligne 192: log_daemon_msg : commande introuvable
/etc/init.d/unifi: ligne 194: -home : commande introuvable
/etc/init.d/unifi: ligne 197: log_end_msg : commande introuvable

few dependencies you will need ( on top of java)

dnf install redhat-lsb mongodb mongodb-server apache-commons-daemon-jsvc -y

edition du fichier /usr/lib/unifi/bin/unifi.init ajouter avant la fonction set_java_home () (adapter en fonction de votre java)

JAVA_HOME="/usr/lib/jvm/jre-1.8.0-openjdk"

aussi changer le path de

-cp /usr/share/java/commons-daemon.jar:${BASEDIR}/lib/ace.jar \
-cp /usr/lib/java/commons-daemon.jar:${BASEDIR}/lib/ace.jar \

et si vous etes motivé les occurences de log qui font les warning

lancer le service

systemctl enabled unifi.service
systemctl start unifi.service
systemctl status unifi.service
nov 02 21:27:09 shuttle.pialasse.com systemd[1]: Starting unifi...
nov 02 21:27:09 shuttle.pialasse.com unifi[30092]: 2017-11-02 21:27:09 30093 unifi error: Cannot find daemon loader org/apache/commons/daemon/support/DaemonLoader
nov 02 21:27:10 shuttle.pialasse.com unifi.init[30084]: /usr/lib/unifi/bin/unifi.init: ligne 197: log_end_msg : commande introuvable
nov 02 21:27:10 shuttle.pialasse.com systemd[1]: Started unifi.

/usr/lib/unifi/bin/mongod est manquant il faut faire un lien vers /usr/bin/mongod

cd /usr/lib/unifi/bin/
ln -s /usr/bin/mongod

il faut faire attention que tomcat-native est pas installé. on peut avoir tomcat, tomcat-el-3.0-api tomcat-servlet tomcat-jsp et tomcat-lib


Sources

  1. https://community.ubnt.com/t5/airControl-v2-Beta/Install-AC2-for-Debian-to-CentOS-Linux-Distro/td-p/373570
  2. https://www.tecmint.com/convert-from-rpm-to-deb-and-deb-to-rpm-package-using-alien/
  3. https://community.ubnt.com/t5/UniFi-Wireless/Unifi-fails-to-set-due-to-not-being-able-to-find-JAVA-HOME/td-p/1550214


notes

Depends: binutils, coreutils, jsvc, mongodb-server (>=2.4.10) | mongodb-10gen (>=2.4.14) | mongodb-org-server (>=2.6.0), openjdk-7-jre-headless | java8-runtime-headless


log_success_msg () {

       /etc/redhat-lsb/lsb_log_message success "$@"

}

log_failure_msg () {

       /etc/redhat-lsb/lsb_log_message failure "$@"

}

log_warning_msg () {

       /etc/redhat-lsb/lsb_log_message warning "$@"

}

/bin/jsvc -home /usr/lib/jvm/jre-1.8.0-openjdk -cp /usr/share/java/commons-daemon.jar:/usr/lib/unifi/lib/ace.jar -pidfile /var/run/unifi/unifi.pid -procname unifi -outfile SYSLOG -errfile SYSLOG -Dunifi.datadir=/var/lib/unifi -Dunifi.logdir=/var/log/unifi -Dunifi.rundir=/var/run/unifi -Xmx1024M -Djava.awt.headless=true -Dfile.encoding=UTF-8 com.ubnt.ace.Launcher start