anúncios

domingo, 22 de setembro de 2013

Comando lsof

Estava desenvolvendo uma aplicação Sockets (cliente/servidor) utilizando protocolo UDP, porém ao executar novamente a aplicação o servidor acusava que a porta já estava em uso.
Bom o que fiz? Utilizei o comando lsof, muito útil em ambiente Unix e Linux para verificar qual porta esta ouvindo. 
Como a aplicação socket que estava desenvolvendo utilizava porta 40002, então:
No terminal digitei: $ lsof -i UDP:40002
retornou como resposta
COMMAND   PID      USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    20091 reginaldo    4u  IPv6  21902      0t0  UDP *:40002 

O PID do processo do resultado acima  é 20091.
Assim, finalizei esse processo com $ kill -9 20091

Para verificar se o processo foi finalizado.
$ lsof -i UDP:40002
[1]+  Morto                   java ServidorUDP

Maiores informações sobre o comando lsof
man lsof
Fica como dica.

Feito!


quarta-feira, 21 de agosto de 2013

2 anos de blog

O blog esta completando hoje, dia 21 de Agosto de 2013, 2 anos!!!



Gostaria de agradecer a todos pelo prestígio e a paciência de ler os posts que são publicados. Espero continuar compartilhando conhecimentos no blog para nossos leitores. Continuem prestigiando e divulgando o blog Mundo da Computação Integral, assim aumentamos nossa comunidade.

quinta-feira, 14 de março de 2013

Aumentando memória JVM no Tomcat

