Plesk

Redirecciones para los alias en plesk sin crear un hosting

Por temas de SEO o similares tal vez lo más correcto en vez de crear aliases del dominio, con lo que el contenido quedaría duplicado y tal vez nos podrían penalizar, y la opción correcta sería crear redirecciones, que en plesk cuentan como un dominio ( un problema si no tenemos una licencia ilimitada ), pero se podría usar este pequeño apaño, para hacerlo mediante alias del dominio, y redirigir todo al dominio principal.

Creamos el dominio principial: dominio.com y los aliases para ese dominio: dominio.net y dominio.es
Lo harías a traves de un .htaccess en la raiz del dominio que pusiese lo siguiente:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?dominio\.es[NC]
RewriteRule ^(.*)$ http://www.dominio.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.)?dominio\.net [NC]
RewriteRule ^(.*)$ http://www.dominio.com/$1 [R=301,L]

Asi pues conseguiriamos todas las redirecciones que queramos aldominio principal, sin tener que crear hostings. Se podría utilizar también para una web multilenguage, por ejemplo dominio.es mandarlo a dominio.com/es/ y dominio.fr a dominio.com/fr/ , de la siguiente manera:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?dominio\.es[NC]
RewriteRule ^(.*)$ http://www.dominio.com/es/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.)?dominio\.fr[NC]
RewriteRule ^(.*)$ http://www.dominio.com/fr/$1 [R=301,L]

Deshabilitar correo en plesk 9 + postfix ( correo en servidor externo )

Después de un tiempo trasteando con la nueva versión de Plesk, por fin me he animado a empezar a montar algunos servidores con la nueva versión Plesk 9.2 , que parece que no dan tantos problemas con las primeras ...

En muchos casos, se nos presenta la situación de no tener el correo en el servidor donde esté la web, y tener formularios que envian correos no llegan, o el dominio en otro servidor diferente , usando Google App , por lo que los correos terminan tratándose como locales y perdiendose.

En plesk 9 , configurado con Postfix, tiene su propio fichero de DNS's, en el cual deberemos deshabilitar las IPs locales, o pertenecientes al servidor, para que no la resuelvan sus propios DNS's ( se crean al dar de alta el dominio ) . Lo correcto sería poner un servidor de DNS's externo, como por ejemplo los de OpenDNS

El fichero en cuestión es el siguiente:
/var/spool/postfix/etc/resolv.conf

Otra solución sería deshabilitar el servicio de DNS's en el dominio, pero claro esto igual tampoco nos vale si lo estamos usando como servidor de DNS's

Recuperar las contraseñas de las bases de datos en Plesk

Siguiendo la racha de recuperar datos para el panel de control Plesk, esta vez le toca el turno a las bases de datos, para ello habría que ejecutar la siguiente consulta SQL:

SELECT
data_bases.name AS db_name,
db_users.login AS db_user,
accounts.password AS db_password,
domains.name,
data_bases.`type`
FROM
db_users
INNER JOIN data_bases ON (db_users.db_id = data_bases.id)
INNER JOIN accounts ON (db_users.account_id = accounts.id)
INNER JOIN domains ON (data_bases.dom_id = domains.id)
WHERE domains.name='DOMINIO.COM'

Recuperar clave admin para Plesk en Windows y Linux

Si alguna vez perdemos la clave del administrador del Plesk, tanto en Windows como en Linux, no tenemos por que preocuparnos, puesto que teniendo acceso a la máquina podemos recuperarla.

Para windows:

C:\Archivos de Programa\SWsoft\Plesk\admin\bin\plesksrvclient.exe -get
La ruta de este ejecutable puede cambiar dependiendo del Idioma y donde esté instalado el Plesk.

También podriamos cambiar la clave directamente con el siguiente comando:
C:\Archivos de Programa\SWsoft\Plesk\admin\bin\plesksrvclient -set true

Para Linux
#more /etc/psa/.psa.password

Sacar las contraseñas y usuarios de los ftp en Plesk 7.5+

