quinta-feira, 25 de setembro de 2008

Glassfish não inicia com o servidor!

Tava o Tiago esses dias, em suas customizações rotineiras dos servidores asterisk, que abordarei aqui qualquer dia, e chega o chefe com um email "de cima" pedindo um servidor com apache, mysql, phpmyadmin, netbeans e o tal do glassfish, basicamente.

Então tá, deram-me a máquina, "espetei" na rede, fiz a instalação pela rede. Ah é, para quem interessar, temos repositórios debian e ubuntu em nossos servidores:

http://debs.cefetrs.tche.br/

Instalei o ubuntu 8.04...(ah...o requisitante queria ambiente gráfico), fui pro terminal e...

apt-get install xorg ubuntu-desktop apache2 mysql-server libmysqlclient15-dev phpmyadmin netbeans vim-full glassfishv2

Tudo bem, tudo instalado, fui testar...

...em outra máquina tentei acessar os serviços:

http://ipdoserver/

apache ok

http://ipdoserver/phpmyadmin

mysql, myadmin ok

loguei por ssh, ok

http://ipdoserver:4848/login.jsf

blz, glassfish ok

Até terminar isso tudo já era hora de ir embora...desliguei os pcs e fui.

No outro dia, pela manhã, liguei o servidor novo, e como bom nerd, fui testar td dnovo, para minha surpresa o tal do glassfish não tinha levantado na inicialização, como não conhecia a ferramenta, não sabia nome de serviço...fui no init.d e não achei nd de diferente...estranho...ratiei um pouco e resolvi reiniciar, nd. Depois de fuçar sem resultados, removi o pacote e instalei dnov.

apt-get remove glassfishv2 --purge

apt-get install glassfishv2

Para minha felicidade, funcionou denovo, pensei comigo: "Agora é só reiniciar para confirmar e tá tudo blz, posso passar para as configurações de "segurança"

Reiniciei e nd dnovo, mas q merda.....

Removi e instalei o pacote denovo e voltou a funcionar, ia ser um absurdo reinstalar o pacote a kd reboot, fiz uma reunião com o oráculo(google) e descobri no ubuntu fórum gringo(USA) o comando para iniciar o trosso na mão.

/usr/share/glassfishv2/bin/asadmin start-domain

O problema é que fazendo isso ele me pedia usuário e senha, o que não ia adiantar nd para mim durante a inicialização do server. Certa hora, tentando mil coisas, digitei alguma coisa não padrão, para variar(rsrsrsrsr), e recebi o retorno do comando explicando sobre os parâmetros e descobri que podia definir o usuário e especificar um arquivo onde seria lida a senha, olha só:

/usr/share/glassfishv2/bin/asadmin start-domain --user admin --passwordfile /usr/share/glassfishv2/bin/password.txt

Criei um arquivo password.txt com a senha, coloquei a linha acima no rc.local antes do exit 0 e acreditei estar td bem.

Reiniciei o servidor, funcionou? Não, hauhauhauhauhauhauha.

Ainda mais de kra, voltei para o oráculo e buscando por asadmin password e mais alguma coisa encontrei uma página da sun (http://docs.sun.com/app/docs/doc/819-3671/gcode?a=view) que continha os parâmetros de configuração do utilitário e descobri que o conteúdo do arquivo não podia ser só a senha, dentro do arquivo de password a senha deve ser passada da seguinte forma:

AS_ADMIN_PASSWORD=password

Editei o arquivo, reiniciei o server e tudo bem, funcionou, mas é mto ruim instalar um pacote que era para iniciar sozinho que nem cria um script no init.d e não possui uma entrada de man.

2 comentários: