Skip to content
AppUnix

Tag: cpanel

Encontrando e excluindo arquivos error_log

24/09/2021 by OwnServer

Bom dia a todos.

Quem trabalha com cPanel,DirectAdmin e/ou quaisquer outros tipos de servidores webs (bem configurados) sabem que quando um erro é gerado um log é automaticamente gerado.
Na maioria das vezes esse log é armazenado em um arquivo chamado error_log, quando não monitorado esse arquivo pode chegar a tamanhos astronômicos (+1GB).

Se você tiver muitas contas no servidor fazer isso manualmente é inviável, por isso utilizaremos o “FIND” para que faça o trabalho duro para nós.

Primeiramente vamos listar os arquivos (e testar o comando por precaução rs..)

Listando os arquivos error_log
1
find /home/*/public_html/ -type f -iname error_log -exec du -sh {} \;

Após a execução do comando acima você deve ter um output semelhante ao abaixo

Shell

Tendo nosso comando validado é hora de executar a limpeza, para isso também utilizaremos o find para com um argumento final de exclusão.

Localizando e excluindo error_log
1
find /home/*/public_html/ -type f -iname error_log -delete

E prontinho, todos os arquivos error_log serão excluídos de forma automatizada poupando tempo.

Caso queira, também é possível que você faça isso através de uma Cron.
Nos servidores que administro eu configuro para que uma cron seja executada 1x a semana (Domingos).

Para isso basta você adicionar a seguinte linha a sua cron