El usuario lo podemos ver desde el panel de control pero no la contraseña, para ello y tal como hicieramos para sacar las contraseñas de los emails, podemos sacarlo de la base de datos "psa" .


SELECT
domains.name,
domains.`status` AS estado_dominio,
domains.id,
accounts.password AS password_ftp,
`sys_users`.login AS password_user
FROM
domains
LEFT JOIN `hosting` ON (domains.id = `hosting`.dom_id)
LEFT JOIN `sys_users` ON (`hosting`.sys_user_id = `sys_users`.id)
INNER JOIN accounts ON (`sys_users`.account_id = accounts.id)
WHERE
(domains.name = 'dominio.com')

Esto nos devolverá el nombre de usuario para el ftp, así como la contraseña de este mismo.

Sacar las contraseñas de los correos en Plesk 7.5 +

Por si alguien no lo sabía, absolutamente todos los datos del plesk se guardan en la base de datos psa , normalmente bajo MySQL, aunque en ocasiones lo he visto en un base de datos access por ejemplo en un windows.

Por defecto todas las contraseñas se guardan en formato plano, es decir sin encriptar, aunque cabe la posibilidad de guardarlas encriptadas, si es tu caso, esto no te va a servir para nada.

Para sacar las contraseñas de las cuentas de un dominio tan solo tendremos que ejecutar la siguiente consulta, una vez hayamos seleccionado la tabla "psa":

SELECT
domains.name AS nombre_dominio,
accounts.password AS password_cuenta,
`mail`.mail_name AS nombre_cuenta
FROM
domains
INNER JOIN `mail` ON (domains.id = `mail`.dom_id)
INNER JOIN accounts ON (`mail`.account_id = accounts.id)
WHERE domains.name = 'NOMBRE_DEL_DOMINIO'

Espero que le sirva a alguien, sobre todo por que los clientes suelen perder con bastante facilidad las contraseñas de sus cuentas, y esto es más cómodo que volver a reescribirlas todas.

Enviar el Spam a una carpeta con Qmail

Siempre he hechado de menos en Plesk y Qmail la posibilidad de que envie los correos clasificados como Spam a una carpeta especifica, por que el hecho de marcar los correos para que se borren siempre me ha resultado una medida excesiva, pero casi necesaria si tu buzon se llena de ciento o miles de correos marcados como spam al dia.

Para ello haremos uso de Safecat : http://jeenyus.net/~budney/linux/software/safecat.html
Lo instalaremos de la siguiente manera:
cd /usr/local/src/
wget http://jeenyus.net/~budney/linux/software/safecat/safecat-1.13.tar.gz
tar xvf safecat-1.13.tar.gz
cd safecat-1.13
make
make setup check

Una vez hecho esto verificaremos donde tenemos instalado el procmail con:
which procmail y apuntaremos la ruta que nos salga.

Crearemos ahora una carpeta desde nuestro webmail o bien por IMAP , que se llame Spam. Una vez realizado tenemos que crear un par de ficheros de configuracion:

Read the rest of this entry »

Migrar correos con Plesk y Qmail

A la hora de realizar una migracion de correos, siempre nos encontramos con la posibilidad que mientras se actualizan las DNS , los correos pueden ir llegando indistintamente al servidor viejo como al nuevo al que estemos llevando el dominio.

Por ello la mejor forma de migrarlo es utilizar el asistente de migracion de Plesk si la plataforma a la que lo estemos llevando lo soporte, y a parte en el momento que estemos haciendo esto, redirigir todos los correos que lleguen para ese dominio en la maquina vieja a la nueva.

El supuesto seria el siguiente, tenemos un maquina A ( IP: AA.AA.AA.AA ) que es donde tenemos actualmente el dominio ( dominio.com ) , y lo queremos trasladar a una maquina llamemosle B ( BB.BB.BB.BB ) . Entonces deberiamos crear un el siguiente fichero:

nano -w /var/qmail/control/smtproutes
Y ponemos dentro lo siguiente:
dominio.com:BB.BB.BB.BB

