Archive for the ‘whmcpanel’ Category

Exim R=lookuphost defer (-1): host lookup did not complete

Wednesday, December 28th, 2011

Para resolver esse problema entre no /etc/resolv.conf, comente seus antigos dns e use os do google:

 

nameserver 8.8.8.8

nameserver 8.8.4.4

Como deletar fila de emails por domínio junto ao Cpanel / EXIM mail server

Tuesday, October 11th, 2011

Por vezes encontramos trouxas fazendo spam, lotam a fila e acham que iremos deletar tudo e ferrar com a vida de quem envia emails corretamente.
Vamos acabar com a festa de um domínio spammer que lotou a fila do srv?

Como root faça:

exiqgrep -ir email_do_sadado@dominiodoporco.com.br | xargs exim -Mrm

 

Isso vai limpar a fila do porco!

Failed to set sender: EMAIL@DOMÍNIO.COM [SMTP: Failed to write to socket: not connected (code: -1, response: )]“

Thursday, October 6th, 2011

Failed to set sender: EMAIL@DOMÍNIO.COM [SMTP: Failed to write to socket: not connected (code: -1, response: )]”

Se você está recebendo este erro basta acessar seu WHM -> ir nos plugins -> CSF e  nas configurações do CSF procurar por SMTP_ALLOWLOCAL, normalmente isso está setado como 0 (zer0 = DESATIVADO), digite 1 para ativar e boa!
Abraços galera.

Sorry, we were unable to transfer the account. Information about account_username’s primary domain is either missing or corrupt

Wednesday, October 5th, 2011

Sorry, we were unable to transfer the account. Information about account_username’s primary domain is either missing or corrupt

Se essa é sua mensagem no momento de restore e você tem certeza que:

1 – seu backup .TAR.GZ tá redondo,

2 – conta não foi criada ainda (não existe uma que usa o mesmo login).

 

Use:

/scripts/restorepkg –force login_do_cliente

Abraços galera ;)

Error from park wrapper: Using nameservers with the following IPs: … Tentando adicionar domínios parkeados (estacionados)

Monday, October 3rd, 2011

Para cpanel pt_br, o rvskin mostra esta mensagem:

 

Error from park wrapper: Usando Servidor de Nomes com os seguintes IPs: IP_DO_DNS1,IP_DO_DNS2 Sorry, the domain is already pointed to an IP address that does not appear to use DNS servers as sociated with this server. Please transfer the domain to this servers nameservers or have your administrator add one of its nameservers to /etc/ips.remotedns and make the proper A entries on that remote nameserver.

Naaaaaaaaaaaaaada de Pânico, sanar essa parada é fácil.

Abra o whm como root e em TWEAK SETTINGS clique em DOMAINS e deixe ON a opção:

Allow Remote Domains

Depois disso você vai enviar uma caixa de bis para mim ;) .

Como observar quem está acessando o roundcube no cpanel?

Friday, September 30th, 2011

Para identificar quem está acessando seu roundcube use:

egrep "GET (/cpsess[0-9]+)?/3rdparty/roundcube/\?.* HTTP/1.[01]" /usr/local/cpanel/logs/access_log

Para saber quais são os ips que estão acessando o roundcube:

pgrep -l -f webmaild

Para saber qual versão do roundcube:

grep -H '' /usr/local/cpanel/version /var/cpanel/roundcube/version
egrep "GET (/cpsess[0-9]+)?/3rdparty/roundcube/\?.* HTTP/1.[01]" /usr/local/cpanel/logs/access_log

Fullbackup parando no meio do caminho em algumas contas no CPANEL

Saturday, September 24th, 2011

Existe uma coisa estranha, e acontece mais do que imaginamos!

Já viu um fullbackup simplesmente parar no meio do caminho (pkgacct via console, por exemplo)?

Ou um user reclama que o backup está incompleto ou foi restaurar e o site não funfa mais? (um cms, por exemplo, como wordpress)

Isto ocorre em detrimento a limites do mysql (normalmente é esta a causa) no momento de gerar o dump, veja mais abaixo.

Um passo a segu1r é o seguinte, como root devemos executar o seguinte comando:

tail -f /usr/local/cpanel/logs/error_log

Se a saída do log (recomendo fazer isso via screen, por exemplo) for essa:

