Jun 16

Tal vez en alguna ocasión, habeis querido cambiar la ip un servidor ( por ejemplo en una migración de una máquina a otro proveedor ) y os encontráis con que no teneis la posibilidad de cambiar la configuración IP para todos los dominios en plesk, si no que lo tenéis que hacer de 1 en 1 , claro para 20 dominios no es tanto trabajo , pero ¿ Qué pasa cuando son 250 ?

Primero deberis aseguraros que todos los clientes que tengais tienen metida la nueva IP en su pool de ip’s, si no os dará error. Yo en mi caso tengo ahora los dominios en /var/www/vhosts ( Que el ruta por defecto para las webs a partir de plesk 8 , Si la vuestra fuese otra tendrías que adaptar el comando .

ls /var/www/vhosts -1 | awk ‘{print “/usr/local/psa/bin/domain –update “$1″ -ip DIRECCION_IP_NUEVA”}’ | sh

Tal vez haya algunos dominios que no querais cambiar por lo que sea, podríais en vez de ejecutarlos directamente meter los comando a un archivo para luego eliminar los que no querais mover de la siguiente manera:

ls /var/www/vhosts -1 | awk ‘{print “/usr/local/psa/bin/domain –update “$1″ -ip DIRECCION_IP_NUEVA”}’ > /tmp/cambia_ip_bulk.sh

Y después de eliminar los dominios que no quereis cambiar, hacer lo siguiente:

sh /tmp/cambia_ip_bulk.sh

Si algún dominio diese fallo os saldría un error y luego podreis mirarlo a mano. Asi como hay 2 líneas que os darán fallo seguro pero no pasa, se trata de los directorios chrot, y default, como no son dominios habiles no pasa nada por ese error que recibireis.

como último asegurarnos que todos los cambios se hacen efectivos:

/usr/local/psa/admin/bin/websrvmng -av

De esta forma podreis hacer un bulk update de ip’s para los dominios en plesk, en cuestión de unos minutos. Espero que os sirva de ayuda.

Jan 14

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'

Jan 10

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

Dec 27

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.

Dec 20

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.

Nov 20

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:

Continue reading »