Depues de esto abriremos el fichero de virtualdomains, para que no entregue los correos en local
nano -w /var/qmail/control/virtualdomains

Buscaremos el nombre de nuestro dominio y pondremos una almohadilla por delante:
#dominio.com:1

Una vez hecho esto, reiniciaremos todo el plesk con:
/etc/init.d/psa stopall
/etc/init.d/psa start

Para comprobar que los correos se estan redirigiendo bien, haremos lo siguiente en el servidor viejo:
tail -f /usr/local/psa/var/log/maillog | grep dominio.com ( esto puede cambiar dependiendo de donde tengas los logs del correo )

Si al enviar un correo a tu dominio sale una linea que ponga remote, entonces lo estara enviando al servidor nuevo, como por ejemplo:
Nov 20 13:33:26 localhost qmail: 1195562006.577355 starting delivery 136: msg 262147 to remote miemail@dominio.com
Y de esta forma no perderas ningun correo y la migracion es inmediata.

Nueva versión de QmHandle

Hace ya un par de meses salió una versión de QmHandle, que para quien no lo sepa, es una utilidad programada en Perl, para manejar la cola de correo de Qmail.

En realidad la versión fué publicada el 20 de julio, pero más vale tarde que nunca, puesto que incorpora bastante mejoras, que nos ayudarán en el mantenimiento de nuestros servidores de correo.

Hasta ahora solo se podían borrar correos, que tuviesen cierta cadena de texto en el asunto, con el flag -Scadena , a partir de ahora se pueden utilizar expresiones regulares en las diferentes partes del email , cuerpo y cabecera, pongo un resumen de los nuevos comandos:

Borrar mensajes por el From: del mensaje: -fsender
Borrar mensajes por el From que cumplan una expresión regular REGEXP : -f'REGEXP'
Borrar mensajes que cumplan la expresión regular ( sin diferenciar mayúsculas y minusculas ) : -h'REGEXP'
Borrar mensajes que cumplan la expresión regular en cuerpo ( sin diferenciar mayúsculas y minusculas ) : -b'REGEXP'
Borrar mensajes que cumplan la expresión regular ( diferenciando mayúsculas y minusculas ) : -H'REGEXP'
Borrar mensajes que cumplan la expresión regular en cuerpo ( sin diferenciar mayúsculas y minusculas ) : -B'REGEXP'
Borrar todos los mensajes que vayan para usuarios que cumplan la expresión regular ( util por ejemplo cuando hay miles de correos de Spam por ejemplo a cuentas de AOL : -t'REGEXP'

Otra cosa que se ha añadido es que a la hora de mostrar las stats de la cola de correo con el flag -s , ahora también muestra la cantidad de bounces que hay.

Pódeis descargarlo en la siguiente dirección:
http://ovh.dl.sourceforge.net/sourceforge/qmhandle/qmhandle-1.3.2.tar.gz

Controlar el ancho de banda con apache y cband

Para este acometido utilizaremos mod-cband. Y de allí bajaremos la versión más moderna, en nuestro caso, mod-cband-0.9.7.5.tgz.

wget http://cband.linux.pl/download/mod-cband-0.9.7.5.tgz

Ahora lo descompriremos y entramos al directorio.
tar -xvzf mod-cband-0.9.7.5.tgz
cd cd mod-cband-0.9.7.5

Ahora ya solo nos queda compilarlo
./configure
make
make install

Una vez hecho ya tenemos el módulo compilado y listo para que lo añadamos a la configuración de nuestro apache.
En mi caso la librerías las tengo en /usr/lib/httpd/modules/mod_cband.so , al hacer el make install os dirá de todas formas donde lo ha instalado.

nano -w /etc/httpd/conf/httpd.conf

y añadimos en la sección de modulos:
LoadModule cband_module /usr/lib/httpd/modules/mod_cband.so

Ya tenemos instalado el módulo, solo nos quedará configurarlo, para ello podemos leer la documentación oficial en : http://cband.linux.pl/documentation , o si no esperad a que hagamos la seguna entrega con algunos ejemplos.