Redmine: Upgrade da versão 0.8.5 para 0.9.1

6, fevereiro, 2010

Opa,

Recentemente tive que atualizar o Redmine da versão 0.8.5 para a 0.9.1, segue abaixo os passos que realizei para essa operação.

Primeiro devemos checar se o nosso sistema possui os pré-requisitos para a execução do Redmine 0.9.1, são eles:

# ruby –version

Ruby >= 1.8.6

# rails –version

Rails >= 2.3.5

# gem –version

RubyGems >= 1.3.1

# rake –version

Rake >= 0.8.3

Como eu já tinha instalado a versão 1.8.7 do Ruby Enterprise não precisei atualizar nenhum deles, caso seja necessário instalar a versão 2.3.5 do Rails basta usar o gem:

# gem install rails -v=2.3.5

OBS.: Outros pré-requisitos podem ser encontrados no site do Redmine.

Antes de iniciar o upgrade faça o backup da base de dados (no meu caso MySQL) e dos arquivos físicos (apesar do site do Redmine só pedir o backup dos arquivos da pasta files eu recomendo o backup completo da pasta):

# mysqldump -u root -p –databases nome_banco > nome_banco-data.sql
# tar -cvjf /caminho/arquivos/rails/redmine-0.8.5 /caminho/backup/redmine-0.8.5-data.tar.bz2

Faça o download da versão 0.9.1 no site do Redmine e descompacte-a:

# cd /caminho/arquivos/rails/
# wget -c http://rubyforge.org/frs/download.php/68872/redmine-0.9.1.tar.gz
# tar -xvzf redmine-0.9.1.tar.gz

Ajuste as permissões:

# chown root: -R redmine-0.9.1/
# chown apache: -R redmine-0.9.1/{files,tmp}

Crie o link simbólico (caso assim como eu utilize):

# ln -s redmine-0.9.1 redmine

Copie os arquivos de configuração e os arquivos de upload:

# cp redmine-0.8.5/config/database.yml redmine/config/
# cp redmine-0.8.5/config/email.yml redmine/config/
# cp redmine-0.8.5/files/* redmine/files/

Crie o arquivo session_store.rb que serve para proteger os dados da sessão:

# rake config/initializers/session_store.rb

Faça o upgrade da base de dados:

# rake db:migrate RAILS_ENV=production

Limpe o cache e sessões antigas:

# rake tmp:cache:clear
# rake tmp:sessions:clear

Reinicie o servidor de aplicação (no meu caso o Apache):

# /etc/init.d/httpd restart

E para concluir acesse o Redmine, navegue até “Administração -> Papéis & permissões” e marque/desmarque as novas permissões disponíveis, se existirem.

Fonte: http://www.redmine.org/wiki/redmine/RedmineUpgrade

Luiz Agostinho Linux ,

CentOS: Solucionando problema com o udev pós upgrade

18, janeiro, 2010

Opa,

Essa dica é para quem estiver com o mesmo problema no CentOS e o udev que eu tive. Após um upgrade para a versão 5.4 o sistema parava no carregamento do udev e demorava entre 4 a 5 minutos, retornando a mensagem abaixo:

Starting udev: Wait timeout. Will continue in the background [FAILED]

Verificando no Google encontrei a solução na lista de bugs do CentOS, bastou editar o arquivo /etc/security/console.perms.d/50-default.perms e fazer a seguinte alteração:

<console> 0600 <sound> 0660 root.audio

Para:

<console> 0600 <sound> 0660 root

Feito isso bastou reiniciar o sistema para tudo voltar a funcionar normalmente. Fica ai a dica, abraço!

Fonte: http://bugs.centos.org/view.php?id=4049

Luiz Agostinho Linux , , ,

Recuperando Roteador DI-524

29, dezembro, 2009

Opa,

Recentemente meu amigo Tarta (vulgo João Paulo) trouxe seu roteador D-Link modelo DI-524 para que eu tentasse reanimá-lo pois não estava conseguindo conectar ao aparelho via cabo ou rede sem fio. Achei que bastaria um simples reset que o bicho iria voltar a vida mas não foi tão simples assim, acabei encontrando no fórum do Clube do Hardware a solução e resolvi postar aqui para ser mais uma fonte de pesquisa.

