Criando pacotes DEBIAN .deb Part I

datePosted on 22:49, abril 29th, 2010 by Carlos Eugênio

Quando criamos nossas aplicacões e precisamos disponibilizá-las em ambiente de producão queremos que o processo de deploy seja o mais rápido possível. Como tornar este processo padronizado dentro de nossa empresa ?
A forma mais prática é a criacão de pacotes a forma mais difundida é são os pacotes rpm (Fedora) e deb (Debian). Neste artigo vou focar na criacão de pacotes DEBIAN os que estou estudando no momento.

O primeiro passo é preparar o ambiente instalando a seguinte ferramenta no sistema operacional DEBIAN:
sudo apt-get install devscripts fakeroot

Crie um diretório debian no /home/usuario/debian

Baixe o source do software (software.tar.gz) no diretório /home/usuario/debian

Descompacte o arquivo tar.gz em seu diretório de debian acima.

Entre no diretório gerado pelo arquivo descompactado.

Debianizando o projeto com o comando.
dh_make -e email@domantededor -f ../projeto.tar.gz

Este comando irá gerar os arquivos básicos dentro do diretório (debian) para implementacão das configuracões do pacote deb

changelog
control
copyright
dirs
docs
rules

Criando o pacote DEBIAN
dpkg-buildpackage

Instalando o pacote criado :
dpkg -i pacote

Removendo o pacote instalado
dpkg -r pacote

MOD_EVASIVE – Block DDOS attacks

datePosted on 12:31, abril 19th, 2010 by Carlos Eugênio

Se você tem algo na internet : site ou blog você está exposto a vulnerabilidades que podem ser utilizadas por pessoas se muita consciência que transformam sua máquina em um Zumbi a serviço do mal sem você saber ou fazem ataques macicos (DDOS) utilizando as vulnerabilidades de sua máquina.

Ataques

O apache tem algumas ferramentas para auxílio a proteção da sua máquina e uma delas é o mod_evasive que protegerá pelo menos o DDOS.

Mod_evasive é um módulo de segurança do Apache que proporciona bloqueio de acessos em massa ou ataques de força bruta ao site. A intenção dele é bloquear e separar os acessos em massa a área, através de uma interface que guarda os acessos gerando uma blaclit dos acessos impedindo o acesso dos mesmos por um tempo configurável .

1. Se o IP do cliente existe na lista temporária de IPS

2 . Acessos simultâneos a páginas , configurando o tempo de acesso as páginas o default é de 1 segundo.

3 – Número de requisições ao site como um todo.

A idéia e retornar o status code 403 – forbidden para os acessos após ter sido bloqueado o acesso . Após 10 segundos periodo padrão de bloqueio o cliente tem acesso proibido ao site .

A ativação do recurso é bem fácil . O mod_evasive funciona nas duas versões de Apache: one for Apache 1.3 and one for Apache 2.0.

Veja abaixo os passos de instalação :

tar –xzf mod_evasive-1.4.3.tar.gz; cd mod_evasive-1.4.3
./apxs –iac mod_evasive20.c
apachectl restart

Depois de instalado temos que fazer as seguintes configurações no httpd.conf:


DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10

DOSHashTableSize – Esta diretiva defina o número de nodes por processo filho na tabela de hash.
Aumentar o número além do padrão pode melhorar o desempenho mais consome mais memória para gravar dados , o padrão é 3097

[OFF-Topic] 11a Maratona Cidade de São Paulo 5km

datePosted on 08:36, abril 12th, 2010 by Carlos Eugênio

Amigos ,
Nos últimos dias não postei nenhuma novidade então vamos a um tópico fora do mundo da computação, voltemos as corridas de rua. Neste fim de semana aconteceu a 11a Maratona Corpore Cidade de São Paulo e a nossa equipe LocaMotiva marcou a presença.
Não comentei anteriormente mas estou em fase de emagrecimento e meus objetivos são de correr todo o percurso de 5km e paga um cara com 100 quilos isso é meio complicado , as pernas pesam 100 quilos cada.
Mas deixando isso de lado vamos a prova em minha visão de gordo ….

A prova teve horário de largada 7:30 diferente da maioria dos eventos que se iniciam normalmente as 8:00 em ponto na USP Universidade de São Paulo , lugar bastante conhecido pelos corredores de São Paulo. Cheguei após 5 minutos do início da prova e comecei a minha prova de recuperação.
É muito ruim correr no fim dos pelotões porque você não consegue achar uma pessoa de foco para melhorar seu ritmo , mas foi bom porque me foquei no meu ritmo e no trajeto que apesar de ser conhecido e rápido para um cara de 100 quilos é sempre diferente pelas reações do corpo , nessa hora tudo que você fez no dia anterior impacta no seu desempenho de corrida.

Só para terem uma idéia , lembrei do que comi no almoço do sábado aquela feijoada que pesou um pouco e aquelas horas em que fiquei jogando video game mais tarde que consumiu as horas de sono necessárias para melhoria do desempenho.

Mas vamos ao resultado :
12559 Carlos Eduardo Eugênio 00:46:36 00:37:42 07:32 1870 5Km

5 segundos a mais que na mesma prova e percurso do dia 21 , tenho que melhorar o objetivo é fazer em 36 baixos.
Deixa para a próxima.

