nav-left cat-right
cat-right
Como iniciar a instalação do CPanel no Servidor ...

Você pode instalar o cPanel em seu servidor dedicado linux, sem maiores complicações. cPanel é um painel de controle para hosting, comercial e bem utilizado. Com ele, administra-se serviços como:

  • Servidor de email exim;
  • Servidor de páginas eletrônicas;
  • Servidor de banco de dados mysql ou postgresql;
  • Servidor de DNS bind;
  • Dentre outros.

O gerenciamento do servidor é através de uma completa e funcional interface web, o que torna a administração dos recursos, muito mais fáceis. Vamos então, ao processo de instalação do CPanel.

(more…)

Verificando a fila de emails no Exim...

Para verificar o conteúdo da fila de emails no exim, através do SSH, faça:

Exibir o número total de mensagens da fila

exim -bpc

Lista completa de mensagens

exim -bp

Para verificar o conteúdo de um email, use:

Exibe o log da mensagem

exim -Mvl <message ID>

Exibe o corpo da mensagem

exim -Mvb <message ID>

Exibe o cabeçalho da mensagem

exim -Mvh <message ID>
Configurando wildcard em servidor com cPanel e Apa...

O tutorial abaixo é um guest post do nosso leitor: Rafael Viana. Visitem seu site: RafaelFPViana.com

Este tutorial serve para ajudar como configurar um domínio para funcionar da seguinte forma:

http://bobmarley.letrasdemusicas.com.br

http://blew.nirvana.letrasdemusicas.com.br

Ou seja, faz com que subdomínios sejam configurados para cair na mesma página do site principal, ao invés de serem configurados para utilizarem uma pasta na conta do cliente.

O que é necessário

  • Domínio em questão precisa estar registrado e com os dns apontando para o servidor
  • Acesso ao WHM como root
  • WHM com o ConfigServer Explorer instalado ou acesso SSH como root
  • Saber a versão do Apache
  • Saber o nome de usuário de FTP/[cPanel] para o domínio a ser instalado o wildcard

Configurando os DNS

  • Acesse o WHM e vá em Main >> DNS Functions >> Edit DNS Zone
  • Procure o domínio em questão na listagem e clique no botão Edit
  • Na primeira linha do formulário em Add New Entries Below this Line adicione um * (asterístico ) no primeiro campo
  • No terceiro campo onde está com a palavra Select, selecione a opção CNAME
  • Aparecerá um novo campo, coloque o endereço do site em que estamos instalando o wildcard sem o www e com um . (ponto), geralmente este campo é idêntico ao primeiro campo no início do formulário de edição de zona de dns, portanto poderá copiar e colar sem problemas.
  • Clique em Save
  • Pronto, dns configurado, estarei utilizando o domínio dominio.com.br como teste, portanto a minha linha ficou mais ou menos assim:
* 14400 IN CNAME dominio.com.br.

Configurando o Apache

  • Primeiramente cerfique-se que o ConfigServer Explorer está instalado, sem ele você terá que fazer por SSH
  • Se o ConfigServer Explorer estiver instalado, no campo Change Directory… digite /usr/local/apache/conf/

Diretórios

  • Caso o diretório userdata não exista em /usr/local/apache/conf/ iremos criar
  • Caso o diretório std não exista em /usr/local/apache/conf/userdata/ iremos criar
  • Agora iremos criar um diretório de acordo com a sua vesão do apache, ou seja, se o seu apache é versão 2.0.63 iremos crair o diretório 2, caso a versão seja 1.3.41 iremos crair o diretório 1, isso dentro de /usr/local/apache/conf/userdata/std/, para o exemplo irei criar o diretório 1.
  • Agora crie um diretório com o nome de usuário dentro /usr/local/apache/conf/userdata/std/1/, irei criar o diretório usuario como exemplo

Arquivo

Agora que estamos dentro do diretório do usuário /usr/local/apache/conf/userdata/std/1/usuario/ crie um arquivo chamado ServerAlias.conf

Dentro deste arquivo coloque o seguinte:

ServerAlias *.dominio.com.br

