RoundCube está mostrando atualizando (updating) o tempo todo e não carrega os emails de uma conta

Standard

round cube logo

Bom, há uma infinidade de coisas que podem estar ocasionando isto, porém as mais prováveis são as que restringem-se a usar muitos recursos de um servidor WHM/Cpanel.
A saída é bem simples. No caso que cito a solução apliquei em um servidor que possuía uma conta de email com MUUUUUUUUUUUUUUUITAS mensagens e ocorria o loop infinito na hora que a pessoa logava-se no webmail Roundcube e tentava ver sua caixa de entrada. Ressalto que o roundcube usa e abusa do Ajax e isso demanda muito tempo de execução, CPU e ram, neste caso a saída é simples, edite o php.ini do WHM (não é o apache do servidor web dos home users /home/login/) ajustando-o para se adequar a alta demanda:

/usr/local/cpanel/3rdparty/etc/php.ini

Assim que abrir o mesmo com qualquer editor localize:

max_execution_time = 90
memory_limit = 128M

Aumente esses valores significativamente, principalmente o de ram, deixe pelo menos 5x maior do que está ali e o problema deverá estar sanado.
Se mesmo assim não sanar apele para 10x, ou seja:

max_execution_time = 900
memory_limit = 1280M

Os perigos de instalar o ror (Ruby On Rails) em uma rails_app que usa rails mais antigo!

Standard

ruby

Uma das coisas que mais tenho apreciado nos últimos tempos é a velocidade com que o ror trabalha nos servidores Cpanel mundo a fora e nos que eu faço setup :P, e posso afirmar que aliando “aquilo” com uma série de ajustes de otimização no servidor a resposta não deixará de ser turbinadíssima!

O X da questão aqui é o momento em que instalamos o Ruby no servidor.
Assim que instalamos o ror o perigo todo gira em torno de uma app feita especificamente para o rails de uma versão inferior a que você iria instalar por padrão no cpanel, veja que o comando para instalar o ruby on rails é fácil:

/scripts/installruby

O problema vem depois. Na data corrente a Cpanel prima pela segurança e otimização, e logicamente vai usar o ror mais novinho, logo temos a 2.3.15 operando no servidor (veja com o comando rails -v).

Mas se o cliente usa o rails mais inferior, como a gente sana isso? Ele precisará desta gema, e aí?
Uma das formas mais simples de se resolver é usando o comando gem e fazendo downgrade do versionamento:

gem uninstall rails

Assim que for removido (se a ideia é possuir o rails 2.3.14) iremos instalar em cima da versão (isso vale para QUALQUER OUTRA GEMA):

gem install rails -v=2.3.14

Fazendo isso, dê rails -v e  verá que está filé.
Isto vale para qualquer gema MESMO, se precisar fazer isso com demais gemas fique a vontade :P.

WHM sumiu com meus ips adicionados anteriormente e ao tentar adicionar novamente aparece a mensagem is already…

Standard

Calma, sem problemas.
Se conseguir entre como root e rode o seguinte comando:

 

/etc/rc.d/init.d/ipaliases restart

Depois veja no whm se os ips voltaram, caso ainda assim não tenha retornado rode
chkconfig --list ipaliases

Verifique também (caso os comando acima não sanem seu problema) os arquivos:

/etc/ips e /etc/ipaddrpool

Abraços.

 

Fullbackup parando no meio do caminho em algumas contas no CPANEL

Standard

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.

Ispconfig 2: how to create a park domain – como deixar um domínio acessar o conteúdo do outro como park no ispconfig

Standard

Uma das coisas mais interessantes no IspConfig é sua capacidade de permitir customizações em tudo que você possa imaginar. Aproveitando esta “boquinha” vamos fazer algo diferente.
Parkear domínios no Parallels Plesk e no Whm/CPanel é coisa fácil, pois tudo é automatizado, mas isto não quer dizer que o bom e velho vim (ou qualquer OUTRO EDITOR) não entre em ação.

Para isto, precisamos logar-nos como root no servidor aonde iremos parkear domínios, e devemos (antes de mais nada) fazer backup do arquivo de configuração do apache, sendo assim use o comando:

cp -rp /etc/httpd/conf/httpd.conf /root/httpd.conf.OLD


Temos então um arquivo garantido para que, em qualquer eventualidade sirva para consulta ou possivelmente correção do arquivo mais recente.

Entremos no arquivo de configuração:

vim /etc/httpd/conf/httpd.conf

Vá para o final do arquivo e localize exatamente este trecho:


Options ExecCGI -Indexes
AllowOverride None
AllowOverride Indexes AuthConfig Limit FileInfo
Order allow,deny
Allow from all

Deny from all