Esse post é apenas uma dica de como aumentar memória JVM no Tomcat, pois dependendo da aplicação Java web, quando faz o deploy da aplicação e ao reiniciar o Tomcat pode não iniciar, então analisei o log (#tail -f $TOMCAT_HOME/logs/catalina.out) e notei que era problema de memória JVM do Tomcat.
Considerando um servidor de 2GB, fiz a configuração conforme descrita abaixo:
Adicionando $TOMCAT_HOME no path do sistema Linux
#vim /etc/profile
TOMCAT_HOME="/opt/tomcat"
PATH="$TOMCAT_HOME:$PATH
Atualizando variável ambiente
#source /etc/profile
edite o arquivo catalina.sh
#vim $TOMCAT_HOME/bin/catalina.sh

JAVA_OPTS="-Xms=1g -Xmx=1g -XX:PermSize=512m -XX:MaxPermSize=512m -server"
:x (salva e sai do editor vim)
PS: No sistema Windows se aplica o mesmo, a única diferença é na configuração da variável de ambiente e extensão do arquivo catalina.sh para catalina.bat. Feito!

domingo, 10 de março de 2013

Configurando servidor Tomcat no Linux


Introdução

O Tomcat é um servidor Java, mais especificamente um container de servlets. Desenvolvido pela Apache Software Foundation, é distribuído como software livre dentro do conceituado projeto Apache Jakarta, sendo oficialmente endossada pela Oracle como a implementação de referência para as tecnologias Java Servlet e JavaServer Pages (JSP). Cobre parte da especificação J2EE como tecnologias como servlet e JSP, e tecnologias de apoio relacionadas como Realms e segurança, JNDI Resources e JDBC DataSources.


Preparação do Ambiente Java
Antes de instalar o Tomcat é necessário ter instalado e configurado o JAVA_HOME no path do sistema. Se caso ainda não tiver configurado acesse e segue os passos corretamente instalação e configuração do JAVA_HOME no path

Instalação e configuração do Tomcat

Acesse o site do Tomcat no endereço http://tomcat.apache.org/index.html
Ou se preferir fazer o download no terminal via wget.

wget -c "http://apache.mirror.pop-sc.rnp.br/apache/tomcat/tomcat-7/v7.0.37/bin/apache-tomcat-7.0.37.zip"

Após feito o download do Tomcat, vamos copiar para o diretório /opt, extrair, setar permissão de execução nos scripts catalina.sh e startup.sh, por fim startamos o tomcat, posteriormente testamos no navegador.

#cp apache-tomcat-7.0.37.zip /opt
#cd /opt
#unzip apache-tomcat-7.0.37.zip
#ln -s apache-tomcat-7.0.37 tomcat
#cd tomcat/bin
#chmod +x catalina.sh
#chmod +x startup.sh
#chmod +x shutdown.sh
#./startup.sh

Agora no navegador digite: http://localhost:8080

Estrutura de diretórios do Tomcat

tomcat
bin - executáveis e scripts do Tomcat
conf - arquivos de configuração do Tomcat
logs - arquivos de logs das aplicações, inclusive do Tomcat
temp - diretório temporário do Tomcat
webapps - diretório com os contextos (similar ao /var/www do Apache)
work - arquivos de servlets gerados pelo Tomcat a partir de JSPs
lib - bibliotecas comuns a todas as aplicações e ao Tomcat

Script Tomcat para inicializar junto com o sistema
rc.tomcat.sh
PS: Não é recomendado copiar e colar esse script direto no terminal com editor vi/vim, pois pode copiar caracteres desconhecidos acarretando erros desse tipo. Portanto antes de prosseguir com o passo seguinte, teste da seguinte forma: bash rc.tomcat.sh e source rc.tomcat.sh, estando ok, segue com os passos seguintes, caso contrário deve revisar e analisar o erro e tentar novamente.
Agora para o script seja inicializado junto com o sistema, devemos fazer o que procede abaixo:
No Debian:
#mv rc.tomcat.sh /etc/init.d
#chmod +x /etc/init.d/rc.tomcat.sh
#update-rc.d rc.tomcat.sh defaults 99


No Slackware:
#mv rc.tomcat.sh /etc/rc.d
#chmod +x /etc/rc.d/rc.tomcat.sh


Feito!

domingo, 14 de outubro de 2012

Configurando endereço de rede no Linux

Esse post mostra como configurar endereço de rede nas distribuições Linux raízes: Slackware, Debian e CentOS/RHEL. Segue o exemplo de configuração abaixo de acordo com sua distro ou derivada da mesma conforme seu IP, máscara, gateway, hostname e DNS.

Slackware

Endereço IP
#vim /etc/rc.d/inet1.conf
IPADDR[0]="192.168.1.200"
NETMASK[0]="255.255.255.0"
USE_DHCP[0]="no"
GATEWAY="192.168.1.1"
Definindo o Hostname
#vim /etc/HOSTNAME
Saitam
Reiniciar a interface:
#/etc/rc.d/rc.inet1 restart

Debian

Endereço IP
#vim /etc/network/interfaces
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.200
netmask 255.255.255.0
gateway 192.168.1.1
Definindo o Hostname
#vim /etc/hostname
Saitam
Reiniciar a interface
#/etc/init.d/networking restart
#/etc/init.d/hostname.sh restart

CentOS/RHEL

Endereço IP
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.200
NETMASK=255.255.255.0
ONBOOT=yes
Hostname e Gateway
#vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=Saitam
GATEWAY=192.168.1.1
Reiniciar a interface
#/etc/init.d/network restart
Para finaliza falta definir o DNS primário e secundário para fazer a tradução de nomes de domínio para endereço IP. Nesse tutorial será o utilizado o DNS do Google, mas pode colocar qualquer outro DNS de sua preferência.
#vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
Para facilitar segue o script em shell: network-address.sh
Feito!

quarta-feira, 10 de outubro de 2012

Configurando IP fixo no Windows via CMD

Esse post mostra como configurar endereço IP fixo no Windows pelo CMD (terminal do Windows). Eu prefiro configurar o IP no Windows dessa forma, pois é mais prático e rápido.
Vamos lá então:
Iniciar>Executar>cmd
Meu caso de exemplo segue os passos abaixo e adaptando para seu endereço IP de sua rede local.
C:> netsh int ip set address name="Conexão Local" source=static 192.168.1.200 255.255.255.0 192.168.1.1 1
C:> netsh int ip set dns "Conexão Local" static 8.8.8.8
C:> netsh int ip set dns "Conexão Local" static 8.8.4.4 index=2
Onde:
IP: 192.168.1.200
Máscará: 255.255.255.0
Gateway: 192.168.1.1
DNS primário: 8.8.8.8
DNS secundário: 8.8.4.4
PS: Não esquecer do número 1 no final para indicar o gateway, isso marca o flag no Windows.
Atualizando
C:> ipconfig /release
C:> ipconfig /renew
Para facilitar, segue o script em batch
network-address.bat
set /P ip= "Endereço IP: "
set /P mask= "Máscara: "
set /P gw= "Gateway: "
set /P dns1= "DNS 1: "
set /P dns2=" DNS 2: "
netsh int ip set address name="Conexão Local" source=static %ip% %mask% %gw% 1
netsh int ip set dns "Conexão Local" static %dns1%
netsh int ip set dns "Conexão Local" static %dns2% index=2
echo "IP: " %ip%
echo "Mask: " %mask%
echo "Gw: " %gw%
echo "DNS1: " %dns1%
echo "DNS2: " %dns2%
network-address.bat
Feito!

domingo, 7 de outubro de 2012

Jasypt criptografia em Java

Jasypt é uma biblioteca Java que permite ao desenvolvedor adicionar recursos de criptografia básicas em seus projetos com o mínimo esforço, e sem a necessidade de ter um conhecimento profundo de como funciona a criptografia.
Como utilizar ?
Irei explicar de duas formas de utilização da biblioteca Jasypt, uma é modo manual sem uso de IDE Netbeans, e a outra usando a IDE Netbeans.
Primeiramente é necessário fazer o download do Jasypt em: http://sourceforge.net/projects/jasypt/files/jasypt/
Até data deste tutorial a versão atual é: jasypt-1.9.0, então utilizarei essa versão nos passos seguintes.
Utilizando sem uso de IDE Netbeans
1. Extraia o jasypt-1.9.0-dist.zip
2. Em seguida acesse o diretório que extraiu jasypt-1.9.0/lib
3. Copie o jasypt-1.9.0.jar para o diretório de sua preferência onde irá salvar o código de exemplo (ExemploCriptografia.java)
4. Extraia o jasypt-1.9.0.jar
5. Irá gerar o diretório org/jasypt/outros diretórios dentro que compõe essa biblioteca
6. Copie o código abaixo para o diretório de sua preferência.
Sugestão: criar um diretório cripto e dentro desse diretório deve conter org/jasypt.
Se baseia com o meu exemplo.
[reginaldo@Saitam:~/cripto] $ls
ExemploCriptografia.class ExemploCriptografia.java~ jasypt-1.9.0-dist.zip
ExemploCriptografia.java jasypt-1.9.0 org
ExemploCriptografia.java
*Usando biblioteca jasypt de criptografia/descriptografia em Java
*http://www.jasypt.org/*/
import org.jasypt.util.text.BasicTextEncryptor;
public class ExemploCriptografia {
public static void main(String[] args) {
String seuTexto = "Viva o Linux";
System.out.println("Texto sem criptografia: " + seuTexto);
//instanciamos a classe BasicTextEncryptor
BasicTextEncryptor bte = new BasicTextEncryptor();
//inserimos uma senha qualquer
bte.setPassword("A senha que voce quizer");
//criamos uma String que recebe a senha criptografada
String seuTextoCriptografado = bte.encrypt(seuTexto);
System.out.println("Seu texto criptografado = " + seuTextoCriptografado);
//criamos uma String que recebe a senha descriptografada
String seuTextoNovamenteDescriptografado = bte.decrypt(seuTextoCriptografado);
System.out.println("Texto descriptografado = " + seuTextoNovamenteDescriptografado);
}
}
ExemploCriptografia.java
7. Compile e execute
[reginaldo@Saitam:~/cripto] $javac ExemploCriptografia.java
[reginaldo@Saitam:~/cripto] $java ExemploCriptografia
Texto sem criptografia: Viva o Linux
Seu texto criptografado = 9eVWc8WZZDzT4Z61cp0ep8qnXtNpBY0R
Texto descriptografado = Viva o Linux
Agora utilizando o jasypt com IDE Netbeans
1. Crie o projeto com nome sugestivo criptografia
2. Copie o código acima adicionando apenas o package com o nome que definiu na criação do projeto.
3. Dentro do projeto clicar com botão direito do mouse em Add JAR/pasta e localize a biblioteca jasypt-1.9.0.jar para adicionar no projeto.
4. Compile o projeto (Shift+F6).

Para conhecer mais sobre a biblioteca Jasypt acesse em: Jasypt
Feito!