Script::Pkgacct::__ANON__() called at /scripts/pkgacct line 2154
Script::Pkgacct::run_dot_event(CODE(0x2b3d547e1050)) called at /scripts/pkgacct line 1141
Script::Pkgacct::script(‘Script::Pkgacct’, ‘LOGINDOCLIENTE‘) called at /scripts/pkgacct line 85
[UMA DATA] warn [pkgacct] LOGINDOCLIENTE_NOMEDOBD: mysqldump: Couldn’t execute ‘SHOW TRIGGERS LIKE ‘bl\_NOMEDOBD”: Got error 28 from storage engine (1030)
at /scripts/pkgacct line 1535
Script::Pkgacct::_check_error_file(‘LOGINDOCLIENTE_NOMEDOBD‘, ‘/home/cpmove-LOGINDOCLIENTE/mysql/LOGINDOCLIENTE_NOMEDOBD.sql.err’) called at /scripts/pkgacct line 1504
Script::Pkgacct::mysqldumpdb(HASH(0x2b3d547e1000)) called at /scripts/pkgacct line 1138
Script::Pkgacct::__ANON__() called at /scripts/pkgacct line 2154
Script::Pkgacct::run_dot_event(CODE(0x2b3d547e1050)) called at /scripts/pkgacct line 1141
Script::Pkgacct::script(‘Script::Pkgacct’, ‘LOGINDOCLIENTE‘) called at /scripts/pkgacct line 85

É simples de sanar!

Entre no /etc/my.cnf e comente as linhas que limitam uso de memória de cache (principalmente as de querys) do mysql.
Feito isto:

service mysql restart

Depois mande gerar o backup!

 

Se o problema não for resolvido veja se o erro é de EOF (end of file), se isso rolar, analise o disco, ou load (i/o no geral), pois pode ser falha no disco ou overload.
Abraços galera.

Roundcube causando Overload no Cpanel, como resolver?

Monday, September 19th, 2011

É bem verdade que o vilão da história não é o roundcube e sim o mysql que causam overload. Mysql tem uma regra padrão de cada query esperar a outra terminar, por isso, imagine 500 domínios acessando o roundcube e fazendo a festa?

É possível sanar sim e de maneira tranquila o overload.

O que fazer?

Entre como root no seu servidor whm/cpanel e rode:

/scripts/convert_roundcube_mysql2sqlite

 

Se por ventura rolar algum erro faça o procedimento forçando-o (update do roundcube):

 

/usr/local/cpanel/bin/update-roundcube-sqlite –force

 

Outra coisa MUITO importante:

FAÇA UM DUMP DA BASE DE DADOS DO ROUNDCUBE, isso vai garantir que você tenha qualquer BD para uma possível volta ao mysql (acho BEM difícil, lol)

Para saber se o SQLITE é padrão no mysql use:

grep roundcube_db /var/cpanel/cpanel.config

Abraços e espero ter ajudado.

 

 

/usr/sbin/repquota -auv consumindo toda cpu (100%) OVERLOAD CPANEL

Monday, August 1st, 2011

É, pessoALL, apesar do foco hoje estar 100% no http://www.appunix.com.br ainda uso este blog para dar algumas dicas (FREE) sobre WHM/CPANEL, e uma delas é baseada em um erro que acaba com a alegria de qualquer brazuca (ou sysadmin), um processo irritante que consome 100% da cpu. Este processo é o /usr/sbin/repquota -auv, o qual o cpanel o executa sozinho, do nada (e como quem quer nada), lol, e o pior, não adianta dar killall, kill -9, kill np que ele não encerra, isto é fato!!! Vamos parar de preencher a linguiça e sanar o negócio?

Bem, alguns passos podem ser seguidos para sanar, digamos que irei colocar do nível mais simples ao mais curioso de todos, ok?

Tente o seguinte [como root]:

rm /home/quota.group
rm /home/quota.user

/scripts/fixquotas

Se o processo ainda insistir em ficar como louco checa se seu disco está operando em ready only, uma forma de tentar isto é fazer assim:

touch /home/qualquercoisa e em seguida digitar stat /home/qualquercoisa, se mostrar somente leitura é hora de um reboot (e de preferência um fsck por parte do IDC).

Outro ponto extra é você executar o upcp –force e ver se o processo inicia, caso não, observe na hora (normalmente madrugada) se o processo executa e em seguida opera com o repquota, se isso ocorrer realmente é o versionamento ferrado, mude o estilo de update e faça upcp –force (normalmente release ou stable são os mais recomendados, troque um pelo outro e lembre-se de proteger com chattr os arquivos que lhe são importantes e o cpanel pode os sobrescrever (customizações, por exemplo, em temas do cpanel)).