Feito isto, o que devemos fazer é simples.
Sabendo-se que o ISPConfig lê um outro arquivo com os vhosts dos usuários web, devemos antecipar nossa configuração de maneira que a linha do ispconfig fique abaixo do nosso vhost.

Acima da linha com a informação:

Include /etc/httpd/conf/vhosts/Vhosts_ispconfig.conf

Devemos fazer algo assim:

ServerName www.nomedodominioparkeado.com:80
ServerAdmin webmaster@dominiodestino.com.br
DocumentRoot /var/www/web100/web
ServerAlias dominiodestino.com.br
DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3 index.shtml index.cgi index.pl index.jsp Default.htm default.htm
Alias /cgi-bin/ /var/www/web100/cgi-bin/
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
ErrorLog /var/www/web100/log/error.log
AddType application/x-httpd-php .php .php3 .php4 .php5
php_admin_flag safe_mode On
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Alias /stats “/var/www/web100/web/webalizer”
Alias /error/ “/var/www/web100/web/error/”
ErrorDocument 400 /error/invalidSyntax.html
ErrorDocument 401 /error/authorizationRequired.html
ErrorDocument 403 /error/forbidden.html
ErrorDocument 404 /error/fileNotFound.html
ErrorDocument 405 /error/methodNotAllowed.html
ErrorDocument 500 /error/internalServerError.html
ErrorDocument 503 /error/overloaded.html
AliasMatch ^/~([^/]+)(/(.*))? /var/www/web100/user/$1/web/$3
AliasMatch ^/users/([^/]+)(/(.*))? /var/www/web100/user/$1/web/$3

RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* – [F]

Perceba que no começo falei XXX.XXX.XXX.XXX, isto refere-se ao ip do seu dedicado (shared ip dos domínios :P)

Por este vhost pegue a coisa em cheio.

A charada está nas linhas:

ServerName www.nomedodominioparkeado.com:80
ServerAdmin webmaster@dominiodestino.com.br
DocumentRoot /var/www/web100/web
ServerAlias dominiodestino.com.br

1 – indica o parkeamento
2 – email do main domain
3 – arquivos web de onde o parkeamento vai ler assim que o internauta acessar a página www.nomedodominioparkeado.com
4 – indica o destino do parkeamento, ou seja, ao acessar www.nomedodominioparkeado.com a pessoa na realidade acessa dominiodestino.com.br, porém tendo no cabeçalho o nome www.nomedodominioparkeado.com (url de entrada no navegador)


OBS: CASO O ARTIGO NÃO EXIBA AS TAGS DO APACHE, POR FAVOR VERIFIQUEM JUNTO AO ARQUIVO /ETC/HTTPD/CONF/HTTPD.CONF.

Abraços e espero ter contribuído com um dia feliz para nós… lol.
bye!

create user output file. Command output: procmail: Error while writing to /var/mail…

Standard

create user output file. Command output: procmail: Error while writing to /var/mail…

Se esta é a mensagem de erro que vem no outlook que de quem está enviando um email para um destinatário que usa postfix seus problemas “SE ACABARAM-SE”.

Entre no console e como root e digite:

postconf -e 'mailbox_size_limit = 0'

Provavelmente é a quota ferrada e este comando te tira da forca :D.

Sistemas afetados: Debian, Ubuntu (lucid lynx, karmic…), Centos 5.5, Centos 5.4…

Mais que uma distribuição: Ubuntu é uma paixão!

Standard

Por estes dias estive trocando idéias com um amigo meu (dooguinha) que também adora Gnu/Linux, sobre qual distribuição usar, visto que estava com Windows XP em meu desktop pessoal e precisava de algo mais enriquecedor em termos de conhecimento (mexer com registro de Windows para remover falhas não é muito proveitoso, rsrsrs).

Resolvi voltar a utilizar-me do Ubuntu.

Antes quero expor alguns problemas que enfrentei antes desta escolha:

1 – Na tentativa de usar o OPENSUSE eu não poderia deixar de comentar da podridão que é em termos de velocidade de update nos repositórios do Opensuse, sem contar o drama que é para achar uma configuração avançada – resumo -> mv opensuse_my_desk /dev/null (apesar da excelente instalação em um hd ide de 320gb, e detecção de maneira louvável com ênfase em hardware),

2 – Na tentativa de usar o Fedora, o que mais me chamou atenção foi o boot todo voltado para arquitetura sata, ou seja, seu boot fica todo duro no /sbin/loader… Quem diria… o foguete ainda nem saiu do forno e já me deixou sem um minuto sequer desejoso em utiliza-lo. Sabe qual foi o fim? mv fedora_my_desk /dev/null,

3 – Na tentativa de usar o CentOS como desktop eu volto no ponto 2 e vivo o mesmo drama… mv centos_my_desk /dev/null.

