Ya van dos veces que un dominio de un cliente de mas de quince años conmigo tiene un problema en cpanel
De repente no envia correos , y su sitio no se ve. Ya van dos veces en este año.
Por alguna razón que no entiendo en algunas actualizaciones automáticas, casi siempre domingo o en este caso a las 13:30 aprox, de repente el sitio no se ve y no todos los correos salen.
Mi hipótesis es que esos scripts de actualización no esperan decenas de miles de archivos, ni mas de 30 cuentas de correos. Asi que mi teoría es que la actualización solo corrige los permisos de los primeros 30 a 40 mil archivos, o lo que se pueda en 30 segundos, y los correos individuales son archivos.
La solución de muchos es correr un script externo y segun yo es la causa del problema,:
NOTA: wordpress puede alterar los scripts. Yo tengo el .txt en un whatsapp con el cliente y en mi escritorio.
# Descargar el script
wget https://raw.githubusercontent.com/PeachFlame/cPanel-fixperms/master/fixperms.sh
chmod +x fixperms.sh
# Ejecutar para el usuario procimek
sudo sh ./fixperms.sh -a USUARIOCPANEL
Si quieres ver todo lo que hace (modo verbose):
bash
sudo sh ./fixperms.sh -v -a USUARIOCPANEL
Lo que yo hago es correr esto :
# Crear el script en /root/fixperms.sh
cat > /root/fixperms.sh << ‘EOF’
#!/bin/bash
if [ «$#» -lt «1» ];then
echo «Must specify user»
exit;
fiUSER=$@
for user in $USER
do
HOMEDIR=$(grep $user /etc/passwd | cut -d: -f6)
if [ ! -f /var/cpanel/users/$user ]; then
echo «$user user file missing, likely an invalid user»
elif [ «$HOMEDIR» == «» ];then
echo «Couldn’t determine home directory for $user»
else
echo «Setting ownership for user $user»
chown -R $user:$user $HOMEDIR
chmod 711 $HOMEDIR
chown $user:nobody $HOMEDIR/public_html $HOMEDIR/.htpasswds
chown $user:mail $HOMEDIR/etc $HOMEDIR/etc/*/shadow $HOMEDIR/etc/*/passwdecho «Setting permissions for user $user»
find $HOMEDIR -type f -exec chmod 644 {} \;
find $HOMEDIR -type d -exec chmod 755 {} \;
find $HOMEDIR -type d -name cgi-bin -exec chmod 755 {} \;
find $HOMEDIR -type f \( -name «*.pl» -o -name «*.perl» \) -exec chmod 755 {} \;
fi
done
EOFchmod +x /root/fixperms.sh
/root/fixperms.sh USUARIOCPANEL
La mejor forma de detectarlo es entrar a errors y ver si no encuentra un archivo que si está alli. Si es el caso, como yo tengo acceso a root y muchos proveedores de hospedaje no lo tienen, varios proveedores tratan de sacar respaldo, que queda mal porque no ve siquiera todos los archivos. Mi solución funciona, copiada de un foro de cpanel hace años. Y si calculamos que son permisos diferentes para cada usuario de correo ….
- desde el usuario de CPANEL no podrías respaldar archivos que ni siquiera puedes leer porque pertenecen a
rootu otro usuario. Soloroottiene visibilidad total. Y no podrías usar el script estandar así que un respaldo antes puede ser peor el remedio que la enfermedad.
Modestia aparte lo resolví en menos de diez minutos porque me acordé de la vez pasada.