Vamos finalizar com a dica mais extra?

lsattr /*.user

Se exibir proteções do tipo i–A, meu amigo, tira essa praga daí —-> chattr -iA /*.user

Com isso rode o comando na mão e veja que glorioso.

Se a glória não ocorrer você precisara aprofundar as coisas:

1. Identificar que partições estão usando sistema de quotas,
================
root@appunixlabs [~]# cat /etc/fstab | grep quota
LABEL=/ / ext3 defaults,usrquota 1 1
LABEL=/home /home ext3 defaults,usrquota 1 2
LABEL=/usr /usr ext3 defaults,usrquota 1 2
LABEL=/var /var ext3 defaults,usrquota 1 2
================

2. Reiniciar o Servidor e entrar em Single mode.

3. Rodar um fsck para cada partição (modo forçado)-> fsck -f /dev/sdX#

4. Recriar o sistema de journaling para cada partição. (tune2fs -O ^has_journal /dev/sdX#;tune2fs -O has_journal /dev/sdX#)

5. Rodar um fsck PADRÃO para cada partição.

6. rodar o comando /scripts/fixquotas

7. Reiniciar o sistema.

Ps: Se funcionar lembre-se que um whois neste domínio mostra minha casa, daí é só mandar uma caixa de bis do preto. (LOL)

Cpanel criando contas em outros diretórios diferentes do /home

Thursday, July 7th, 2011

Isso aconteceu recentemente comigo e a saída é entrar no conf /etc/wwwacct.conf e ordenar que somente o /home seja o diretório de criação de contas.

:)

Como fazer o exim processar emails mesmo com load alto no whm

Wednesday, April 13th, 2011

As vezes o exim pausa o seu envio afim de poupar recursos da máquina, que por default adentra neste estado a partir do load 3.
O único problema dessa brincadeira é que se o load estiver em 4 ele não envia nada com o padrão de velocidade na queue dele.
Como resolver isso?

Entre no conf do exim e procure pela linha:

deliver_queue_load_max = 3

3 é padrão.
Mude para o valor que achar melhor, recomendo algo até 8.
Abraços.

Nginxcp dando erro no momento da instalação

Wednesday, April 13th, 2011

Generating vhosts…
Traceback (most recent call last):
File “/scripts/createvhosts.py”, line 143, in ?
parsedDOC = minidom.parseString(DOC)
File “/usr/local/lib/python2.4/xml/dom/minidom.py”, line 1925, in parseString
return expatbuilder.parseString(string)
File “/usr/local/lib/python2.4/xml/dom/expatbuilder.py”, line 940, in parseString
return builder.parseString(string)
File “/usr/local/lib/python2.4/xml/dom/expatbuilder.py”, line 223, in parseString
parser.Parse(string, True)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 542, column 23
deploying booster rockets

Se sua mensagem de erro parece com essa, ou linha 152, ou mesmo em plataforma 64 bits, posso lhe dar uma notícia ruim?
NGINXCP só roda em CENTOS!

Se estiver usando redhat será só mais um sonho :’(

Como limpar todo o cache de updates do Cpanel (stable, release, current ou edge) sem problemas

Wednesday, April 13th, 2011

É muito comum na plataforma CPANEL/WHM manter um padrão de arquivos guardados em uma pasta para que, ao tentar rodar uma update você perceba algo veloz no tocante a baixar arquivos, na verdade a maior parte dos arquivos já está em cache :( .

Como resolver este problema?

rm -Rfv /home/.cpcpan /home/.cpan

Se por exemplo eu quiser reparar módulos perl e atualizar o cpanel já poderei perceber a mudança extremamente importante nos novos pacotes baixados em tempo real, faça um teste:

/scripts/checkperlmodules –force –full
/scripts/upcp –force

Os comandos acima foram testados e já estão em uso.
Não causam qualquer instabilidade a máquina ;) .
Abraços.

Como forçar fila de entrega do exim (tricks) comandos úteis do exim

Tuesday, April 12th, 2011

Abaixo descrevo uma pequena lista de comandos bem úteis do cpanel:

exim -bp —-> Este comando recebe os IDs das mensagens relevantes que você precisa enviar (na verdade as que estão na fila de emails),
exim -M IDdoEmaildaFiladeEMAILS —-> Com o id somado a este comando você envia um email em específico em caráter imediato ;) .
exim -qf —-> envia a fila de emails toda,
exim -qff —-> esse comando ordena que emails congelados tenham uma ordem de envio imediato,
exim -Mvl IDdoEmaildaFiladeEMAILS —-> Vê o log da mensagem especificada pelo seu respectivo ID,
exim -Mvb IDdoEmaildaFiladeEMAILS —-> Mostra o corpo da mensagem referenciada por seu ID,
exim -Mvh IDdoEmaildaFiladeEMAILS —-> Mostra o cabeçalho da mensagem ordenada por seu ID,
exim -Mrm IDdoEmaildaFiladeEMAILS —> Remove a mensagem especificada por seu ID,
exim -Mg —> prepara mensagens para o envio usando seu ID (mensagens que falharam).

exim -v -Rff nomedodomínio.com.br —-> Esse comando faz com que o exim processe todas as mensagens de um domínio específico, neste caso nomedodomínio.com.br.

Instalando memcached de maneira simples no CentOs com CPANEL/WHM

Tuesday, March 8th, 2011

E quem disse que precisa de pânico?

Siga os passos como root:

yum update -y && yum install libevent libevent-devel -y
yum install libevent-devel libevent gcc make -y
wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
tar xvf memcached-1.4.5.tar.gz && cd memcached-1.4.5 && ./configure && make && make install

Inserindo valores no conf:

vim /etc/memcached.conf

Dentro do conf informe:

#Memory a usar
-m 16
# default port
-p 11211
# user to run daemon nobody/apache/www-data
-u nobody
# only listen locally
-l 127.0.0.1

criando scripts de inicialização:

touch /etc/init.d/memcached
dando permissões ao script:
chmod +x /etc/init.d/memcached

Abra o script /etc/init.d/memcached e insira nele:

#!/bin/bash
#
# memcached This shell script takes care of starting and stopping
# standalone memcached.
#
# chkconfig: - 80 12
# description: memcached is a high-performance, distributed memory
# object caching system, generic in nature, but
# intended for use in speeding up dynamic web
# applications by alleviating database load.
# processname: memcached
# config: /etc/memcached.conf
# Source function library.
. /etc/rc.d/init.d/functions
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/memcached
DAEMONBOOTSTRAP=/usr/local/bin/start-memcached
DAEMONCONF=/etc/memcached.conf
NAME=memcached
DESC=memcached
PIDFILE=/var/run/$NAME.pid
[ -x $DAEMON ] || exit 0
[ -x $DAEMONBOOTSTRAP ] || exit 0
RETVAL=0
start() {
echo -n $"Starting $DESC: "
daemon $DAEMONBOOTSTRAP $DAEMONCONF
RETVAL=$?
[ $RETVAL -eq 0 ] && touch $PIDFILE
echo
return $RETVAL
}
stop() {
echo -n $"Shutting down $DESC: "
killproc $NAME
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $PIDFILE
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit $RETVAL

Criando script secundário:
touch /usr/local/bin/start-memcached
Dando permissões ao script:
chmod +x /usr/local/bin/start-memcached

Abra o script /usr/local/bin/start-memcached e dentro dele informe:


#!/usr/bin/perl -w
# start-memcached
# 2003/2004 - Jay Bonci
# This script handles the parsing of the /etc/memcached.conf file
# and was originally created for the Debian distribution.
# Anyone may use this little script under the same terms as
# memcached itself.
use strict;
if ($> != 0 and $< != 0) {
print STDERR "Only root wants to run start-memcached.\n";
exit;
}
my $etcfile = shift || "/etc/memcached.conf";
my $params = [];
my $etchandle;
# This script assumes that memcached is located at /usr/bin/memcached, and
# that the pidfile is writable at /var/run/memcached.pid
my $memcached = "/usr/local/bin/memcached";
my $pidfile = "/var/run/memcached.pid";
# If we don't get a valid logfile parameter in the /etc/memcached.conf file,
# we'll just throw away all of our in-daemon output. We need to re-tie it so
# that non-bash shells will not hang on logout. Thanks to Michael Renner for
# the tip
my $fd_reopened = "/dev/null";
sub handle_logfile {
my ($logfile) = @_;
$fd_reopened = $logfile;
}
sub reopen_logfile {
my ($logfile) = @_;
open *STDERR, ">>$logfile";
open *STDOUT, ">>$logfile";
open *STDIN, ">>/dev/null";
$fd_reopened = $logfile;
}
# This is set up in place here to support other non -[a-z] directives
my $conf_directives = {
"logfile" => \&handle_logfile
};
if (open $etchandle, $etcfile) {
foreach my $line (<$etchandle>) {
$line =~ s/\#.*//go;
$line = join ' ', split ' ', $line;
next unless $line;
next if $line =~ /^\-[dh]/o;
if ($line =~ /^[^\-]/o) {
my ($directive, $arg) = $line =~ /^(.*?)\s+(.*)/;
$conf_directives->{$directive}->($arg);
next;
}
push @$params, $line;
}
}
unshift @$params, "-u root" unless (grep $_ eq '-u', @$params);
$params = join " ", @$params;
if (-e $pidfile) {
open PIDHANDLE, "$pidfile";
my $localpid = ;
close PIDHANDLE;
chomp $localpid;
if (-d "/proc/$localpid") {
print STDERR "memcached is already running.\n";
exit;
} else {
`rm -f $localpid`;
}
}
my $pid = fork();
if ($pid == 0) {
reopen_logfile($fd_reopened);
exec "$memcached $params";
exit(0);
} elsif (open PIDHANDLE,">$pidfile") {
print PIDHANDLE $pid;
close PIDHANDLE;
} else {
print STDERR "Can't write pidfile to $pidfile.\n";
}