Salve o arquivo

Aplicando as configurações

Agora digite o seguinte comando, poderá ser feito por SSH ou até mesmo no ConfigServer Explorer no último campo do formulário, o campo Command:

perl /scripts/ensure_vhost_includes --user=usuario

Note que em –user= eu digitei usuario, este é o meu usuário de exemplo, troque para o nome de usuário que você está configurando o wildcard.

Finalizando

Agora basta reiniciar o Apache e aguardar a propagação dos DNS.

Identificando consultas lentas no MySQL (slow-quer...

O MySQL pode geralmente causar grandes problemas num servidor quando existem consultas que abusam do sistema.

Neste artigo ensinaremos a você como identificar corretamente as consultas (queries) que estão causando problemas para o servidor.

O servidor MySQL pode escrever um log contendo as consultas que demoram mais que “X” segundos. Porém, por padrão este recurso vem desabilitado.

Vamos ver como habilitar o recurso:

1. Log no seu servidor como root
2. Abra o arquivo my.cnf:

pico /etc/my.cnf

3. Dentro da seção [mysqld] adicione as seguintes linhas

log-slow-queries = /var/log/mysql-slow.log
long_query_time = 3

Isto é apenas um exemplo. Você pode usar qualquer nome de arquivo para o log. Você também pode estipular o tempo máximo de uma consulta. A partir deste tempo,a consulta será gravada. No nosso exemplo, colocamos 3 segundos.

4. Após as alterações, salve o arquivo.

No pico, faça: CTRL+X e YES

5. Agora nós temos que criar o arquivo de log.

touch /var/log/mysql-slow.log

6. Agora vamos mudar o dono do arquivo, para que o mysql tenha permissão de escrever nele.

chown mysql.root /var/log/mysql-slow.log

7. E então, reiniciamos o mysql

service mysql restart

O serviço deverá reiniciar corretamente. Caso não reinicie, veja se você fez tudo corretamente no arquivo my.cnf.

8. Aguarde alguns minutos e então examine o conteúdo do arquivo de log que foi criado.

Um exemplo de como fazer isto:

cat /var/log/mysql-slow.log
tail /var/log/mysql-slow.log
tail -50 /var/log/mysql-slow.log

Depois de identifica a consulta, otimize ou elimine ela.

Depois que identificar o problema, é recomendado que você remova a entrada referente a slow-queries no my.cnf (ou comente ela). Isto é importante, pois o uso de slow-queries degrada a performance do mysql. Você pode comentar o arquivo my.cnf:

#log-slow-queries = /var/log/mysql-slow.log
#long_query_time = 3

Não se esqueça de reiniciar o MySQL em seguida.

service mysql restart
Lançamento cpanel-fácil 0.0.1...

Lançado oficialmente hoje o script cpanel fácil 0.0.1.

A ideia do script é automatizar as rotinas de instação e configuração de servidores linux automatizados para WHM/cpanel. Nesta primeira versão de inauguração, o script executa automaticamente as seguintes rotinas:

1. Restringe o acesso a ssh para utilizar somente o protocolo 2
2. Desabilita o uso de register_globals no php.ini
3. Desabilita dl_function no php.ini
4. Desabilita funções consideradas perigosas no php.ini
5. Altera o limite máximo de upload em php
6. Restringe o acesso a diversos arquivos de sistema, melhorando a configuração
7. Instala e configura o APF Firewall

Acesse a página do script, em:

http://www.servidorgerenciado.com.br/cpanel-facil/

Usando o comando screen...

Antes de começar, eu vou informar a vocês o que podemos fazer usando o comando screen.

Como um linux sysadmin, é muito comum você ter a necessidade de rodar vários comandos de uma vez. Você provavelmente irá abrir várias sessões do ssh para isto, porém, existe uma maneira melhor, mais segura e recomendada.

Outra necessidade que frequentemente irá surgir, é rodar um comando ou script que levará horas para terminar, como por exemplo um rsync. Isto requer que vocÊ mantenha a conexão aberta no ssh, pois se você fechar, o script ou comando também se encerrará, o que pode ser um problema se você tiver a sua conexão a internet interrompida.

Face a estes problemas, podemos começar a apresentar a vocês o comando screen.

Screen - torna possível rodar vários pseudo terminais, manipular e salvar suas entradas e saídas no screen, além de copiar e colar entre as janelas.

Vou mostar como rodar um comando que leva horas, dentro de um screen.

Vamos primeiramente instalar o screen, usando yun, apt-get, ou algum gerenciador de pacotes que você tiver disponível.  Em nosso exemplo usaremos o yum.

yum install screen

Agora digite:

screen

Este comando iniciará uma nova janela dentro do screen para você. Você tem também a opção de iniciar o comando dando um nome a janela (parametro -S). Exemplo:

screen -S janela1

Neste caso, a janela se chamará “janela1″.

O screen funciona como qualquer outra sessão dentro do ssh. Você pode digitar qualquer comando agora, que irá rodar normalmente.

Se você quiser sair da sessão do screen, deixando-a ativa, e manter o comando que estava sendo executado, faça:

Ctrl-a d (pressione control +a, solte, e em seguida aperte d)

Então, quando você quiser voltar a janela screen, digite:

screen -r

Outras opções que você tem quando está dentro do screen são:

1. Para criar uma nova sessão:

Ctrl-a c

2. Para alterar entre as sessões:

Ctrl-a n

Existem outras possiblidades de uso. Para maiores informações e ajuda, você pode utilizar no seu terminal:

man screen
Como instalar PRM (Process Resource Monitor)...

O que é e como funciona PRM (Process Resource Monitor) ?

Em poucas palavras:

PRM monitora a tabela de processos ativos. Caso algum destes processos ultrapasse o recurso definido (memória, cpu ou numero de processos), um e-mail é enviado ao administrador e como opção o processo é interrompido.”Killado”.

As configurações do prm no arquivo “conf.prm” irão determinar algumas ações do PRM. Na pasta rules alguns processo são tratados separadamente com definições particulares aos mesmos.

O PRM (Process Resource Monitor) é  sem duvida alguma muito util para evitar alguns tipos de abusos e principalmente sobrecargas desnecessárias ao servidor.
Vamos a instalação:

No SSH root, faça o download do PRM:

 wget http://www.rfxnetworks.com/downloads/prm-current.tar.gz

Descompacte o arquivo:

 tar xvfz prm-current.tar.gz

Acesse a pasta e instale:

cd prm-0.5/
./install.sh

Neste ponto o PRM já estará instalado, agora vamos configurá-lo:

Edite o arquivo de configuração:

pico /usr/local/prm/conf.prm

Na opção:

# enable kernel logging [0=disabled,1=enabled]
USE_KLOG="0"

Mude para:

# enable kernel logging [0=disabled,1=enabled]
USE_KLOG="1"

Na opção:

# enable user e-mail alerts [0=disabled,1=enabled]
USR_ALERT="0"

Mude para:

# enable user e-mail alerts [0=disabled,1=enabled]
USR_ALERT="1"

**A função USR_ALERT “1″ irá habilitar o envio de e-mails de alerta ao Administrador caso algum processo ultrapasse o recurso definido.

Em:

# e-mail address for alerts
USR_ADDR="root"

Mude para:

# e-mail address for alerts
USR_ADDR="seuemail@dominio.com.br"

Na maioria das situações não será necessário fazer nenhuma outra modificação, abaixo estarei apenas fazendo uma descrição das funções (apesar de algumas serem bastante óbvias)

# path to user e-mail message file
USR_MSG="$INSPATH/usr.msg"

Este é o caminho do template para o “corpo do e-mail” de alerta que será enviado ao administrador.

# subject of e-mail alerts
SUBJ="Process status report from $HOSTNAME"

Este será o assunto do e-mail de alerta enviado ao administrador.
(A variável $HOSTNAME irá retornar o hostname de seu servidor.)

# check 5,10,15 minute load average. [1,2,3 respective of 5,10,15]
LC="1"

Este será o tempo que o PRM irá verificar o numero de processos ativos. Sendo:
1 = 5 minutos
2 = 10 minutos
3 = 15 minutos

# min load level required to run (decimal values unsupported)
MIN_LOAD="1"

Esta opção define o load mínimo para que o PRM seja ativado.

# seconds to wait before rechecking a flaged pid (pid's noted resource
# intensive but not yet killed).
WAIT="12"

Segundos para aguardar uma nova “rechecagem” de pids dos processos ativos.

# counter limit that a process must reach prior to kill. the counter value
# increases for a process flaged resource intensive on rechecks.
KILL_TRIG="3"

Limite que um processo precisa ser executado para que as regras do PRM sejam checadas.

# argument to pass onto kill commands
KARG="9"

Qual o argumento para o comando kill (padrão e recomendado 9).

# Max CPU usage readout for a process - % of all cpu resources (decimal values unsupported)
MAXCPU="40"

Máximo de CPU (em percentual) para iniciar a leitura das regras

# Max MEM usage readout for a process - % of system total memory (decimal values unsupported)
MAXMEM="20"

Máximo de Memoria (em percentual) para iniciar a leitura das regras

# Max processes for a given command - this is not max processes for user but rather the executable
MAXPS="25"

Máximo de processos para iniciar a leitura das regras.

Para finalizar , salve (ctrl+x y ) e saia do pico.

Germano P Ferreira
Administrador Linux

Como saber o numero de conexões ao servidor por i...

Esta é uma dica muito simples, porém acredito ser muito útil quando desejamos saber o numero de conexões ativas no servidor e assim killar possíveis abusos.

Digite no prompt de comando :

netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

Você verá uma lista como esta:

2 xx.xx.xxx.xxx.1
5 xx.xx.xxx.xxx.2
8 xx.xx.xxx.xxx.3
12 xx.xx.xxx.xxx.4
16 xx.xx.xxx.xxx.6
...

Sendo:
xxx. será o ip cliente e o numero antes do ip é referente ao numero de conexões em seu servidor.

Germano P Ferreira
Administrador Linux

Como criar um alerta por e-mail ao acessar o SSH c...

Abaixo vamos criar um alerta que será enviado a sua conta de e-mail toda vez que alguém efetuar login no SSH como root em seu servidor.

Efetue login no SSH de seu servidor como root.

Edite o arquivo .bashrc

pico /root/.bashrc

Após a ultima linha cole o texto abaixo modicando SeuServidor para Nome do Seu Servidor , e voce@seudominio
pelo seu e-mail :

echo 'ALERT - Acesso ao Root (SeuServidor) em:' `date` `who` | mail -s "Alerta: Acesso ao root por `who | cut -d"(" -f2 | cut -d")" -f1`" voce@seudominio

Salve e saia do pico( ctrl+x e y).

Feito. Quando alguém efetuar login em seu ssh como root, você receberá um e-mail informando o nome do servidor, IP de quem efetuou o login, hora e data.

Muito simples e sem duvida bastante util :)

Germano Pires Ferreira
Administrador Linux

Como instalar BFD (Brute Force Detection)...

BFD é uma ótima excelente solução para detectar e bloquear ataques do tipo “Brutal Force”

**Importante: Certifique-se de ter instalado e configurado o APF Firewall antes de instalar o BFD.

Abaixo vamos abordar a instalação e configuração deste simples porém muito util sistema.

Conecte no SSH de seu servidor como root:

cd /root/
wget http://www.rfxnetworks.com/downloads/bfd-current.tar.gz
tar -xvzf bfd-current.tar.gz
cd bfd-0.9
./install.sh

Após a instalação, vamos ao arquivo de configuração:

pico /usr/local/bfd/conf.bfd

Localize:

ALERT_USR="0"

mude para:

ALERT_USR="1"

Localize:

EMAIL_USR="root"

mude para:

EMAIL_USR="voce@dominio.com"

Salve e saia do pico (ctrl+x e y)

Para iniciar o bfd:

bfd -s

Germano P Ferreira
Administrador Linux

« Previous Entries