Lembro-me sem saudades do meu tempo de pimpolho newbie... Eu via falar do tal "Tom cat" e imaginava: "Que miseéria é um tom cat? Pra que serve? é de passar no cabelo?". É garotenhos e garotenhas... É verdade... Mas, o tempo passou, <exagero>
Então, vamos comer?
Nesse tuto vamos instalar o Apache Tomcat e configurar o SSL, para o uso do HTTPS. Nada tenso, podem ficar tranquilos.
Preparativos
No site do Tomcat (http://tomcat.apache.org/download-70.cgi) você poderá mudar qual a sua mirror. Ela é definida automaticamente. Se achar o download lento, experimente alterar.Com o mirror definido, escolha qual o pacote satisfaz a sua necessidade. Vamos usar aqui o tar.gz
wget http://mirror.pop-sc.rnp.br/apache/tomcat/tomcat-7/v7.0.12/bin/apache-tomcat-7.0.12.tar.gz
Com o pacote em mãos, vamos colocá-lo no /opt, já que é um software de terceiros. #LSBrlz!
sudo tar xvf apache-tomcat-7.0.12.tar.gz -C /opt/
sudo mv /opt/apache-tomcat-7.0.12 /opt/tomcat
A saber: O diretório /opt/tomcat/ agora também será conhecido como o CATALINA_HOME
Crie um usuário para o Tomcat e defina que o proprietário dos arquivos do /opt/tomcat será o usuário tomcat:
su -
useradd -r tomcat -s /sbin/nologin -d /opt/tomcat/ -c "Tony Katty, The Modafocker"
chown -R tomcat /opt/tomcat
exit
adduser -r -s /sbin/nologin? WTF???
Seguinte: Vejamos as opções do adduser:
-r : cria um usuário do sistema, seu UID fica entre SYS_UID_MIN(100) e o SYS_UID_MAX(499) se o UID não for especificado. A entrada em /etc/default/useradd também é ignorada;
-s: especifica qual será o shell padrão do usuário. No caso, o /sbin/nologin;
-d: Diretório home do usuário;
-c: Um comentário.
Now, instale as ferramentas necessárias para compilar o Tomcat:
zypper in binutils-gold gcc gcc45 glibc-devel libgomp45 linux-glibc-devel make
#FuckYea
E no site da Oracle, baixe o JDK(Java Development Kit). Nem dá pra colocar aqui um wget puxando o jdk pq tem de aceitar um contrato e talz... Aí mopai, complica! =\ Façam o download e mandem para seu servidor via scp que fica tudo lindo :)
http://www.oracle.com/technetwork/java/javase/downloads/
Baixou? Massa! Vamos instalar!
chmod +x jdk-6u25-linux-i586-rpm.bin
sudo ./jdk-6u25-linux-i586-rpm.bin
Agora, o diretório /usr/java/latest também será conhecido como o JAVA_HOME
Instalação
Mão na massa! Primeiramente, entre no diretório /opt/tomcat/bin/ e descompacte o pacote commons-daemon-native.tar.gz. Em seguida, entre no diretório descompactado e depois no diretório unix. Lá que vamos compilar o necessário.cd /opt/tomcat/bin
tar xvf commons-daemon-native.tar.gz
cd /opt/tomcat/bin/commons-daemon-1.0.5-native-src/unix
sudo ./configure --with-java=/usr/java/latest
sudo make
Percebam que foi gerado um arquivo, o binário jsvc. Mova-o para o $CATALINA_HOME/bin
sudo mv -v /opt/tomcat/bin/commons-daemon-1.0.5-native-src/unix/jsvc /opt/tomcat/bin/
Também vamos precisar do script de inicialização do Tomcat, que está dentro do diretório $CATALINA_HOME/bin/commons-daemon-1.0.5-native-src/unix/samples. Copie-o para o diretório /etc/init.d/. Eu também vou mudar o nome do arquivo para apenas "tomcat", pra facilitar na hora do uso :)
sudo cp -v /opt/tomcat/bin/commons-daemon-1.0.5-native-src/unix/samples/Tomcat7.sh /etc/init.d/tomcat
Configuração
Hora da configuração. Vamos adicionar algumas variáveis necessárias para a inicialização do Tomcat. Logo após os comentários, adicione:vim /etc/init.d/tomcat[...]
# resolve links - $0 may be a softlink[...]
export JAVA_HOME="/usr/java/latest"
export CATALINA_HOME="/opt/tomcat"
Feito isso, Vamos testar!
sudo service tomcat start
Funcionou? Quer na inicialiazação?
chkconfig tomcat on
Tomcat com SSL
Secure Socket Layer para os não-íntimos. Nada complicado, é até ridículo. Primeiro, vamos criar um keystore. Para criar um certificado keystore auto-assinado, execute o comando:sudo /usr/java/latest/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore /opt/tomcat/conf/.keystore
Responda as perguntas e a senha que será pedida no início, repita no final. No meu caso, ficou desse modo:
CN=tomcat, OU=WebApps, O=Maruts.org, L=Salvador, ST=Bahia, C=BR
Agora, acesse o diretório /opt/tomcat/conf. Vamos fazer algumas alterações no arquivo server.xml
Descomente as linhas 84 e 88. Adicione dois parâmetros:
keystoreFile="/path/para/o/.keystore" keystorePass="aquela senha"
O arquivo ficará dessa maneira:
85 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
86 keystoreFile="/opt/tomcat/conf/.keystore" keystorePass="aquela senha... lembra?"
87 maxThreads="150" scheme="https" secure="true"
88 clientAuth="false" sslProtocol="TLS" />
SÓ ISSO
:D
Comodidades
Eu costumo mudar as portas, caso esse servidor hospede apenas esse serviço. Isso vai variar de caso a caso. E o que eu ganho com isso? Simples! Não precisa ficar colocando porta no final da URL, por exemplo, o acesso normal vai ser somente o ip/nome do servidor e o acesso via https vai ser (LOL) https://NomeDoServidor. Melhor né?Enfim, se você puder alterar, é assim:
Para o acesso normal, mude na linha 70, de 8080 para 80:
sed -i.bkp 's/8080/80/g'/opt/tomcat/conf/server.xml
E para o https, mude na linha 85, de 8443 para 443:
sed -i.bkp 's/8443/443/g'/opt/tomcat/conf/server.xml
É isso aé meus queridos. Boas festas pra vocês \o/
e usem openSUSE! ;D
Referências:
Apache Tomcat Doc
SSL Configuration HOW-TO
0 comentários:
Postar um comentário
Só não vale xingar a mãe ou puxar cabelo nos comentários =)