1
* 21 * * 0 /bin/find /home/*/public_html/ -type f -iname error_log -delete > /dev/null 2>&1

Obs: Na cron acima ele realizará o processo de busca e exclusão todos os Domingos as 21:00.
Lembrando que você pode ajustá-la conforme sua necessidade.

Após adicionar a cron lembre-se de reiniciar o crond.

Como listar contas de e-mail no cPanel

03/09/2019 by OwnServer

 

A um tempo atrás eu precisava exportar os e-mails de um determinado domínio para que então pudesse importar em um sistema de AntiSpam (SpamExperts).

Dando uma pesquisada na internet encontrei um script bem simples e fácil de ser utilizado onde ele listará de maneira organizada todas as contas existentes no servidor (para todos os domínios).

Para utilizar o script basta criar um arquivo (ex: listar-contas.sh) e colar o conteúdo abaixo.
Após isso basta executar um bash listar-contas.sh , vale lembrar que é necessária permissão para executar o script.

Se quiser salvar o resultado em um arquivo de texto por exemplo basta executar bash listar-contas.sh >> arquivo.txt

listar-contas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash
 
OWNER=$@
KONTA=`ls -1A /var/cpanel/users/`
 
count=1
for x in `echo -n "$KONTA"`;do
  wiersz=`grep -i ^dns /var/cpanel/users/"$x" |cut -d= -f2`
  DOMAIN[$count]=$wiersz
  count=$[$count+1]
  echo "Login:        `echo "$x"`"
 
 
    for i in `echo "${DOMAIN[@]}" | sed  's/ /\n/g'`;do
      for n in ` ls -A /home/"$x"/mail/"$i"/ 2>/dev/null`;do
 
           if   [ "$n" == "cur" ];then echo "$n" > /dev/null
           elif [ "$n" == "new" ];then echo "$n" > /dev/null
           elif [ "$n" == "tmp" ];then echo "$n" > /dev/null
           elif [ "$n" == "" ];then echo "$n" > /dev/null
           else
           echo  "$n"@"$i"
           fi
      done
    done
    echo;echo;
done

Como alterar a porta de FTP no WHM/cPanel?

29/11/2018 by OwnServer

Ultimamente alguns servidores que administramos vem sofrendo com ataques de Botnets fazendo bruteforce na porta 21 (padrão ftp), como os ataques são automatizados e sempre na porta 21 uma das soluções que decidimos tomar é alterar a porta de comunicação do servidor FTP e bloquear a porta padrão em nosso firewall.

Se você está sofrendo com o mesmo tipo de problema e precisa alterar a porta padrão, basta seguir as informações abaixo onde explicaremos como alterar a porta padrão dos 2 servidores de FTP comuns nos servidores que rodam WHM/cPanel.


PURE-FTPD

Se você está utilizando o Pure-ftpd como servidor de FTP você precisará editar a configuração do Bind contidas em /etc/pure-ftpd.conf

1
2
# IP address/port to listen to (default=all IP and port 21).
Bind 21

para qualquer valor desejado como no exemplo (233) abaixo

1
2
# IP address/port to listen to (default=all IP and port 21).
Bind 233

PRO-FTPD

Se você está utilizando o ProFTPD então precisará editar a configuração Port contida no arquivo /etc/proftpd.conf

1
Port                            21

para qualquer valor desejado como no exemplo (233) abaixo

1
Port                            233

Feita as alterações basta você reiniciar o serviço do FTP para que as mesmas sejam aplicadas

1
/scripts/restartsrv_ftpserver

Obs: Vale lembrar que é necessária a liberação da porta escolhida no seu firewall.

Como bloquear emails no exim/cpanel?

29/05/2017 by OwnServer

Se igual a mim você tem um sério e recorrente problema com SPAM por empresas enviando besteiras perguntando se você leu seu email anterior e que a “grande proposta” que eles fizeram antes ainda está disponível e bla bla bla..

Este tipo de SPAM é tão chato porque eles são tão insistente em obter resposta mas você simplesmente quer que eles desapareçam!!

Bem, agora você pode forçá-los a ir sumir para sempre, isto obviamente só funciona para empresas que estão enviando e-mails de seus próprios domínio em vez de contas do Gmail ou Hotmail genéricos, mas é muito eficaz já que nenhum e-mail desses domínios bloqueados não serão entregues a qualquer conta no seu servidor.

Eu pesquisei e encontrei alguns guias on-line mas foi realmente confuso, então eu pensei que eu iria criar o meu próprio guia detalhando como bloquear e-mails através de regras do Exim dentro do cPanel/WHM.

Siga o passo a passo abaixo:

 

Criando o arquivo de bloqueio

 

1.1- Crie o arquivo da blacklist (onde ficarão os domínios a serem bloqueados)
Obs: Você precisará de acesso ssh com permissões de root.

Criando o arquivo de bloqueio
1
nano /etc/exim_blacklist

Adicione os domínios que deseja bloquear, sempre um por linha.

Adicionando domínios (um por linha)
1
2
3
dominio1.com.br
dominio2.com
dominio3.ru

Obs: Sempre que adicionar um novo domínio na lista não se esqueça de reiniciar o Exim.

 

Configurando o Exim

 

Aqui é onde a mágica acontece, configuraremos o exim para capturar os domínios da lista criada acima e então ignorar todo e qualquer e-mail vindo dos domínios listados.

2.1 – Faça login em seu WHM , acesse Service Configuration >> Exim Configuration Manager e clique na aba Advanced Editor como mostra a imagem abaixo

Configuração Avançada do Exim

Primeiro campo: domainlist exim_blacklist
Segundo campo: lsearch;/etc/exim_blacklist

2.2 – Desça a página e procure por um botão grande e Azul que diz + Add additional configuration setting

2.3 – Ao clicar no botão 2 campos aparecerão, no primeiro campo você deverá inserir a lista criada e na segunda o local onde o Exim deverá pesquisar os domínios a serem bloqueados.

2.4 – Desça um pouco a página e procure por um campo (grande) que diz “Section: PREROUTERS”, na caixa de texto que há abaixo insira as seguintes linhas:

Insira as seguintes linhas no campo PREROUTERS
1
2
3
4
5
6
reject_domains:
driver = redirect
# RBL Blacklist incoming hosts
domains = +exim_blacklist
allow_fail
data = :fail: Connection rejected: SPAM source $domain is manually blacklisted

3.- Desça a página até o final e clique no botão “Save” para salvar as configurações do item 2 e reiniciar o Exim.

Você pode adicionar quantos domínios desejar no arquivo /etc/exim_blacklist desde que se respeite a condição de um domínio por linha.
Sempre que realizar alteração no arquivo lembre-se de reiniciar o Exim (como precaução).

——————————————————————————–

Nos logs do Exim (/var/log/exim_mainlog) sempre que um e-mail de determinado domínio (da blacklist) for bloqueado gerará um log semelhante ao abaixo:

1
2
3
4
5
2017-05-28 09:58:01 H=xxxxxxxxxxx.com.br [yyy.yyy.yyy.yyy]:56567 sender verify fail for <nome@dominio.com.br>: Connection rejected: SPAM source xxxxxxxxxxx.com.br is manually blacklisted
2017-05-28 09:58:01 H=xxxxxxxxxxx.com.br [yyy.yyy.yyy.yyy]:56567 X=TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256 CV=no F=<nome@dominio.com.br> rejected RCPT <destinatario@dominio.com.br>: Sender verify failed
2017-05-28 09:58:02 H=xxxxxxxxxxx.com.br [yyy.yyy.yyy.yyy]:56567 Warning: "Detected session with all messages failed"
2017-05-28 09:58:02 H=xxxxxxxxxxx.com.br [yyy.yyy.yyy.yyy]:56567 Warning: "Increment slow_fail_block Ratelimit - xxxxxxxxxxx.com.br [yyy.yyy.yyy.yyy]:56567 because of all messages failed"
2017-05-28 09:58:02 SMTP connection from xxxxxxxxxxx.com.br [yyy.yyy.yyy.yyy]:56567 closed by QUIT

Obs: Obviamente ocultei as informações de IPv4 e domínios.

CONCLUSÃO

Com a configuração acima todos os e-mails que correspondem aos domínios na lista serão ignorados, o remetente não vai saber, você não vai saber e você pode continuar o seu trabalho em total paz.

Como deletar emails de uma conta específica no EXIM

23/11/2016 by OwnServer

Olá pessoal, seguindo nossa série de dicas vamos postar neste instante uma dica simples para os sysadmins, mas que é muito útil quando precisamos limpar dados desnecessários na fila de emails (tornando outros emails lentos).

Vamos lá, em primeira mão iremos simplificar o uso do comando com algumas informações:

1
/usr/sbin/exim -bpru | grep ‘root’ | awk {‘print $3′} | xargs /usr/sbin/exim -Mrm

Antes do pipe “|” percebemos que estamos pedindo os remetentes da fila de email, após o pipe estamos recebendo o argumento (email) e no último pipe estamos usando o xargs (comando que serve para receber a saída de um comando e aplicar outro), logo, recebemos a saída do comando como remetentes e estamos aplicando o comando do exim de remoção de mensagens. Citamos a conta root pois deletamos algumas notificações, mas no lugar de root poderia ser emaildousuário@qualquercoisa.com.br.

Há dicas na Web que recomendam aplicar frozen nos emails e depois remover todos os emails frozen, porém, remover emails congelados torna-se perigoso pois grande parte deles pode estar congelado pelo simples fato do servidor de destino ter apresentado alguma falha e em seguida será restabelecido para receber a nova tentativa de envio, removendo você tira toda chance disto acontecer.

WARNING: ‘require ‘rake/rdoctask” is deprecated. Please use ‘require ‘rdoc/task’

23/11/2016 by OwnServer

Em um ambiente CPANEL se isto estiver ocorrendo você necessitará de um downgrade no Rake.

Para isto, você deve saber a exata versão do rake do seu Ruby on Rails, no meu caso de exemplo:

 

1
gem uninstall rake -v 0.9.2.2 

1
gem uninstall rake -v 0.9.2 

1
 

Rode os dois comandos acima para tentar achar a versão 0.9.2, por exemplo, depois de feitos os comandos use o comando para instalar o rake mais antigo:

1
gem install rake -v 0.8.7

1
 

1
Feito isto é só alegria!

localhost.localdomain.com CPANEL criando ou deletando contas

23/11/2016 by OwnServer

Se ao criar ou deletar uma conta no CPANEL você está recebendo a mensagem new account on localhost.localdomain.com, se já colocou entrada A e ajustou todo dns do servidor e ainda recebe esse tipo de erro, no problem, é simples de se resolver.

Entre no arquivo /etc/wwwacct.conf e no final dele mude de localhost.localdomain.com para meuhostname.domíniodoservidor.com.br

Pronto!

:)

MySQL server has gone away

23/11/2016 by OwnServer

Seu mysql anda estranho quando você está tentando fazer upload de um arquivo enorme via console (na verdade o restore, ou seja, mysql -u usuario -p nomedobdprarestaurar < arquivo.sql)???

Bem, se a mensagem de erro for esta -> MySQL server has gone away NÃO precisa entrar em pânico, só existem 2 coisas que são feitas e sanam tranquilamente o erro:

1 – entre no /etc/my.cnf (ou arquivo de configuração do mysql) e informe set-variable = max_connections=1500

Isto vai liberar para 1500 conexões concorrentes no mysql.

2 – Se o erro persistir, no mesmo arquivo informe:

max_allowed_packet = 5000000000

Você estará liberando uploads/restore/dumps de 1gb de tamanho.

Depois disso, reinicie o mysql (normalmente service mysql restart) e corra para o abraço.

 

Ah, se quiser ver qual valor ficou setado (só para conferir depois do restart use):

mysql> SHOW VARIABLES LIKE ‘max_allowed_packet’;

localhost did not have any working mirrors. Please check your internet connection or dns server. at /usr/local/cpanel/Cpanel/HttpRequest.pm line 596.

23/11/2016 by OwnServer

Se toda vez que você tenta rodar o EASYAPACHE esse erro é exibido, nada de pânico, existem 2 coisas a serem verificadas ( erro é localhost did not have any working mirrors. Please check your internet connection or dns server. at /usr/local/cpanel/Cpanel/HttpRequest.pm line 596. ):

Vá no /etc/resolv.conf e adicione isto no começo do arquivo:

nameserver 8.8.8.8
nameserver 8.8.4.4

Ambos são dns da GOOGLE.
Tente novamente, se não rodar é por que seu arquivo /etc/hosts tem uma entrada de ip inválida ou um host inválido para o nome do seu servidor, quando na verdade deve ficar como loopback, veja um exemplo de COMO deveria ser o seu /etc/hosts:

1
2
127.0.0.1               localhost localhost.localdomain
ip.da.internet.publico          hostname.domeudomínio.com.br hostname

 

CPANEL ERROR with rpm_check_debug vs depsolve: libcups.so.2()(64bit) is needed by gtk2-2.18.9-10.el6.x86_64

23/11/2016 by OwnServer

Se o erro que surge para você, ao usar o YUM é este:

ERROR with rpm_check_debug vs depsolve:

libcups.so.2()(64bit) is needed by gtk2-2.18.9-10.el6.x86_64… (onde … são inúmeros erros), se estiver usando CENTOS é por que os pacotes gtk estão colidindo.
Para sanar seu YUM (isso eu recomendo SOMENTE em servidores que não precisamos de tais pacotes), procure por /etc/yum.conf, dentro dele, na parte inicial tem o exclude, depois de apache* coloque gtk* (seguindo o ritmo de espaços entre regras de exclusão de pacotes a não sofrerem alterações).

Depois disso, yum update -y

Navegação por posts

  • 1
  • 2
  • Next

Pesquisa

Categorias

  • Blog
  • cPanel
  • How Tos
  • Linux
  • Mac Os
  • MySQL
  • Wordpress

#Apoiadores

Patrocinador

Registre-se e ganhe $25



© 2022 AppUnix | Built using WordPress and MxGuard