Caso queira ver o seu resultado.

http://corpore.com.br/resultados/res_resultadosgerais_tgeral.asp

[OFF-Topic] 21/03/10 Corrida Batavo – ESPN 5 KM

datePosted on 22:51, março 27th, 2010 by Carlos Eugênio

Estou estreando uma nova categoria que mostra as minhas aventuras fora do mundo da informática. Pelo menos uma vez por mês participo de uma prova (corrida) de rua em São Paulo normalmente provas de 5 e 10 km.
Tenho que falar pra vocês esse hábito sadio e pelo menos 1 ano e meio atrás mudou a minha vida de me tirou do sedentarismo em que eu estava a anos.

Como prova que estou correndo segue o vídeo da chegada da última prova que fiz em 21/03/2010 eu passei por volta dos 44 minutos e 48 segundos no tempo liquido , de camiseta azul do lado direito.
Read the rest of this entry »

GEM_HOME – Instalando a gem em diretório diferente do padrão

datePosted on 19:48, março 10th, 2010 by Carlos Eugênio

Precisei criar uma aplicação independente em minha arquitetura , que utilizasse versões específicas e que não impactasse em minha aplicação de produção.
A forma de fazer isto de forma mais tranquila foi a seguinte :

export GEM_HOME=”/home/usuario/.gems”
export GEM_PATH=”$GEM_HOME”
export PATH=”$HOME/bin:$HOME/.gems/bin:$PATH”

Depois disso é só instalar com gem install

gem install mysql :: ERROR: Failed to build gem native extension

datePosted on 13:42, março 10th, 2010 by Carlos Eugênio

Ao publicar uma aplicação com mysql me deparei com este problema na instalação da gem mysql necessária para meu site :

gem install mysql

Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb
can't find header files for ruby.

Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

Read the rest of this entry »

uninitialized constant PhusionPassenger::Utils::PseudoIO::StringIO

datePosted on 14:54, fevereiro 24th, 2010 by Carlos Eugênio

Amigos ,

Utilizo passenger 2.2.5 com ruby 1.9 e me deparei com o seguinte problema :
uninitialized constant PhusionPassenger::Utils::PseudoIO::StringIO

A solução tem nos sites dos chinas (hehehe) melhor inserir no blog para ajudar os amigos brasileiros :

Basta inserir um require no seguinte arquivos :
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/utils.rb


require 'stringio'

Atualização do Ubuntu

datePosted on 09:44, fevereiro 18th, 2010 by Carlos Eugênio

Trabalhar com ubuntu é uma tarefa árdua estava utilizando a versão 9.04 e por questões de segurança migrei para a versão 9.10 , para variar o gerenciador de atualizações inicializava o processo e desaparecia .. Hum … tive que atualizá-lo na mão seguem os comandos quem sabe pode te safar de problemas no dia a dia.

Com usuário root :


aptitude install update-manager-core
do-release-upgrade

[]OFF-TOPIC] Usando #screen em seu terminal

datePosted on 10:10, outubro 30th, 2009 by Carlos Eugênio

O Screen permite ter terminais(console) dentro de uma única sessão efetuando a troca entre elas com a vantagem de se manter no mesmo local da primeira sessão aberta , evitando acessar novamente o mesmo caminho toda vez que abrir uma aba ou novo terminal.
Para os usuários de Fedora e Ubuntu como eu é uma mão na roda , pois dentro do projeto rails posso no $bash 0 mexer com os models no $bash1 mexer nos controllers e no $bash2 mexer nas views. (Vlw Prodis)

No home criar o arquivo .screenrc com os seguintes dados :

shell /bin/bash
#caption always “%3n %t%? @%u%?%? [%h]%?%=%c”
#startup_message off
hardstatus on
hardstatus alwayslastline

# Status string, last line
hardstatus string ‘%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]‘

para acessar o ambiente do screen :
screen -S nomequalquer

Comandos para utilizar o screen
Comando base :
ctrl + A depois o Comando

Criando novas instâncias
ctrl + a (depois) c

Matando todas as instâncias
ctrl + a (depois) k

Movendo entre instâncias
ctrl + a (depois) n >> Movendo para a direita entre instâncias
ctrl + a (depois) p >> Movendo para esquerda entre instâncias

Saindo do Screen
ctrl + a (depois) p

para mais detalhes

[Off-Topic] Instalando o Chrome -Ubuntu 9.04

datePosted on 07:52, outubro 25th, 2009 by Carlos Eugênio

O chrome é o browser do momento e nada melhor do que instalá-lo no ambiente que gostamos no caso ubuntu 9.04 , achei no blog do fabioluciano http://blog.fabioluciano.com e vou replicar aqui os cinco passos para instalá-lo neste ambiente :

sudo gedit /etc/apt/sources.list

Adicione a seguinte entrada ao final do arquivo, salve-o e feche:
deb http://dl.google.com/linux/deb/ stable non-free main

Logo após, rode o comando a seguir:

wget -q https://dl-ssl.google.com/linux/linux_signing_key.pub -O- | sudo apt-key add -

sudo apt-get update

sudo apt-get install google-chrome

123456PreviousNext