Inicie o memcached:
/etc/init.d/memcached restart

Vamos setar o memcached para iniciar com o server:
/sbin/chkconfig memcached on

Agora vamos integrar pecl + memcached (parte do PHP):

wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar xvf memcache-2.2.5.tgz && cd memcache-2.2.5 && phpize && ./configure && make && make install

abra o arquivo php.ini global do server e vamos arrumar a muamba:

vim /usr/local/lib/php.ini

Procure pela parte de Extension e informe o seguinte:

extension=memcache.so

Reinicie o apache:

service httpd restart

Pronto, depois disso é so lazer.

Quer conferir?

vim teste.php
Dentro dele informe



php -f test.php | grep “memcache support”

A saída será:

memcache support => enabled

Fonte? Sim, os caras mais pauleiras de hosting que já vi (tirando Softlayer, é claro):

http://sudomakeinstall.com/linux-systems/install-memcached-to-cpanel

DOMAIN CONFLICT: owned by – the copy failed! Account Restore Failed… Restore failed.

Wednesday, February 16th, 2011

Para resolver este problema em seu Cpanel/WHM não é tão difícil assim.
Um dos fatores principais deste erro sem dúvidas é alguma zona de DNS que o domínio que você tentou restaurar o backup ainda existe.
Para descobrir isso procure na área de DNS (DNS Functions) a opção Delete a DNS zone.
Coloque o nome do domínio que você queria restaurar os backups.
Em seguida delete a zona de DNS confirmando.
O problema deverá estar sanado.

