Vamos a continuar con la configuración de Openfire para la red LAN de nuestra empresa, algunos plugins que instalar algununas configuraciones que hacer despues de haber terminado la instalacion basica de este servicio en nuestra empresa (podemos ver como hacerlo en el articulo anterior).
Comenzamos accediendo a la «Consola de Administración«, en nuestro navegador de preferencia usamos http://IPdelServidor:9090
Usando uno de los usuarios definidos como administrador en la instalación del servicio accedemos a la consola para comenzar con las configuraciones básicas.
Una vez en la consola de administración en administración del servidor podemos ver las propiedades del servidor el uso de la memoria de java, los puertos utilizados, ademas podemos revisar las configuración de idioma y tiempo, base de datos entre otras, pueden familiarizarse con ellas cuando quieran.
Verificando servicio de búsqueda
Lo primero que vamos a hacer es comprobar la configuración del servicio de búsqueda del servidor el cual le permitirá a los usuarios buscar a otros usuarios en el servidor para agregarlos a sus contactos en mi configuración lo tengo de la siguiente forma para que puedan buscar por todas las opciones. Para eso vamos a «Servidor| Configuración del Servidor| Search Service Properties» (no se porque no han hecho la traducción de eso todavía), como se muestra en la próxima imagen.
El servicio viene habilitado por defecto pero solo permite buscar por usuario, habilitamos todas las campos de búsqueda posible y para todos los usuarios. Una vez modificada la configuración debemos reiniciar el plugin de búsqueda para que los cambios tengan efecto. Vamos a «Plugins» y reiniciamos el plugin de búsqueda como se muestra en la figura a continuación:
Administración de actualizaciones
Algo que hago mas adelante pero que en este manual voy a agregar como segundo paso es configurar la administración de actualizaciones para que nuestro servidor verifique automáticamente por actualizaciones del servidor o plugins. Para eso vamos a «Servidor| Configuración del Servidor| Administrar Actualizaciones»
Aquí agrego la configuraron del proxy (quien tenga conexión directa no es necesario configurar nada)
Configuración de Compresión
Hay varias opciones que podemos verificar o activa para una mejora del rendimiento de nuestro servicio una de ellas es la compresión del trafico que genere la conexión al servidor. Para eso vamos a «Servidor| Configuración del Servidor| Configuración de Compresión»
Habilitamos o ponemos disponible la política de compresión tanto para clientes como para servidores(estoy en una red en la que cada entidad tiene su propio servidor pero los usuarios se comunican perfectamente entre ellos así que la compresión de trafico para servidor también la habilito).
Configuración del Proxy de Transferencia de archivos
Openfire permite que los usuarios se envíen archivos, mis usuario pertenecen a una VPN y el trafico en la misma es mediante NAT para varios servicios por lo tanto elimino el uso del proxy para la transferencia de archivos, esta configuración también puede servirte para eliminar la transferencia de archivos por este servicio fuera de tu red. Para eso vamos a «Servidor| Configuración del Servidor| Configuración de Transferencia de Archivos»
Servicio de Monitoreo
Como todos sabemos los sysadmins debemos tener guardadas las trazas de todos los sistemas que usamos, Openfire tiene un plugin que se llama «Monitoring Service» que nos hace este trabajo, con la configuración de «Administración de Actualizaciones» que vimos en un paso anterior podemos instalar el plugin directamente desde internet. Para eso vamos a «Plugins| Plugins Disponibles» como muestra en la imagen, instalamos los plugins que creamos necesarios usando el signo de mas verde y blanco que tienes a la derecha:
Una vez que termine de instalar el plugin no olvide recargarlo, es decir en «Plugins| Plugins» vamos a la opción reiniciar o recargar plugin(es una buena practica que creo haber leido en el foro de openfire), este plugin genera algunas tablas en la BD donde se guardan las conversaciones.
Si tienes un conexión lenta y el plugin demora mucho en instalar puede ir a desargarlo e instalarlo manualmente e instalarlo en la opción cargar plugin que puede verse en la proxima imagen:
Una vez instalado y reiniciado el plugin vamos a configurarlo sino no nos guardara las conversaciones, ahora tenemos una nueva opción en «Servidor| Almacenamiento» en la que podremos: Buscar conversaciones almacenadas, configurar el almacenamiento de las conversaciones y conversaciones activas en el momento.
Pero primero lo primero vamos a configurar el almacenamiento de las conversaciones le muestro en la imagen a continuación como lo tengo configurado:
Cambias la configuración a tu gusto le das a «seteos de actualización» para que se actualicen tus cambios y reconstruyes los indices.
A partir de este momento puedes ver todas las conversaciones guardadas en «Buscar en Almacenamiento».
Configuración de Usuarios
Cuando usas directorio activo no es necesario que los usuarios se agreguen unos a otros, puedes hacer visibles todos los usuarios agrupados como creas necesario, para eso lo único que tienes que hacer es crear grupos para usuarios determinados y compartirlos para todos los usuarios del servidor o usar los grupos del directorio activo con el mismo objetivo es decir todos los usuarios de tu departamento de economía, todos los usuarios de la dirección de tu empresa.
Vamos a «Usuarios/Grupos | Grupos«, ahí aparecen todos los grupos que tengamos creados en nuestro AD, en la parte superior a la derecha hay una opción de búsqueda que nos permite filtrar como pueden ver en la imagen.
Una vez que tengamos identificado el grupo que vamos a compartir para todos nuestros usuarios lo seleccionamos(hacemos clic en el nombre) para poder editar la configuración de ese grupo:
Como pueden ver en la configuración del grupo debemos habilitar «Compartir lista de contactos«, una vez marcada esta opción aparece el campo para el nombre del grupo en la lista de contactos es decir el nombre del grupo que verán todos los usuarios, y marcan con quienes quieren que se comparta este grupo y por ultimo salvan los cambios para que se aplique la configuración. Debo aclarar que la imagen que les muestro es con el texto en ingles porque en la traducción al español hay un problema y dice «No compartir en lista de contactos» para habilitar la lista.
Optimización de Maquina virtual de java para Openfire
Los usuarios que quieran optimizar el consumo de RAM y otras opciones de la maquina virtual de java que usa Openfire aquí les voy a dar algunos tips.
Quien instala mediante un .deb como hicimos en el manual de instalación (link al final del articulo), deben editar el archivo /etc/default/openfire
en ese fichero agregar todas las opciones que quieran dentro de la variable DAEMON_OPTS voy a poner el ejemplo un consumo para mínimo 512mb de RAM y maximo 1025mb de RAM nos quedaría de la siguiente manera
DAEMON_OPTS="-Xms512m -Xmx1024m"
Una vez reiniciado el servicio de Openfire podemos verificar si están habilitadas las opciones que agregamos
systemctl status openfire.service ##tambien se pueden ver con ps -aux | grep openfire ps -ef | grep openfire
Entre las lineas que devuelve verán una que muestra los limites de consumo de RAM que establecimos.
CGroup: /system.slice/openfire.service └─20373 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Xms512m -Xmx1024m -server -DopenfireHome=/usr/share/openfire -Dopenfire.lib.dir=/usr/share/openfire/lib -classp
También podemos comprobarlo en la vista inicial de la Consola de administración de Openfire.
Existen otras variables interesantes que pudiéramos usar y se las muestro a continuación:
- Mínimo RAM: -Xms??m (?? valor de la RAM)
- Maximo RAM: -Xmx??m (?? valor de la RAM)
- Deshabilitar IPV6: -Djava.net.preferIPv4Stack=true
- UTF-8: -Dfile.encoding=UTF-8
NOTA: no instalen plugins indiscriminadamente en su servidor de producción muchos de ellos crean tablas adicionales en la BD que al eliminar el plugin no se eliminan, usen un servidor de prueba o lean bien las funciones del plugin.
Cualquier otro plugin que usen y sea interesante compartanlo en los comentarios si se hace popular lo incluyo al articulo… ¯\_(ツ)_/¯
Hasta la próxima..
Instalación y Configuración de Openfire en Ubuntu 18.04 LTS
Openfire: Configuraciones Básicas y plugins
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
Hola, me pasa algo con mi servidor openfire y es que hay sobre pasa los niveles de memoria java y hace volcado de memoria y deja de funcionar openfire.
Sabes alguna solución? Solo son aproximadamente 20 usuarios activos al dia, no es mucho y es raro que suceda ya que tengo otros servidores con openfire para otros clientes y no fallan.
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36
Buena tarde a Todos…
tengo instalado Openfire 4.4.1 en un equipo Windows 2008, tengo una base de 35 usuarios y anteriormente no habia tenido problema para que todos estuvieran conectados de hace 2 meses no logro que pasen mas de 25 usuarios activos, a veces estan conectados pero los vemos inactivos, actualice el Openfire, cambie de maquina, cambie de PSI a Spark, le amplie la RAM fisica como en archivo openfire-service.vmoptions y no logro que funcione adecuadamente como para que se mantenga mi pequeña base, alguien me podria orientar.
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
Hola buenas tardes. tengo un servidor en centos 7 y alli instalado Openfire para una pequeña red. Todo bien, excepto que deseo deshabilitar el almacenamiento de datos privados en el servidor. En configuración del servidor deshabilite dicha opción, pero los clientes que usan spark, siguen cambiando sus avatar, status, apodos, etc. y se siguen almacenando en el servidor, cosa que deseo evitar. Hay alguna forma de lograr que se sigan almacenando datos de los clientes en el servidor Openfire. Deseo que esta info solo permanezca en cada cliente. Muchas gracias por la valiosa ayuda
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36
Ya intentaste descargar el plugin de Client control?
con ese plugin desde la consola puedes habilitar o deshabilitar los que comentas.
saludos
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0
hola tengo este error en mi openfires me pueden ayudar
Excepción:
java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at org.jivesoftware.openfire.auth.DefaultAuthProvider.setPassword(DefaultAuthProvider.java:323)
at org.jivesoftware.openfire.auth.AuthFactory.setPassword(AuthFactory.java:183)
at org.jivesoftware.openfire.user.DefaultUserProvider.createUser(DefaultUserProvider.java:167)
at org.jivesoftware.openfire.user.UserManager.createUser(UserManager.java:217)
at org.jivesoftware.openfire.admin.user_002dcreate_jsp._jspService(user_002dcreate_jsp.java:219)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:73)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:226)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:216)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.base/java.lang.Thread.run(Thread.java:834)
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
Como puedo exportar e importar usuarios en openfire
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
Hay un plugin que te permite importar y exportar usuarios puede probarlo.
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36
Hola Rafael,
Felicitaciones por todos tus aportes.
Tengo una pregunta y para plantearla te pongo en contexto de mi instalación. Recién instale en Windows el OF más reciente que es el 4.3.2, la BD es externa en SQL Server y autentica con nuestro AD, el tema es que necesito configurar dos cosas básicamente: 1.- Que solo se puedan conectar usuarios que pertenezcan a un grupo de seguridad definido en el AD, y 2.- poder acotar la comunicación entre grupos definidos en el AD, es decir que los miembros del grupo A no se puedan comunicar con los del grupo B.
Espero haber sido explícito y quedo a la espera de tu ayuda agradeciéndola de antemano.
Saludos!!
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
entendí lo que quieres hacer pero no se si alguno de los plugins te permita hacer esas restricciones se que con openfire solamente no podrás lograrlo porque puedes configurar que los usuarios del grupo A solo vean a los del grupo A por defecto y los del B a los de su grupo pero si conocen cualquiera de los otros usuarios del server pueden agregarlo a sus contactos y escribirle.
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0
hola, tengo un dominio principal y varios subdominio
como puedo integrar los otros subdominios al chat?
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0
No necesitas permiso para responder a la pregunta de nadie, leete el quienes somos siempre que quieras aportar algo puedes hacerlo, de hecho si quieres que lo agregue al articulo puedes enviarmelo y sin dudas tendrás el crédito por ella.
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0
hermano como pudiera hacer para que en cuanto un usuario se de de alta vaya automaticamente para un grupo definido por mi.
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.120 Safari/537.36 Vivaldi/2.3.1440.57
Con el permiso de Rafael, es algo sencillo, pero para explicartelo debo hablar contigo o mandarte algunas capturas de pantallas con la explicación. Si no lo has solucionado llamame al 52361259
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0
Quisiera hacer una pregunta tengo un problema con mi openfire, en mi LAN funciona bien pero cuando tiene k conectarse a otros servidores ahi viene el problema, en los logs dice que no puede crear una sesion para ningun servidor remoto. Esta habilitada la coneccion S2S por el puerto 5269, ya no tengo ideas, los mas triste es que estaba funcionando bien hasta que llego un momento que empezo a poner esos errores, cualquier ayuda se agredece, saludos
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0
A que te refieres a cuando quiere conectarse con otros servidores, si estas en una VPN y quieres que se comunique con otros servidores de la red los servidores de openfire deben estar identificados en los registros de tus DNS padres que tu usas de forwarders. puedes explicar mas???
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36
Hola Rafael:
Me gustaría saber en el caso de actualizaciones detras de servidor porxy que requiere autenticación. ¿Como se le define?
Saludos
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0
te recomiendo que uses `usario:clave@proxy` en la parte del servidor, al final la cadena se le pasa como parametro a la jre que usa openfire y esos son los datos que necesita java para la conexion mediante proxy.
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36 OPR/31.0.1889.99 (Edition Campaign 34)
hola soy administrador de red de una pequeñ empresa y me gustaria saber porqe mi open fire no me funcioan par todos los usuarios es decir la lista de usuarios o departamentos no me sale automatica cuando un usuario comiensa sus seccion
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
Tienes que revisar bien los grupos que tienes compartidos fíjate en la información de este articulo.