Arquivos da categoria: Tecnologias e Metodologias

Instalar ou atualizar o Tiki Wiki

Ambos os procedimentos são bastante semelhantes, diferindo apenas na fase de cópia dos arquivos alterados ou incluídos na versão prévia. Os procedimentos descritos a seguir supõe que estejamos instalando a versão 7.2 ou atualizando da versão 7.1 para a versão 7.2. Se as versões forem diferente, será necessário ajustar os procedimentos de acordo com as versões envolvidas.
Supomos também que a instalação está sendo feita no servidor cogeti, na pasta /var/www/tiki.

Obter a versão a ser instalada
Com permissões de administrador, execute as seguintes tarefas para obter e descompactar o Tiki Wiki.
# cd/var/www
# wget http://utfpr.dl.sourceforge.net/project/tikiwiki/Tiki_7.x_Electra/7.2/tiki-7.2.tar.gz
# tar -xzf tiki-7.2.tar.gz

Após executar estes comandos, o diretório /var/www/tiki-7.2 conterá os arquivos da versão 7.2 do Tiki Wiki.

Copiar arquivos e ajustar permissões
A nossa instalação inclui uma logomarca que precisa ser copiada para a nova instalação. Uma vez que o Tiki Wiki grava arquivos no servidor, é necessário mudar o proprietário dos arquivos para coincidir com o usuário do Apache. Na nossa instalação, este usuário é www-data. Depois basta recriar o link simbólico para habilitar a nova instalação.
# cp -R tiki/img/cogeti tiki-7.2/img
# chown -R www.data:www.data tiki-7.2
# rm tiki
# ln -s tiki-7.2 tiki

Com estas tarefas concluídas, o Apache passará a referenciar a nova instalação.

Configuração
A configuração do Tiki Wiki é feita através da própria interface Web. Basta, portanto, abrir a URL http://blogs.ct.utfpr.edu.br/cogeti/ em qualquer navegador e seguir as instruções.
Quando perguntado sobre o tipo de banco de dados, usuário e senha, escolher o MySQL Classic. As credenciais a serem usadas podem ser recuperadas do arquivo da versão anterior, por exemplo, /var/www/tiki-7.1/db/local.php. Neste arquivo $host_tiki é o servidor de banco de dados, $dbs_tiki é o nome do banco de dados, $user_tiki é o nome do usuário do banco de dados e $pass_tiki é a senha do usuário do banco de dados.
Ao final da configuração é recomendável desabilitar o instalador.

Proteja o arquivo com as credenciais do banco de dados
# chmod og-rw /var/www/tiki/db/local.php

Remover os arquivos de instalação e a versão antiga
O arquivos de instalação e a versão antiga podem ser removidos:
# rm tiki-7.2.tar.gz
# rm -R tiki-7.1

 

Arquivo de propriedades do Tomcat

Definição
O arquivo de propriedades do Tomcat, localizado, por padrão em conf/catalina.properties pode ser usado para definir propriedades que serão referenciadas em outros arquivos de configuração tais como server.xml e context.xml e também nos arquivos de definição de contexto das aplicações em META-INF/context.xml, no diretório de cada aplicação.

Como em todos os arquivos de propriedades de Java, este arquivo é composto de um conjunto de pares atributo=valor. Por padrão, já existe uma grande quantidade de propriedades definidas neste arquivo que são utilizadas pelo próprio Tomcat e devem ser preservadas.

Para que as alterações tenham efeito é necessário reiniciar o Tomcat!


Criação de novas propriedades
Em arquivos de propriedades, linhas começadas por # são consideradas comentários e ignoradas. Pode-se adicionar propriedades e comentários em qualquer parte do arquivo, mas é recomendável fazê-lo ao final e comentar de forma clara a finalidade de cada uma das propriedades.
Podemos, por exemplo, armazenar neste arquivo o usuário e senha de um banco de dados, evitando a necessidade de distribuir estas informações no arquivo war da aplicação, o que é potencialmente inseguro. Obviamente é necessário restringir cuidadosamente o acesso ao arquivo catalina.properties neste caso.

Exemplo: armazenar a senha do banco de dados
Suponha que uma aplicação Web utiliza uma fonte de dados (DataSource) para criar conexões a um banco de dados Oracle e que a definição desta fonte de dados está no arquivo META-INF/context.xml da aplicação. Como não desejamos que estes dados sejam colocados diretamente no arquivo, vamos defini-los no arquivo catalina.properties e referenciá-los no arquivo de contexto da aplicação. Inicialmente devemos editar o arquivo catalina.properties e incluir as propriedades desejadas:
# Credenciais para conexão ao banco de dados Oracle
oracle.db.username=login
oracle.db.password=senha

Adicionando as duas linhas acima ao arquivo de propriedades, definimos as propriedades oracle.db.username com o valor login e oracle.db.password com o valor senha.

Podemos utilizar estas propriedades no arquivo META-INF/context.xml:
<?xml version”1.0″ encoding=”UTF-8″?>
  <Context antiJARLocking=”true” path=”/exemplo”>
<Resource auth=”Container”
driverClassName=”orcale.jdbc.OracleDriver”
logAbandoned=”true”
maxActive=”10″
maxIdle=”3″
maxWait=”10000″
name=”jdbc/exemplo”
username=”${oracle.db.username}”
password=”${oracle.db.password}”
removeAbandoned=”true”
type=”javax.sql.DataSource”
url=”jdbc:oracle:thin:@my.oracle.db.com:1521:scott”
validationQuery=”select * from dual” />
</Context>

Com isto, quando a aplicação for carregada, o Tomcat substituirá os respectivos valores.

Instalação ou Atualização do Tomcat 7

Descreveremos a instalação ou atualização manual do Tomcat 7. Não utilizaremos o pacote da distribuição do sistema operacional.

Obtenha a versão mais recente
Neste exemplo, instalaremos a versão 7.0.34. Os arquivos de instalação serão obtidos a partir de um servidor espelho e descompactados no diretório de instalação.
# cd /opt
# wget http://ftp.unicamp.br/pub/apache/tomcat/tomcat-7/v7.0.34/bin/apache-tomcat-7.0.34.tar.gz

Copie os arquivos modificados
Somente em caso de atualização, copie os arquivos de configuração e bibliotecas da versão anterior.
# cd /opt/apache-tomcat-7.0.23
# cp /opt/tomcat7/conf/server.xml conf
# cp /opt/tomcat7/conf/tomcat-users.xml conf
# cp /opt/tomcat7/conf/catalina.properties conf
# cp /opt/tomcat7/bin/setenv.sh bin
# cp /opt/tomcat7/lib/ojdbc6.jar lib
# cp /opt/tomcat7/lib/postgresql-9.1-901.jdbc4.jar lib

Compile e Instale a biblioteca nativa do Tomcat
O uso desta biblioteca melhora o desempenho do Tomcat.

Prepare para compilar
Caso não estejam instalados, instale o make e/ou gcc:
# apt-get install make gcc

Caso não esteja instalada, instale a biblioteca libapr de desenvolvimento:
# apt-get install libapr1-dev

Descompacte os arquivos de instalação em um diretório temporário e entre no diretório com os scripts de compilação:
# cd /tmp
# tar -xzf /opt/tomcat7/bin/tomcat-native.tar.gz

Compile a biblioteca nativa
Neste exemplo, supomos que estamos usando o JDK da Oracle.
# cd tomcat-native-1.1.24-src/jni/native
# ./configure –with-apr=/usr/bin/apr-config –with-java-home=/usr/lib/jvm/java-7-oracle
# make
# make install

Crie um link simbólico para que o Tomcat localize a biblioteca em seu caminho padrão
# cd /usr/lib
# ln -s /usr/local/apr/lib/libtcnative-1.so.0.1.24 libtcnative-1.so

Para verificar se o Tomcat está usando a biblioteca nativa, após iniciar o Tomcat, consulte o arquivo de log, p. ex., /opt/tomcat7/logs/catalina.out e procure pela mensagem INFO: Loaded APR based Apache Tomcat Native library 1.1.24 using APR version 1.4.6.

Configure o Tomcat 7

Configure os usuários
Para configurar a autenticação inicial de acesso administrativo é necessário criar alguns papéis (roles) e usuários. Edite o arquivo /opt/apache-tomcat-7.0.34/tomcat-users.xml adicionando ou editando o conteúdo como mostrado abaixo.
<?xml version=’1.0′ encoding=’utf-8′?>
<tomcat-users>
  <role rolename=”manager-gui”/>
  <role rolename=”manager-script”/>
  <role rolename=”manager-jmx”/>
  <role rolename=”manager-status”/>
  <role rolename=”admin-gui”/>
  <role rolename=”manager”/>
  <user username=”manager” password=”mngpwd” roles=”manager-gui,manager-script,manager-jmx,manager-status,admin-gui,manager”/>
</tomcat-users>

Configure a localização dos arquivos
Para modificar o diretório padrão para publicação de aplicações edite o arquivo /opt/tomcat7/conf/server.xml. Modifique a seção Host como mostrado abaixo.
<Host name=”localhost”  appBase=”/usr/local/tomcat7/tomcat/webapps” unpackWARs=”true” autoDeploy=”true”>
<!— demais configurações … –>
</Host>

Neste exemplo, estamos informando que o diretório padrão para publicação de aplicações é o /usr/local/tomcat7/tomcat/webapps. Isto é útil para atualizar o Tomcat, uma vez que não precisamos nos preocupar em preservar as aplicações que ficariam dentro da mesma estrutura de diretórios.

Configure as portas usadas pelo Tomcat
Neste exemplo, configuramos o Tomcat para responder a um shutdown na porta 8705 (o padrão é 8005) e iniciar na porta 8780 (o padrão é 8080). Edite o arquivo /opt/tomcat7/conf/server.xml e modifique as seções Server e Connector como mostrado abaixo.
<Server port=”8705″ shutdown=”SHUTDOWN”>

    <!— outras configurações… —>
    <Connector port=”8780″ protocol=”HTTP/1.1″
               connectionTimeout=”20000″
               redirectPort=”443″ />
    <! outras configurações… —>
</Server>

Crie o script de inicialização
Para iniciar o Tomcat 7 automaticamente, é necessário criar um script de inicialização.
Por exemplo, crie o arquivo /etc/init.d/tomcat7 com o seguinte conteúdo:
#!/bin/sh
### BEGIN INIT INFO
# Provides:          tomcat7
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Inicia/para o Tomcat 7
### END INIT INFO
# Um script simples que deve ser melhorado progressivamente
# para considerar cenários mais complexos.
# Autor: Wilson Horstmeyer Bogado <wilson@utfpr.edu.br>
# Colaboradores:
#
# 2011-07-30 WHB: Versão inicial
# 2011-12-11 WHB: Incluído INIT INFO

BIN_DIR=/opt/tomcat7/bin

case “$1” in
  start)
        echo “Iniciando Tomcat 7…”
        $BIN_DIR/startup.sh
        ;;
  restart)
        echo “Reiniciando Tomcat 7…”
        $BIN_DIR/shutdown.sh
        sleep 3
        $BIN_DIR/startup.sh
        ;;
  reload|force-reload)
        echo “argumento ‘$1’ nao suportado” >&2
        exit 3
        ;;
  stop)
        echo “Parando Tomcat 7…”
        $BIN_DIR/shutdown.sh
        ;;
  *)
        echo “Uso: $0 start|stop|restart” >&2
        exit 3
        ;;
esac
exit 0

Instale o script para iniciar o Tomcat 7
Vamos instalar o Tomcat para ser iniciado próximo do final (90) e parado próximo do início (10) da sequência de inicialização.
# update-rc.d tomcat7 defaults 90 10

Inicie o Tomcat 7
Pare o Tomcat, recrie o link simbólico (em caso de atualização) e inicie o Tomcat novamente.
# cd /opt
# service tomcat7 stop
# rm tomcat7
# ln -s apache-tomcat-7.0.34 tomcat7
# service tomcat7 start

Habilite o redirecionamento de requisições a partir do servidor Apache
Este procedimento permitirá que requisições para aplicações Java sejam encaminhadas pelo Apache ao Tomcat ou qualquer outro servidor de aplicações Java.
Crie ou edite o arquivo de configuração do proxy_ajp
# nano ../mods-available/proxy_ajp.load
No exemplo abaixo, a URL /probe no Apache será direcionada para o servidor Tomcat no respectivo endereço. Para maiores detalhes sobre a configuração do proxy_ajp consulte:
http://httpd.apache.org/docs/current/mod/mod_proxy_ajp.html

ProxyPass /probe ajp://dev.ct.utfpr.edu.br:8709/probe

Habilite os módulos necessários para o Apache
# cd /etc/apache2/mods-enabled
# ln -s ../mods-available/proxy.load
# ln -s ../mods-available/proxy.conf
# ln -s ../mods-available/proxy_ajp.load
# ln -s ../mods-available/proxy_ajp.conf

Jenkins CI – Configuração LDAP

Grupos
Na configuração do LDAP é recomendável definir parâmetro Group search base em Advanced… pois em alguns casos deixá-lo em branco pode causar erros na busca dos resultados e impossibilitar o login. Usualmente este parâmetro recebe o valor ou=groups, mas deve ser especificado de acordo com a hierarquia específica do servidor LDAP usado.
Para identificar este problema consulte os logs do Tomcat e verifique se aparecem mensagens de erro relativas ao LDAP.

Instalação ou atualização do Jenkins no Tomcat

Neste exemplo apresentaremos a instalação manual do Jenkins, sem usar um pacote distribuído para o sistema operacional.

Obtenha a versão mais recente
Armazene o arquivo de instalação em um local temporário e descompacte. Descompactaremos o arquivo WAR para facilitar a administração da aplicação. Assumimos que o Tomcat já esteja instalado.
# cd /tmp
# wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war
# unzip -d jenkins jenkins.war

Instale ou atualize a aplicação
Copie os arquivos descompactados para o diretório de aplicações do Tomcat, por exemplo:
# cp -R jenkins /opt/tomcat/webapps
Para garantir uma instalação correta, pode ser útil excluir o diretório do Jenkins antes de copiar os novos arquivos, em caso de atualização.

Configure o diretório de dados (em caso de instalação)
Este diretório será usado pelo Jenkins para armazenar os seus arquivos de configuração e informações sobre as tarefas executadas. O Tomcat deve ter permissão de escrita neste diretório, para este fim atribuímos o usuário que executa o Tomcat como proprietário deste diretório.
# mkdir /usr/local/jenkins
# chown -R tomcat6:tomcat6 /usr/local/jenkins

Crie ou edite o arquivo /opt/tomcat/bin/setenv.sh (a localização pode variar), usado durante a inicialização do Tomcat para definir a variável de ambiente JENKINS_HOME. Após a edição o arquivo deverá conter no mínimo:
export JENKINS_HOME=/usr/local/jenkins

Reinicie o Tomcat
Pode ser necessário reiniciar o Tomcat após a instalação ou atualização:
service tomcat6 restart