Archivos de la categoría cPanel

cPanel Error – Lowest numbered MX record points to local host

Problema en cpanel, los correos no sale y nos muetra este error;

lowest numbered MX record points to local host

Primero revisamos que los MX y demás registros DNS estén bien, en caso de estar OK, revisamos que el dominio que tenemos en el cPanel este en /etc/localdomains, si no esta ahí puede que este en /etc/remotedomains, en ese caso lo eliminamos de remote domains y lo metemos manualmente a localdomains.

Y eso es todo, reiniciamos el exim y a otra cosa.

Exim IP Rotate – Script for cPanel

Bueno, algo que tenia que hacer, mucha gente lo anda pidiendo así que me a dado por hacer un script para rotar IPs.

Ya es funcional, pero estoy probando y buscando bugs.

Version 0.3
– Rota IPs,
– Dejar una lista de IPs en /root/ips o algún otro archivo ( una IP por linea )
– Hacer un cron con el tiempo que se quiera rotar la IP.

Requisitos
cPanel tiene que estar configurado para usar /etc/mailips y tiene que tener una IP configurada previamente en el formato:

*: 192.168.1.0

Acorde con la documentación

Descargar:

wget mirror.skamasle.com/scripts/sk-ip-rotate.sh

Dar permisos:

chmod +x sk-ip-rotate.sh

Crear Cron:

0 */5 * * * /root/sk-ip-rotate.sh

Error al instalar mod_cloudflare: Failed to download: [CloudFlare-Tools/master/mod_cloudflare.c] at cloudflare.pl line 40.

Hay un conocido script para instalar mod_cloudflare en cpanel, básicamente para que aparezca como modulo de apache, que aveces da error de forma muy extraña en algunos servidores va bien y en otros con el mismo setup no va con este error:

