Arquivo mensais:novembro 2007

Upgrade MySQL 4.1 para MySQL5 WHM cpanel

Olá pessoal,

A atualização do MySQL 4.1 para o MySQL 5.0 pode ser feita facilmente pelo WHM (cpanel).
Para fazer, siga os passos:

1 – Logue no WHM como root e clique em “Server Configuration / Tweak Settings“. Marque o MySQL 5.
2 – Rode o script /scripts/mysqlup Para ele baixar e instalar a última versão do MySQL5 disponível.
3 – Depois de completar, você deve recompilar suas bibliotecas perl, mysql e apache. Para isso execute os comandos abaixo:
/scripts/perlinstaller –force Bundle::DBD::mysql
e para o apache:
/scripts/easyapache

PS1: Você deve estar ciente que a atualização não é reversíve. Por esse motivo, faça um backup de tudo antes de executar o upgrade.
PS2: Após o upgrade, o MySQL pode não subir.
Eu executei esse procedimento no RHEL4. Não sei se em outras versão o mesmo problema ocorre. Veja o erro:
/etc/init.d/mysql start
Starting MySQLCouldn’t find MySQL manager or server        [FAILED]

Caso ocorra esse erro, edite o arquivo /etc/my.cnf fazendo a seguinte alteração:
Continue lendo

Ler um arquivo texto linha a linha em bash

Olá pessoal,

Esse é um problema constante que tenho quando estou programando em bash para automatizar alguma tarefa, ler algum log, etc.
Quando faço um for dando um cat em um arquivo texto, dependendo do arquivo ele não interpreta que desejo ler linha a linha, pois utiliza o espço em branco como separador.

Para resolver, veja um exemplo abaixo:
#!/bin/bash
  ORI_IFS=$IFS
  IFS=$’\n’
  for LINHA in $(cat /tmp/comandos.txt); do
     # seus comandos aqui
      echo $LINHA
  done
  IFS=$ORI_IFS

Descompactar arquivos tar.gz em outra pasta

Olá pessoal,

Normalmente quando descompactamos arquicos .tar.gz ele o faz na pasta corrente.
O problema é quando desejamos que ele seja salvo em alguma outra pasta diretamente, sem que seja necessário após a descompactação utilizar o comando mv.

Bom, é muito simples. Basta utilizar o parâmetro “-C pasta_destino”. Veja abaixo um exemplo:
tar zxvf arquivo.tar.gz -C /home/usuario/fotos/
./
./joao.gif
./foto.gif

Abraços!

Atualizando o RedHat com up2date

Bom dia galera!

Para que usa redhat, essa é uma informação muito importante e que pode economizar horas quando precisamos resolver dependências de pacotes.

Para executar é recomendável baixar os pacotes antes e depois instalar. Para isso execute:
up2date –nosrc –nox -u -v -d

Explicação:
–nosrc é para não fazer download dos fontes.
–nox é para executar sem tela “gráfica”.
-u é para atualizar (update) o sistema.
-v é para informar o que está acontecendo (verbose).
-d faz apenas o download do pacote.

Caso queira instalar os pacotes automaticamente, acrescente no final a opção -i (install) e remova a -d.

Para instalar um pacote apenas, digite:
up2date -i PACOTE

Abraços!

Como identificar ataque DOS netstat

Olá pessoal,

Abaixo um comando bem útil para ajudar identificar quando um servidor está sofrendo um ataque DDOS.
Utilizamos o netstat e filtramos a saída, contando quantas vezes ocorre a repetição de um determinado IP.

netstat -an | grep :80 | awk ‘{ print $5 }’ | awk -F: ‘{ print $1 }’ | sort | uniq -c | sort -n

Acima o comando busca por conexões na porta 80 (apache). É possível fazer variações para porta 110 (POP3), 25 (SMTP), etc.

Um exemplo do retorno do comando:
1 189.11.86.52
1 189.12.128.106
1 189.13.118.121
1 189.34.192.23
1 200.171.30.244
1 200.223.3.222
1 201.42.81.165
1 201.50.225.67
2 189.13.53.29
2 189.19.21.33
2 189.47.244.77
2 189.47.25.91
2 201.50.82.14
3 189.26.6.198
3 189.71.40.199
3 200.169.127.134
3 201.50.128.11
3 201.68.83.222
5 189.13.136.149
5 201.12.48.140
5 201.23.198.121
6 201.50.200.66
8 201.21.19.105
9 189.40.97.213
17 201.82.116.205
22 201.82.217.20
23 200.181.30.44
25 201.50.97.152
26 189.13.245.6

Abraços!

Monitorar usuário nobody no envio de e-mails PHP

Olá pessoal,

Já tive problemas no passado para identificar de qual site hospedado em meu servidores estava partindo SPAM, já que todos os e-mails na fila tinha o usuário nobody.
O SPAM em sites php pode ser enviados pelo próprio dono do site ou por uma vulnerabilidade na programação, que permite o spammer fazer um include de um código para evio de e-mails.
Um exemplo:
http://www.exemplo.com/index.php?pagina=http://www.uol.com.br
Se acessar um endereço assim e abria a página do UOL no meio do site, ele está vulnerável!
Depois de muito procurar, encontrei uma solução genial na internet, e acom algumas modificações estou espondo aqui.
Pena que não lembro o site onde encontrei. Poderia por as referências.

Mãos a obra!

1 – Logar como root no servidor.
2 – Criar um arquivo que será o repsonsável por chamar o sendmail e gravar os logs.
vi /usr/sbin/sendmail.exe
Continue lendo

Backup MySQL pela shell DUMP

Para fazer Dump do MySQL pela shell.
Altere SENHA_MYSQL pela senha de seu servidor MySQL.

DUMP DE BASE DE DADOS INDIVIDUAL:
– Gerando o backup:
mysqldump -uroot -pSENHA_MYSQL BASEDADOS > backup.sql

– Restaurando o backup:
mysql -uroot -pSENHA_MYSQL BASEDADOS < backup.sql

DUMP DO SERVIDOR MYSQL INTEIRO:
– Gerando o backup:
mysqldump -uroot -pSENHA_MYSQL –all-databases -f > backup-online.sql

– Restaurando o backup:
mysql -uroot -pSENHA_MYSQL < backup-online.sql

* A opção -f continua caso ocorram erros.