Servidor de CHAT
Nesta documentação apresentaremos de forma simples e clara como disponibilizar um servidor de conferencia com Openfire.
Para esse projeto foi instalado o sistema operacional FreeBSD 8.2 e configurados o Diablo JDK, MYSQL e Openfire.
FREEBSD
O FreeBSD é um sistema operacional livre do tipo Unix descendente do BSD desenvolvido pela Universidade de Berkeley. Está disponível para as plataformas Intel x86, DEC Alpha, Sparc, PowerPC e PC98 assim como para as arquiteturas baseadas em processadores de 64bits IA-64 e AMD64. Considerado como robusto e estável, geralmente é utilizado em servidores, mas também pode ser utilizado como estação de trabalho.
www.freebsd.org/
MySQL
O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. O MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan Larsson e Michael "Monty" Widenius.
www.mysql.com/
DIABLO JDK
A Fundação FreeBSD tem uma licença com a Sun Microsystems para distribuir binários FreeBSD para o Java Runtime Environment (JRE) e o Java Development Kit (JDK). Essas implementações foram viabilizados através do trabalho duro da equipe Java FreeBSD, bem como através de doações para a Fundação FreeBSD que apoiaram hardware, custos de desenvolvimento, e honorários legais.
O JRE oficiais e os binários do JDK baseada em fontes mais recentes da Sun parceiro fornecer aos usuários finais e desenvolvedores com a confiança de que eles podem usar e criar aplicações Java no FreeBSD com o mesmo grau de portabilidade, robustez e estabilidade que têm vindo a esperar do outro suporte sistemas operacionais. Estes binários foram totalmente testadas em teste de compatibilidade da Sun suite.
Por favor, considere uma doação para a Fundação FreeBSD para apoiar a continuação do desenvolvimento Java. Suas doações ajudarão a atualizações de manutenção do fundo, as futuras versões do Java, e atualizações para novas versões do FreeBSD.
www.freebsdfoundation.org/downloads/java.shtml
OPENFIRE
Openfire é um servidor que utiliza o protocolo Jabber para oferecer serviços de mensagens instantâneas aos usuários. O software é gratuito e, além da simples troca de mensagens de texto, permite conversas por voz, conferências, envio de arquivos e até a troca de screenshots (imagens da área de trabalho) — tirados em tempo real — entre os participantes das sessões.
www.igniterealtime.org/projects/openfire/index.jsp
1- Instalando o Diablo JDK
Para instalar o Diablo JDK é necessário baixar determinados arquivos manualmente, devido a restrições de licenciamento. Realize o download dos arquivos a seguir:
http://www.java.net/download/jdk6/6u3/promoted/b05/jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar http://www.java.net/download/jdk6/6u3/promoted/b05/jdk-6u3-fcs-bin-b05-jrl-24_sep_2007.jar http://www.java.net/download/jdk6/6u3/promoted/b05/jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007.jar http://www.FreeBSDFoundation.org/cgi-bin/download?download=diablo-caffe-freebsd7-amd64-1.6.0_07-b02.tar.bz2
Depois acesse o site “http://java.sun.com/javase/downloads/index.jsp” e baixe:
JDK DST Timezone Update Tool - 1.3.35
Depois acesse o site “http://www.eyesbeyond.com/freebsddom/java/jdk16.html” e baixe:
bsd-jdk16-patches-4.tar.bz2
Salve todos os arquivos baixados no “/usr/ports/distfiles”
Agora acesse o diretório:
# cd /usr/ports/java/jdk16
Configure as opções de compilação do Diablo JDK 1.6 com o comando:
# make config
Marque as opções apropriadas para sua necessidade no jdk 1.6.0.3p4_22:
[ ] DEBUG Enable debugging support [ ] IPV6 Enable IPv6 support [X] WEB Enable the browser plugin and Java Web Start [ ] POLICY Install the Unlimited Strength Policy Files [X] TZUPDATE Update the time zone data [ ] JAIL Port is being built within a jail
Execute o comando de compilação e instalação do Diablo JDK:
# make install clean
Marque as opções apropriadas para sua necessidade no libiconv 1.13.1_1:
[X] EXTRA_ENCODINGS Include extra character sets [ ] EXTRA_PATCHES Apply patches to fix CP932, add EUCJP-MS
Marque as opções apropriadas para sua necessidade no libxslt 1.1.26_2:
[ ] MEM_DEBUG Enable memory debugging [X] CRYPTO Enable crypto support for exslt
Marque as opções apropriadas para sua necessidade no python27 2.7.1_1:
[X] THREADS Enable thread support [ ] HUGE_STACK_SIZE Use a larger thread stack [ ] SEM Use POSIX semaphores (experimental) [ ] PTH Use GNU Pth for threading/multiprocessing [X] UCS4 Use UCS4 for unicode support [X] PYMALLOC Use python's internal malloc [ ] IPV6 Enable IPv6 support [ ] FPECTL Enable floating point exception handling
Marque as opções apropriadas para sua necessidade no perl 5.10.1_3:
[ ] DEBUGGING Build with debugging support [ ] GDBM Build GDBM_File extension [X] PERL_MALLOC Use Perl malloc [X] PERL_64BITINT Use 64 bit integers (on i386) [ ] THREADS Build threaded perl [ ] MULTIPLICITY Use multiplicity [ ] SUIDPERL Build set-user-id suidperl binary [ ] SITECUSTOMIZE Run-time customization of @INC [X] USE_PERL Rewrite links in /usr/bin
Marque as opções apropriadas para sua necessidade no m4 1.4.16,1:
[ ] LIBSIGSEGV Use libsigsegv for better diagnostics
Marque as opções apropriadas para sua necessidade no cups-client 1.4.6:
[X] GNUTLS Build with GNUTLS library
Marque as opções apropriadas para sua necessidade no diablo-jdk 1.6.0.07.02_13:
[ ] POLICY Install the Unlimited Strength Policy Files [X] TZUPDATE Update the time zone data
Marque as opções apropriadas para sua necessidade no glib 2.26.1_1:
[ ] COLLATION_FIX fix string collation
Marque as opções apropriadas para sua necessidade no gamin 0.1.10_4:
[ ] GAM_POLLER Use gamin's poller instead of kqueue's
2- Instalando o MySQL
Para instalar o MySQL acesse o diretório:
# cd /usr/ports/databases/mysql55-server/
Configure as opções de compilação do MySQL 5.5 com o comando:
# make config
Marque as opções apropriadas para sua necessidade no mysql-server 5.5.11:
[X] OPENSSL Enable SSL support [ ] FASTMTX Replace mutexes with spinlocks
Execute o comando de compilação e instalação do MySQL 5.5:
# make install clean
Marque as opções apropriadas para sua necessidade no mysql-client 5.5.11:
[X] OPENSSL Enable SSL support [ ] FASTMTX Replace mutexes with spinlocks
Depois de instado o MySQL, vamos habilitar para o que ele inicialize quando o FreeBSD for reiniciado. Editar o arquivo “rc.conf”:
# ee /etc/rc.conf
Adicionando ao final do arquivo as linhas abaixo, depois salve o arquivo e saia:
#MySQL mysql_enable="YES"
Agora vamos iniciar o MySQL com o seguinte comando:
# /usr/local/etc/rc.d/mysql-server start # rehash
Agora vamos realizar as alterações necessárias no MySQL. Primeiro alterar senha de root:
# mysqladmin -uroot password “senha” (sem aspas)
Agora reiniciar o MySQL:
# /usr/local/etc/rc.d/mysql-server restart
3- Instalando o Openfire
Para instalar o Openfire acesse o diretório:
# cd /usr/ports/net-im/openfire
Execute o comando de compilação e instalação do Openfire:
# make install clean
Depois de realizado a instalação, vamos habilitar para o Openfire inicializar quando o FreeBSD for reiniciado. Editar o arquivo “rc.conf”.
# ee /etc/rc.conf
Adicionando ao final do arquivo as linhas abaixo, depois salve o arquivo e saia.
# Openfire openfire_enable="YES"
Antes de iniciar o Openfire vamos aumentar a memória Java alocada para o mesmo. Acesse o arquivo /usr/local/etc/rc.d/openfire:
# ee /usr/local/etc/rc.d/openfire
Localize a seguinte linha:
: ${openfire_javargs:='-Xmx256M'}
Altere para:
: ${openfire_javargs:='-Xms256M -Xmx1024M'}
Explicando:
-Xms256M: Mínimo de memória alocada; -Xmx1024M: Máximo de memória alocada.
Agora vamos iniciar o Openfire com o seguinte comando:
# /usr/local/etc/rc.d/openfire start # rehash
Vamos agora testar o Openfire. Use um browser para conectar a:
# http://"ip_do_servidor":9090
Se tudo estiver certo será exibido à página “Welcome to Setup”.
4- Configurando o MySQL
Agora iremos acessar o MySQL e criar a base de dados para o Openfire:
# mysql -u root -p
mysql> CREATE DATABASE openfire; mysql> GRANT ALL PRIVILEGES ON openfire.* TO openfire@localhost IDENTIFIED BY “senha”; (Digite a Senha entre as aspas”) mysql> QUIT
Explicando: (1)
Na primeira linha estamos criando um banco de dados com o nome "openfire", que será utilizado pelo servidor Openfire. Na segunda linha estamos dando para o usuário "openfire" todos os privilégios neste banco de dados e estamos definindo para ele uma senha denominada "senha". Na terceira linha estamos saindo do banco de dados.
Importe o arquivo do esquema a partir do diretório /resources/database/ na pasta que o Openfire está intalado:
# cat /usr/local/share/java/openfire/resources/database/openfire_mysql.sql | mysql -u root -p openfire
A base de dados já está criada e configurada para utiliza-la na configuração do Openfire.
5- Configurando o Openfire
Agora iremos acessar, via browser, a console de Administração do Openfire para configurar nosso servidor
# http://"ip_do_servidor":9090
1) Selecione o idioma de sua escolha:
2) Configure o domínio. Se você optar por um endereço IP, digite o IP do seu servidor. Se você optar por criar um alias de DNS, digite o domínio do servidor DNS: (2)
3) Você tem duas escolhas sobre qual banco de dados a ser usado para Openfire para armazenar seus dados: um banco de dados externos, como MySQL, MSSQL, PostgreSQL, etc, ou usar o pacote do banco de dados incorporado (Embedded Database). Se você optou por configurar um banco de dados MySQL, como fizemos neste guia, selecione a opção Standard Database Connection. Se não, a única opção é usar o banco de dados incorporado. (2)
4) Para configurar sua conexão com banco de dados, selecionar o driver apropriado da lista de Database Presets Driver (em nosso caso selecione MySQL). A página será atualizada e você precisa preencher as informações necessárias (o host do banco de dados, nome, nome de usuário e senha). Você deve ter essa informação de quando você configurar o seu banco de dados MySQL. Por este guia, o MySQL é no mesmo servidor como a minha instalação Openfire (localhost) e criei um banco de dados chamado “openfire” com um nome de usuário “openfire” e defini uma senha. (2)
5) A etapa perfil tem a ver com os usuários e grupos de bate-papo membros e onde Openfire irá armazenar as informações (novos usuários, grupos de usuários, etc). Nós não vamos optar por LDAP para armazenar essas informações. É muito mais conveniente para salvá-lo em nosso em nosso banco de dados. Selecione a opção “Default” para o Profile: (2)
6) Digite o endereço de e-mail do administrador e defina uma senha para seu servidor Openfire.
7) A configuração esta completa! Clique em “Login to admin console”:
8) Agora iremos acessar, via browser, a console de Administração do Openfire
6- Referências
(1) http://www.vivaolinux.com.br/artigo/Servidor-Jabber-com-Openfire-+-MySQL-+-Debian-Lenny?pagina=2
(2) http://www.tonybhimani.com/2007/12/31/openfire-jabberxmpp-server-on-centos-mini-howto/
www.fug.com.br
www.bsdux.com.br
http://www.remontti.com.br/blog/archives/648
http://dev.mysql.com/doc/refman/5.5/en/freebsd.html
http://www.fug.com.br/content/view/360/77/
http://openfirebrasil.blogspot.com/
http://community.igniterealtime.org/thread/28484
http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/database.html
http://mistura.wordpress.com/2008/06/25/instalando-o-openfire-no-debian-etch/
http://www.sistemabasico.com.br/2010/12/28/tutorial-integrando-o-servidor-de-mensagens-instantaneas-openfire-com-mysql-no-windows-7/
http://www.rafaelmatias.com.br/2011/03/20/instalando-openfire-jabber-com-mysql-no-ubuntu-e-autenticando-no-ad/
http://ubuntuforums.org/showthread.php?t=525670
http://community.igniterealtime.org/thread/28325
http://community.igniterealtime.org/docs/DOC-1633
http://community.igniterealtime.org/blogs/ignite/2008/07/26/flash-based-audio-and-video-in-spark-sparkweb-and-openfire
http://www.igniterealtime.org/projects/openfire/plugins-beta/red5/readme.html
http://www.igniterealtime.org/projects/openfire/plugins-beta/red5/changelog.html
0 comentários:
Postar um comentário