Confesso que deixei o Ubuntu como sendo a última alternativa. Isto ocorreu devido um teste um pouco frustrado de utilizar-me da 10.04 em meu modesto desktop. Achei lento no uso, porém rápido no boot, e de maneira precipitada não lembrei que os repositórios estavam lotados graças a quantidade de fãs que esta distribuição faz a cada lançamento.

Decidi então subir manualmente o desktop, afim de obter algum “exclarecimento” no quesito velocidade de S.O., optei pela 9.10 subindo para Lucid. Abaixo segue um screen mostrando o primeiro ponto forte do Ubuntu aos meus olhos:


Após update, cheguei na Lucid e modifiquei os botões de janelas para a direita, afinal de contas de livre o mac só tem a escolha de compra do usuário!

Quer apontar os botões para o lado direito? Use:

gconftool-2 --type string --set "/apps/metacity/general/button_layout" "menu:minimize,maximize,close"

E para que isto se aplique a todos os users faça:

sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set "/apps/metacity/general/button_layout" "menu:minimize,maximize,close"

Ambos comandos pedem autorização para rodar, aplique a senha do root e pronto!

Por fim vai um print do meu desktop 😀 (ainda nem terminei minhas customizações, mas gostei das tonalidades).

O dia de testes na penúltima utilização do Ubuntu foi quando criei o tutorial do LAMP2 no Lucid Lynx.