Arquivos tar.gz de backup cpanel apresentando erro sempre que tento extrair com tar -zxvf

Tuesday, February 15th, 2011

Se você tem certeza que os arquivos estão filé faça:

df -h

Se o disco de backup estiver cheio, please, limpe-o para depois trabalhar com os arquivos.
Perceba que a mensagem de que não consegue abrir com o tar só é desmascarada quando você usa o comando “star -acl -x -f conta.tar.gz”
Aí é só lazer ;) .

Depois disso é só preparar o whois no nerdblog.info e mandar aquela caixa de bis ;) .

Como limpar toda fila de emails (mail queue) do EXIM via SSH (Console)

Saturday, January 29th, 2011

Logue-se como root em seu servidor.

Em seguida digite:

exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | bash

Outro comando útil é:
exim -bp | exiqgrep -i | xargs exim -Mrm

RoundCube não está permitindo excluir mensagens. Pastas Trash, Send e Junk (lixeira, enviados e rascunho) não aparecem

Friday, May 21st, 2010

Se você não consegue ver as pastas do RoundCube “seus problemas SE ACABARAM-SE”.
O bendito, em sua versão stable (quase 100% stable) está com uma linda opção em off (FALSE).

Na pasta …roundcube/config/main.inc.php (se for no ispconfig: /home/admispconfig/ispconfig/web/roundcubemail/config/main.inc.php)
Apresentará este array aqui:

// automatically create the above listed default folders on login
$rcmail_config['create_default_folders'] = FALSE;

Salve seu dia assim:

$rcmail_config['create_default_folders'] = TRUE;

Pronto :D

Roundcube fixed!

Para tristeza do meu coração: Apache será vendida

Thursday, April 1st, 2010


Senhores, para minha total tristeza a Apache será vendida.
O que será dos amantes deste projeto?

vide:

http://blogs.apache.org/foundation/date/20100401