Failed to download: [https://raw.github.com/cloudflare/CloudFlare-Tools/master/mod_cloudflare.c] at cloudflare.pl line 40.

El problema es por el SSL…

Podemos dar soporte ssl a perl vía cpan, tan fácil como instalar Protocol:https

cpan LWP::Protocol:https

Pues si, con eso ya funciona.

Error Luego de Actualizar Mysql: install_driver(mysql) failed: Can’t load ‘/usr/lib64/perl5/auto/DBD/mysql/mysql.so

install_driver(mysql) failed: Can’t load ‘/usr/lib64/perl5/auto/DBD/mysql/mysql.so

Si tenemos una web que trabaje con perl puede que nos de ese error al actualizar mysql, es por que las versiones del cliente y del mysql no son iguales.. ( en php aveces pasa lo mismo aunque no afecta a todas las webs, vbulletin es la más delicada al respecto )

En fin, para solucionarlo en perl podemos ejecutar los siguientes comandos:

Nos logueamos a la consola de perl:

perl -MCPAN -e shell

Y forzamos la instalación de los módulos:

force install DBI

force install DBD::mysql

Tarda un poco en instalar pero el problema se resolverá cuando acabe con los dos 🙂

Más información en la documentación de perl:

http://cpansearch.perl.org/src/JWIED/DBD-mysql-2.1015/INSTALL.html

Email de cPanel: Resource: Virtual Memory Size Exceeded: 217 > 200 (MB

Aveces llegan estos emails, más cuando se usa fcgi otra veces cuando se usa suphp, todo depende de los limites de memoría que se tengan asignados nos llega el aviso:

Resource: Virtual Memory Size Exceeded: 217 > 200 (MB

El tema no es grave, es un aviso del firewall, por defecto tiene configurado para que lleguen emails cuando se consume más de 200 MB de RAM y si tenemos configurado el memory_limit de php para que pueda consumir más de 200MB indudablemente entrará en conflicto con el LDF.

Y vamos al grano la opción que hay que cambiar es:

PT_USERMEM

Que dice lo siguiente:

This User Process Tracking option sends an alert if any cPanel user process
exceeds the memory usage set (MB). To ignore specific processes or users use
csf.pignore

Otra cosa a tomar en cuenta que esto no causa errores en las webs, por si lo estan pensando ya que normalmente no mata los procesos, como pueden ver en el mismo email:

Account: skamasle
Resource: Virtual Memory Size
Exceeded: 217 > 200 (MB)
Executable: /usr/selector/php
Command Line: /usr/bin/php /home/skamasle/public_html/index.php
PID: 741971 (Parent PID:728108)
Killed: No

Instalar Mod_GeoIP en cPanel – Centos 6

No voy a entrar en muchos detalles ya que es algo tarde solo que me han dado ganas de publicar esto hace tiempo y hoy como lo he tenido que volver a hacer lo dejo por aquí de una vez.

Instalar GeoIP

El mod_geoip se puede instalar tal cual en cpanel como dice la documentación, descargando:

wget http://docs.cpanel.net/twiki/pub/EasyApache3/CustomMods/custom_opt_mod-mod_geoip.tar.gz

Descomprimiendo y añadiendo a easy apache:

tar -C /var/cpanel/easy/apache/custom_opt_mods -xzf custom_opt_mod-mod_geoip.tar.gz

O bien con pecl

pecl install geoip

Pero al usar pecl nos da unos errores con este modulo, así que para corregirlos necesitamos instalar geoip y geoip-devel

Continue reading

Sacar todos los correos asignados a las cuentas cpanel

He estado trabajando en un script para el cual necesito la lista de eMails de los usuarios de cPanel y ya que hice la función y tal lo converti en un script aparte por si alguien necesita sacar los emails de todos los usuarios de cPanel.

Tal vez haya algo default en cPanel para hacer esto, pero como ya estaba haciendo algo para mi lo hice.

El script hace dos cosas, primero muestra los emails de los usuarios y segundo muestra los usuarios que no tienen email asignado, por defecto crea el archivo /tmp/UsuariosSinEmailDefinido.txt y ahí guarda todos los usuarios de cPanel que no tengan un correo asignado a su cuenta, se puede añadir un archivo similar para agregar ahí los usuarios que si tienen un eMail o bien solo los usuarios.

Correo Principal de todas las cuentas de cPanel

#!/bin/bash
# Sacar lista de emails de usuarios cpanel.
# Skamasle.
ruta=/var/cpanel/users
ListaSinMails=/tmp/UsuariosSinEmailDefinido.txt
if [ -e $ListaSinMails ]; then
	cat /dev/null > $ListaSinMails
else
	touch $ListaSinMails
fi
imp () {
mail=$1
td=$(cat $mail |grep "CONTACTEMAIL" |cut -d"=" -f2)
if [[ $td == *@* ]]; then
        echo "El Correo del usuario: $mail es" $td
else
    	tput bold
        tput setaf 1
echo "Usuario $mail no tiene asignado un eMail"
        tput sgr 0
        echo "$mail" >> $ListaSinMails
fi
}
correo () {
cd $ruta
for i in *
	do
 		imp $i
done
}
correo
	tput bold
	tput setaf 2
echo "Usuarios que no tienen un email definido"
tput sgr 0
cat $ListaSinMails
exit 1

Si usan windows y copian y pegan puede que tengan problemas, igual el scipt lo pueden bajar desde aquí: CP-Mail.sh

wget http://mirror.skamasle.com/scripts/CP-Mails.sh

Espero les sirva 🙂

cPanel – Conectar Mysql Con Perl – ERROR: install_driver(mysql) failed: Can’t locate DBD/mysql.pm in @INC (

Si usamos alguna web hecha en perl con mysql y no podemos conectar al servidor por que nos da un error parecido a este:

install_driver(mysql) failed: Can’t locate DBD/mysql.pm in @INC (@INC contains: Plugins Modules . /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8

Puede ser por que no tengamos instalado el mod de mysql para perl, en cpanel podemos instalarlo con el instalador de perl que tiene por defecto.

Basta con ejecutar esto:

/scripts/perlinstaller  DBD::mysql

El el comando retornará algo así.

chmod 755 blib/arch/auto/DBD/mysql/mysql.so
/usr/bin/perl -MExtUtils::Command::MM -e 'cp_nonempty' -- mysql.bs blib/arch/auto/DBD/mysql/mysql.bs 644
Manifying blib/man3/DBD::README.3pm
Manifying blib/man3/Bundle::DBD::mysql.3pm
Manifying blib/man3/DBD::mysql.3pm
Manifying blib/man3/DBD::mysql::INSTALL.3pm
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/lib64/perl5/auto/DBD/mysql/mysql.so
Installing /usr/local/lib64/perl5/Bundle/DBD/mysql.pm
Installing /usr/local/lib64/perl5/DBD/README.pod
Installing /usr/local/lib64/perl5/DBD/mysql.pm
Installing /usr/local/lib64/perl5/DBD/mysql/GetInfo.pm
Installing /usr/local/lib64/perl5/DBD/mysql/INSTALL.pod
Installing /usr/local/share/man/man3/DBD::mysql::INSTALL.3pm
Installing /usr/local/share/man/man3/DBD::README.3pm
Installing /usr/local/share/man/man3/Bundle::DBD::mysql.3pm
Installing /usr/local/share/man/man3/DBD::mysql.3pm
Appending installation info to /usr/lib64/perl5/perllocal.pod
OK
Successfully installed DBD-mysql-4.025
Installing /usr/local/share/perl5/x86_64-linux-thread-multi/.meta/DBD-mysql-4.025/install.json
Installing /usr/local/share/perl5/x86_64-linux-thread-multi/.meta/DBD-mysql-4.025/MYMETA.json
4 distributions installed

Y listo el error desaparece, al menos que el comando anterior muestre algún error.

Configurar ServerLimit en WHM/cPanel Usando MPM_Event [Error]

Bueno hace poco habla de configurar mpm_event y las directivas ServerLimit cosa que pueden ver en este enlace: MPM_Event – MPM_Prefork – Configuración de ServerLimit y MaxClients

Resulta que en cPanel da errores al definir un valor en ServerLimit menor que MaxClients, he reportado el problema en cpanel, que parece que ya han tenido ese problema y lo están investigando, según la respuesta del soporte:

WHM/cPanel MPM_Event Configuración

We are currently tracking the issues with the apache configuration in WHM where certain directives and combinations of values are not possible due to the interface being designed with prefork in mind. For your reference, the case number is 52321. Our developers are already pursuing a resolution. While there is no set timeline for when this issue will be fixed, please note that new patches are advertised in our changelog as soon as they are implemented.

El error es que no se le puede asignar a ServerLimit un valor menor que MaxClients o MaxRequestWorkers ( apache 2.4 ) ya que el sistema esta diseñado para trabajar con Prefork, al intentar cambiarlo nos devuelve el siguiente error:

The following settings are invalid and were rejected:

maxclients: 100

Bien la solución temporal a sido definir el ServerLimit editando el fichero /var/cpanel/conf/apache/local

nano /var/cpanel/conf/apache/local

Definiendo ahí la directiva ServerLimit:

  "serverlimit":
    "item":
      "serverlimit": 40

También podemos editar la directiva MaxClients, luego solo tenemos que actualizarlo:

Con:

/scripts/rebuildhttpdconf

El resultado de que todo a ido bien:

Built /usr/local/apache/conf/httpd.conf OK

Listo ya no nos dará error en WHM al cambiar esa directiva si usamos MPM_Event.

Edito: para configurar otras directivas podemos editar este otro archivo:

/usr/local/apache/conf/includes/pre_main_global.conf

Eso para las directivas que no se pueden editar desde whm.

Linux y cPanel Anti Malware – Maldetec vs Pyxsoft

Hace poco les deje 2 enlaces para descargar he instalar estos dos anti malware, pueden verlo aquí Instalar antimalware en linux

Por mi parte uso los dos anti malware siempre, aunque pyxsoft me a dado mejores resultados aparte de que tiene algunos extras para cpanel como son las normas de mod_Sec y que se integra en whm.

Veamos algunos resultados:

Escaneando una sola cuenta:

malware detect scan report for server
SCAN ID: 101613-1446.440
TIME: oct 16 14:48:04 -0400
PATH: /home/lacuenta/
TOTAL FILES: 15477
TOTAL HITS: 0
TOTAL CLEANED: 0

===============================================
Linux Malware Detect v1.4.2 < [email protected] >

Nos ha quedado un poco mal aunque viendo que no tenemos nada podemos estar tranquilo, pero pyxsoft nos da un aviso:

skamasle-antimalware1

Bueno es solo una cuenta y a encontrado un posible mailer, algo es algo.

Visto lo visto escaneamos todo el servidor con los dos, a ver que encuentra cada uno.

Maldetect el primero en salir y la sorpresa es que hoy me a decepcionado bastante, solo encontró dos archivos y los dos del easyapache ( se escaneo todo el home en cpanel )

maldetec-skamasle

El turno para Pyxsoft, nos a salvado, algunos falsos positivos, pero es mejor revisarlo por si acaso, por lo demás 22 archivos en total encontrados.

Pyxsoft-skamasle

pyx-skamasle

No digo que maldetec no funcione, solo que a veces no detecta nada y pyxsoft si, otras veces hay cosas que el maldetec si detecta y pyxsoft no, pero eso me a pasado con muy pocos archivos.

Por último solo decirles que prueben ustedes mismos y usen el que mejores resultados les de, pero como les dije, si tienen whm/cPanel pyxsoft les traerá varias ventajas en cuanto a seguridad a un coste muy bajo, entre ellas:

– Algunas reglas extras en el mod_Segurity.
– Escaneo de archivos subidos.
– Posibilidad de escanear todas las cuentas cpanel de una vez o las que escojamos.