Ah, o problema somente será o espaço para o Slackware 13.1. Estou um pouco triste por que se continuar curtindo meu Ubuntu terminarei abandonando meu slackzinho :(.

Abraços e boa noite ALL!

Forçando envio MX no Cpanel para situações de DNS não ajustado – Workaround

Standard

Recentemente, um cliente reclamou que seus emails não chegavam à caixa postal do destinatário.
Verifiquei que o domínio do destinatário em questão está hospedado em uma conta Windows na Locaweb, mas com os MX apontando para a Alog.
Eu tenho vários clientes com o Google Apps. Ou seja, estão hospedados no meu servidor mas utilizando o MX do Google. Todos funcionando beleza e nunca precisei editar configurações específicas no Exim do meu servidor. Mas neste caso, enquanto não se resolve a questão da configuração do DNS na Locaweb, optei por um recurso que eu desconhecia mas que atendeu ao meu cliente que agora consegue enviar os emails.
Resolvi compartilhar esta informação. Quem sabe alguem passe pelo mesma situação…
O problema foi resolvido adicionando a linha abaixo ao /etc/exim.conf:
allow_mx_to_ip = yes

Fonte: Luiz_Araujo:
http://www.forumcpanel.com.br/index.php?showtopic=8971&pid=40431&st=0&#entry40431

Como alterar o IP de saída do EXIM para um domínio no servidor de hospedagem com cPanel?

Standard


Para alterar o IP de saída pelo EXIM, crie no arquivo abaixo a referência:

/etc/mailips

Ficando dessa forma:
seu-dominio.com.br: IP

Como ao reiniciar o exim pelo whm , ele limpa o arquivo, torne o arquivo imultável com o comando:

chattr +i /etc/mailips

Neste caso, em minha opinião o bacana poderia também colocar o +ai como parâmetro do chattr para reforçar a segurança do arquivo pois o Cpanel em alguns updates chega a utilizar-se de chattr para tirar proteções.

Fonte: http://eltern.wordpress.com/2010/04/08/como-alterar-o-ip-de-saida-do-exim-para-um-dominio-no-servidor-de-hospedagem-com-cpanel/

Smtp Error: The Following Recipients Failed: SMTP Error: The following recipients failed

Standard

Bem, se você usa o GOOGLE APPS e está tentando enviar um email de dentro de um servidor com POSTFIX e o mesmo não envia nada e ainda apresenta o erro do título, nada de pânico, o que ocorre:

1 – Email vai sair do servidor mas antes lê a lista de hosts locais dentro do arquivo /etc/postfix/main.cf na linha:
mydestination
2 – Quando o domínio tenta enviar para o outro domínio que provavelmente está citado ali, pimba! Fala que o destinatário falhou por não existir.

Como corrigir?

Remova o domínio do destinatário dali e seja feliz!

Como remover (desinstalar) o apf de um servidor Linux com ou sem WHM CPANEL

Standard

rode os comandos como root para remover o apf:

/etc/rc.d/init.d/apf stop

rm -Rf /etc/apf
rm -Rf /etc/rc.d/init.d/apf
rm -Rf /var/log/apf_log
rm -Rf /var/log/apfados_log
rm -Rf /usr/local/sbin/apf

Desabilite o serviço do apf

/sbin/chkconfig –level 345 apf off

vim /etc/cron.daily/fw

e remova a linha abaixo:

/etc/rc.d/init.d/apf restart >> /dev/null 2>&1

Pronto, o script firewall APF agora não mais está ativo em seu servidor.

max_allowed_packet PHPBB ou erro em qualquer aplicação PHP ou não PHP

Standard

Outro erro muito comum é este aí.
Considero um erro de fácil correção, bastando somente que você abra o arquivo my.cnf (no caso de pasta root) e my.cnf dentro do /etc e informe ou substitua a seguinte linha:

max_allowed_packet = 1G

Caso já tenha algum valor, aumente-o.
Este erro ocorre por limitação no tamanho do pacote no processo de querys do mysql.
Ajuste-o e tudo estará resolvido.

😉

Abraços.

How to install a clean Fantastico Deluxe como instalar o fantástico do zero

Standard

Rode os comandos abaixo como root:

cd /usr/local/cpanel/whostmgr/docroot/cgi
wget -N http://files.betaservant.com/files/free/fantastico_whm_admin.tgz
tar -xzpf fantastico_whm_admin.tgz
rm -rf fantastico_whm_admin.tgz

Depois é só correr para o abraço e observar em seu whm no último menu ,o fantastico estará lá, bastando somente clicar em install e mandar ficha!

Instalando YUM no CENTOS 5 (32 e 64 bits) How to install yum on Centos 5

Standard

Galera, bom dia, faz tempo que não posto, maaasss, abaixo segue tutorial de instalação do YUM no CENTOS 5 (tanto para 32 bits como 64 bits):

PARA 32 bits (i386):

rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/elfutils-libs-0.137-3.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/gmp-4.1.4-10.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/readline-5.1-3.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-2.4.3-27.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/libxml2-2.6.26-2.1.2.8.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/libxml2-python-2.6.26-2.1.2.8.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/expat-1.95.8-8.2.1.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-elementtree-1.2.6-5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/sqlite-3.3.6-5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-sqlite-1.1.7-1.2.1.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/elfutils-0.137-3.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/rpm-python-4.4.2.3-18.el5.i386.rpm # (1)
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/m2crypto-0.16-6.el5.6.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-urlgrabber-3.1.0-5.el5.noarch.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-3.2.22-20.el5.centos.noarch.rpm http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm
yum -y update

PARA 64 bits (x86_64):

rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/gmp-4.1.4-10.el5.x86_64.rpm
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/readline-5.1-3.el5.x86_64.rpm 
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/python-2.4.3-27.el5.x86_64.rpm
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/libxml2-2.6.26-2.1.2.8.x86_64.rpm
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/libxml2-python-2.6.26-2.1.2.8.x86_64.rpm
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/expat-1.95.8-8.2.1.x86_64.rpm
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/python-elementtree-1.2.6-5.x86_64.rpm
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/sqlite-3.3.6-5.x86_64.rpm
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/python-sqlite-1.1.7-1.2.1.x86_64.rpm
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/elfutils-libelf-0.137-3.el5.x86_64.rpm
rpm --nodeps -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/elfutils-0.137-3.el5.x86_64.rpm
rpm --nodeps -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/rpm-4.4.2.3-18.el5.x86_64.rpm
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/rpm-python-4.4.2.3-18.el5.x86_64.rpm
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/m2crypto-0.16-6.el5.6.x86_64.rpm
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/python-urlgrabber-3.1.0-5.el5.noarch.rpm
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm
rpm -Uvh http://mirror.centos.org/centos/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm http://mirror.centos.org/centos/5/os/x86_64/CentOS/yum-3.2.22-20.el5.centos.noarch.rpm
yum -y update

Abraços.

Verificar Spammer no exim – Vamos combater o SPAM

Standard

Uma coisa importante a ser adicionada ao sistema EXIM são as informações no cabeçalho dos emails enviados/recebidos em seu sistema.

Com etas informações você poderá mais facilmente identificar os possíveis SPAMMERS que você hospeda além de facilitar também a vida de outros administradores cujo servidores recebem emails vindos de seu sistema.

Acesse o WHM e no link “Exim Configuration Editor” e no mesmo no botão “Advanced Editor”. Logo no primeiro campo de formulário (logo abaixo do “#!!# cPanel Exim 4 Config”) adicione:

log_selector = +address_rewrite +all_parents +arguments +connection_reject +delay_delivery +delivery_size +dnslist_defer +incoming_interface +incoming_port +lost_incoming_connection +queue_run +received_sender +received_recipients +retry_defer +sender_on_delivery +size_reject +skip_delivery +smtp_confirmation +smtp_connection +smtp_protocol_error +smtp_syntax_error +subject +tls_cipher +tls_peerdn

Agora observe o cabeçalho dos emails em seu queue.

fonte: http://blog.scriptseguro.com.br/verificar-spammer-no-exim/