Roteador D-Link DI-524

Roteador D-Link DI-524

Ao ligar o aparelho os leds de STATUS e WLAN ascendiam e após alguns segundos piscavam juntos, resolvi tentar o reset mesmo depois dele ter me falado que já tinha tentado isso sem sucesso, pensei: “quem sabe ele não tinha esperado o tempo suficiente”, “quem sabe o aparelho estava com raiva do dono”, “quem sabe ele não saiu da sala e entrou no tempo exato”, vai saber. Quando executava o reset (pressionando o botão durante os 10 segundos citados no manuel) os leds de STATUS e WLAN ficavam malucos e não paravam mais de piscar, apesar disso após o reset eu conseguia pingar o aparelho pelo seu IP de fábrica (192.168.0.1), mas não conseguia acessar a interface web. Depois de algumas tentativas sem sucesso já estava pensando em condenar o coitado. Foi ai que eu resolvi ir dar uma pesquisada no Google e achei a solução para esse problema, segue abaixo o passo-a-passo:

  1. Baixe o programa para fazer o upload do firmware para o aparelho através desse link;
  2. Configure sua placa de rede para o IP 192.168.0.2;
  3. Pressione o botão de reset do aparelho até que os leds de STATUS e WLAN fiquem piscando rapidamente;
  4. Execute o programa, deverá aparecer o IP do roteador na janela que será exibida, clique no botão Upgrade e aguarde a conclusão da operação;
    OBS.: Comigo o programa executou até o fim, mas no post onde encontrei essa dica o gualter_sf comentou que com ele não e foi necessário colocar a placa de rede para buscar IP via DHCP e executar o programa novamente para detectar o roteador.
  5. O modem reiniciará e será possível acessar a interface web de administração normalmente.

Espero que essa dica ajude mais alguém! Abraço e boas festas de fim de ano!

Fonte: http://forum.clubedohardware.com.br/d-link-di/505677?s=6052f305e237f88dd62a00c9de76fa1c&

Luiz Agostinho Outros, Tech , , ,

CentOS: Instalando mod_security

15, dezembro, 2009

Opa,

Nesse post iremos instalar e ativar o suporte a mod_security no CentOS 5.4, o mod_security é útil para proteger o Apache contra diversos tipos de ataques a aplicações web, agindo como uma camada de proteção.

Para realizar a instalação do mod_security no CentOS existem duas formas, compilar o código-fonte ou instalar o pacote binário do repositório EPEL (Extra Packages for Enterprise Linux). Como já possuo o repositório EPEL (e por preguiça também lógico) escolhi instalar o pacote binário, segue abaixo os procedimentos utilizados.

Caso não possua o repositório EPEL ativado no seu sistema, instale-o com o comando abaixo:

Versão 32 bits
# rpm −Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel−release−5−3.noarch.rpm

Versão 64 bits
# rpm −Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel−release−5−3.noarch.rpm

Antes de instalar o pacote do mod_security no meu ambiente, CentOS 5.4 64 bits, foi necessário instalar o pacote lua (dica que encontrei no comentário do Zigzacom na fonte), portanto, caso encontre erros de dependência da biblioteca liblua-5.1.so durante a instalação execute o comando abaixo:

# rpm −ivh http://mirrors.kernel.org/fedora−epel/5Server/x86_64/lua−5.1.2−1.el5.x86_64.rpm

Instale o pacote do mod_security com o comando abaixo:

# yum install mod_security

O arquivo de configuração principal do mod_security encontra-se em /etc/httpd/conf.d/mod_security.conf, no diretório /etc/httpd/modsecurity.d/ encontram-se todos os outros arquivos de configuração do mod_security incluindo o arquivo /etc/httpd/modsecurity.d/modsecurity_crs_10_config.conf que deve ser ajustado de acordo com as suas necessidades. Os arquivos de log encontram-se em /var/log/httpd/modsec_debug.log e em /var/log/httpd/modsec_audit.log.

Após a instalação verifique no arquivo /etc/httpd/modsecurity.d/modsecurity_crs_10_config.conf se a opção SecRuleEngine está configurada para On:

# vim /etc/httpd/modsecurity.d/modsecurity_crs_10_config.conf

SecRuleEngine On

Agora basta reiniciar o serviço com o comando abaixo:

# service httpd restart

Nos logs do Apache pode ser verificado se o módulo foi devidamente carregado:

# tail -f /var/log/httpd/error_log

[Tue Dec 15 20:34:35 2009] [notice] caught SIGTERM, shutting down
[Tue Dec 15 20:34:44 2009] [notice] SELinux policy enabled; httpd running as context root:system_r:httpd_t
[Tue Dec 15 20:34:45 2009] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Dec 15 20:34:46 2009] [notice] ModSecurity for Apache/2.5.9 (http://www.modsecurity.org/) configured.
[Tue Dec 15 20:34:46 2009] [notice] Original server signature: Apache/2.2.3 (CentOS)
[Tue Dec 15 20:34:46 2009] [notice] Digest: generating secret for digest authentication ...
[Tue Dec 15 20:34:46 2009] [notice] Digest: done
[Tue Dec 15 20:34:47 2009] [notice] Apache/2.2.0 (Fedora) configured -- resuming normal operations

E após algumas tentativas segue um exemplo do mod_security em ação:

# tail -f /var/log/httpd/error_log

[Tue Dec 15 18:29:21 2009] [error] [client XX.XX.XX.XX] ModSecurity: Warning. Match of "rx ModSecurity" against "WEBSERVER_ERROR_LOG" required. [ile "/etc/httpd/modsecurity.d/modsecurity_crs_21_protocol_anomalies.conf"] [line "65"] [id "960913"] [msg "Invalid request"] [severity "CRITICAL"] [hostname "meu.site.com"]

Abraço!

Fonte: http://www.cyberciti.biz/faq/rhel-fedora-centos-httpd-mod_security-configuration/

Luiz Agostinho Linux , , , , ,

Solucionando update do python no CentOS 5.3

24, novembro, 2009

Opa,

Recetemente tive um pequeno problema com a atualização do pacote python no servidor CentOS 5.3 64 bits (não sei se esse problema ocorre na versão 32 bits), após executar um yum update no servidor recebia a seguinte mensagem abaixo:

# yum update

Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* epel: lnx.apollo-hw.ro
* addons: mirror.stanford.edu
* extras: yum.singlehop.com
114 packages excluded due to repository priority protections
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package python.x86_64 0:2.4.3-24.el5_3.6 set to be updated
c5284ba3902d0cdd9036f5dcca56d91e9422e740-filelists.sqlit | 3.8 MB 00:38
--> Processing Dependency: /usr/lib64/python2.4 for package: gamin-python
--> Processing Dependency: /usr/lib64/python2.4 for package: libxml2-python
--> Finished Dependency Resolution
gamin-python-0.1.7-8.el5.x86_64 from installed has depsolving problems
--> Missing Dependency: /usr/lib64/python2.4 is needed by package
gamin-python-0.1.7-8.el5.x86_64 (installed)
libxml2-python-2.6.26-2.1.2.8.x86_64 from installed has depsolving problems
--> Missing Dependency: /usr/lib64/python2.4 is needed by package
libxml2-python-2.6.26-2.1.2.8.x86_64 (installed)
Error: Missing Dependency: /usr/lib64/python2.4 is needed by package
libxml2-python-2.6.26-2.1.2.8.x86_64 (installed)
Error: Missing Dependency: /usr/lib64/python2.4 is needed by package
gamin-python-0.1.7-8.el5.x86_64 (installed)

Ou seja, quebra de dependências! Nessa hora já estava pensando que ia ter que apelar para a remoção dos pacotes conflitantes, atualização e instalação dos pacotes necessários, etc… Mas não precisei fazer nada disso, para solucionar esse problema foi necessário apenas fazer um clean all e após isso tudo voltou a funcionar normalmente:

# yum clean all

Loaded plugins: fastestmirror, priorities
Cleaning up Everything
Cleaning up list of fastest mirrors

# yum update

Loaded plugins: fastestmirror, priorities
Determining fastest mirrors
* epel: fr2.rpmfind.net
* addons: centos.patan.com.ar
* extras: centos.patan.com.ar
epel | 3.4 kB 00:00
9427d656fcd15e62989f1a06fcfdc26f8475c941-primary.sqlite. | 2.7 MB 00:21
addons | 951 B 00:00
primary.xml.gz | 203 B 00:00
Zend | 951 B 00:00
primary.xml.gz | 13 kB 00:00
Zend 75/75
updates | 951 B 00:00
primary.xml.gz | 388 kB 00:00
updates 700/700
Zendce-noarch | 951 B 00:00
primary.xml.gz | 3.9 kB 00:00
Zendce-noarch 15/15
base | 1.1 kB 00:00
primary.xml.gz | 1.1 MB 00:00
base 3272/3272
extras | 1.1 kB 00:00
primary.xml.gz | 117 kB 00:01
extras 290/290
114 packages excluded due to repository priority protections
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package python.x86_64 0:2.4.3-24.el5_3.6 set to be updated
6ce911b005643bd26a281487119bdb746d551488-filelists.sqlit | 3.8 MB 01:29
filelists.xml.gz | 8.8 kB 00:00
filelists.xml.gz | 3.3 MB 00:00
filelists.xml.gz | 2.6 MB 00:00
filelists.xml.gz | 113 kB 00:00
filelists.xml.gz | 196 B 00:00
filelists.xml.gz | 176 kB 00:01
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
python x86_64 2.4.3-24.el5_3.6 updates 5.9 M

Transaction Summary
================================================================================
Install 0 Package(s)
Update 1 Package(s)
Remove 0 Package(s)

Total download size: 5.9 M
Is this ok [y/N]: y
Downloading Packages:
python-2.4.3-24.el5_3.6.x86_64.rpm | 5.9 MB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : python [1/2]
Cleanup : python [2/2]

Updated: python.x86_64 0:2.4.3-24.el5_3.6
Complete!

Fica ai a dica para quem passar pelo mesmo problema! Abraço!

Luiz Agostinho Linux , ,

Dica: Zend + PHP 5.2 + Firebird + CentOS 5.3 64bits

14, novembro, 2009

Opa,

Essa semana perdi passei um bom tempo lutando para colocar o módulo do Firebird para funcionar com o Zend + PHP 5.2 em um ambiente com CentOS 5.3 64 bits, mais precisamente ocorriam problemas com campos tipo BLOB. Após várias algumas tentativas sem sucesso, o Diego (vulgo Perebinhas) me mandou um comentário de um post, que ele ainda não me informou o link, falando algo sobre um problema para gerar o módulo com as versões do PHP superiores à 5.2.1, a versão que eu estava utilizando era 5.2.10 e já tinha testado com a última versão disponível também, após esse comentário resolvi testar!

# php -v

PHP 5.2.10 (cli) (built: Jun 22 2009 10:22:39)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
with Zend Extension Manager v5.1, Copyright (c) 2003-2009, by Zend Technologies
- with Zend Data Cache v4.0, Copyright (c) 2004-2009, by Zend Technologies [loaded] [licensed] [disabled]
- with Zend Utils v1.0, Copyright (c) 2004-2009, by Zend Technologies [loaded] [licensed] [enabled]
- with Zend Optimizer+ v4.0, Copyright (c) 1999-2009, by Zend Technologies [loaded] [licensed] [disabled]
- with Zend Debugger v5.2, Copyright (c) 1999-2009, by Zend Technologies [loaded] [licensed] [enabled]

Baixe os fontes do PHP versão 5.2.1:

# wget -c http://museum.php.net/php5/php-5.2.1.tar.bz2

Descompacte e execute os comandos configure e make para gerar o módulo:

# tar -xvjf php-5.2.1.tar.bz2
# cd php-5.2.1
# ./configure –with-interbase=shared
# make

Opcional: Caso deseje execute o make test para verificar se existem erros com o módulo:

# make test

Agora copie o módulo interbase.so criado para a pasta de módulos do php:

# cp modules/interbase.so /usr/lib64/php/modules/

OBS.: No caso do Zend a pasta utilizada foi /usr/local/zend/lib/php_extensions/.

Edite o arquivo php.ini para que o módulo seja carregado:

# vim /etc/php.ini

extension=interbase.so

Para finalizar reinicie o Apache para que o módulo seja carregado:

# /etc/init.d/httpd restart

Agora é só fazer os testes! Abraço!

Luiz Agostinho Linux , , , ,

Dica: Aumentando partição EXT4 em LVM

10, novembro, 2009

Opa,

Essa dica rápida é para quem precisa aumentar uma partição EXT4 em um volume lógico (LVM) online, ou seja, sem precisar desmontar a partição, para isso execute os comandos abaixo:

$ sudo lvresize -L +30G /dev/vg/minhaparticao
$ sudo resize2fs /dev/vg/minhaparticao

O primeiro comando faz com que o volume lógico /dev/vg/minhaparticao seja redimensionado com mais 30GB e o segundo comando faz com que o sistema de arquivos reconheça o novo tamanho da partição.

OBS.: Caso não esteja em um ambiente com sudo, basta logar como root e executar os comandos acima sem o comando sudo.

Abraço!

Fonte: http://blog.webworxshop.com/2009/10/10/online-filesystem-resizing-with-lvm

Luiz Agostinho Linux , ,

Zimbra: Criando um alias de domínio

9, novembro, 2009

Opa,

Geralmente quando temos diversos domínios em um servidor de e-mail separamos as contas, ou seja, podemos ter uma conta contabilidade@dominio.com.br, que receberá os e-mail’s do usuário contabilidade do dominio.com.br e outro endereço como contabilidade@outrodominio.com.br, que seria o usuário contabilidade do outrodominio.com.br, cada um recebendo os e-mail’s destinados à eles. Mas às vezes nos deparamos com a solicitação de que o novo domínio ou todos os domínios registrados no servidor de e-mail sejam apenas aliases para um único domínio previamente cadastrado, para solucionar essa tarefa no Zimbra basta executar alguns comandos, primeiro acesse com o usuário zimbra:

# su - zimbra

Versões inferiores à 5.0.16:

$ zmprov createDomain outrodominio.com.br zimbraDomainType alias zimbraMailCatchAllAddress @outrodominio.com.br zimbraMailCathAllForwardingAddress @dominio.com.br

Versões 5.0.16 e superiores:

$ zmprov createAliasDomain outrodominio.com.br dominio.com.br zimbraMailCatchAllForwardingAddress @dominio.com.br

Com isso todos os e-mail’s enviados para outrodominio.com.br serão direcionados para o dominio.com.br, exemplo:

fulano@outrodominio.com.br -> fulano@dominio.com.br
fl0cker@outrodominio.com.br -> fl0cker@dominio.com.br

Caso deseje adicionar mais um domínio basta executar novamente o comando alterando outrodominio.com.br pelo domínio desejado.

Abraço!

Fonte: http://wiki.zimbra.com/index.php?title=ManagingDomains#ZCS_5.0.16_and_later

Luiz Agostinho Linux , ,

Algumas fotos do Casamento

23, outubro, 2009

Opa,

Estou postando algumas fotos do casamento enquanto as “oficiais” não ficam prontas!

Noivinhos do Casamento

Noivinhos do Casamento

Sobrinhos

Sobrinhos

Valsa

Valsa

Festa

Festa

Abraço!

Luiz Agostinho Festa , ,

Agora com feed’s completos!

23, outubro, 2009

Opa,

Atendendo a pedidos, o feed RSS do Blog agora exibirá os post’s completos!

Abraços!

Luiz Agostinho Outros, novidades