Proteger subdominios en Plesk más SSL

Un pequeño detalle que hasta la fecha (y que me corrijan si me equivoco) que no ha solucionado la gente de Plesk, es el de poder proteger directorios fuera de la raíz principal del dominio creado, mediante la opción “Protected Directories”. Por ejemplo, queremos crear un subdominio en nuestro dominio principal.

Nombre de dominio: www.probando.com

Nombre de subdominio: subdominio.probando.com

Las raíces de uno y otro son:

www.probando.com /httpdocs o /httpsdocs

subdominio.probando.com /subdomains/subdominio/httpdocs o /subdomains/subdominio/httpdocs

El problema aquí es que Plesk (probado en la versión 8.3.0) no reconoce las raices de directorio que no sean /httpdocs o /httpsdocs. Por lo tanto, si creamos un subdominio, no podemos protegerlo “comodamente” al menos. Hay dos opciones. Si tenemos licencias para varios dominios, podemos crear un dominio nuevo, quitarle las www y asignarle el nombre de subdominio pero eso es un desperdicio de la licencia. La otra opción es crear el htaccess y htpasswd a pelo y es muy fácil. Pero como se que no me voy a acordar dentro de 1 año, lo pongo aquí y aquí se queda :D De paso, aprovecho para comentar como se puede utilizar los certificados que genera el propio panel de Plesk, que, a falta de uno comprado a otro proveedor ya nos pueden servir de algo.

No hace falta entrar por ssh, con un ftp lo podemos hacer todo. Listo los pasos desde cero.

  1. Domains->Nombredenuestrodominio->Certificates->Add New Certificate (configuramos los datos y clickamos en Self-Signed. Ya tenemos el certificado creado para ese dominio)
  2. Si queremos habilitar el certificado para el dominio principal: Domains->Nombredenuestrodominio->Setup (habilitamos el soporte SSL)
  3. Creamos el subdominio: Domains->Nombredenuestrodominio->Subdomains->Add Subdomain (habilitamos el soporte SSL)
  4. Automáticamente se crea una carpeta en /subdomains/<nombre>
  5. Ahora mismo tenemos creado un certificado para el dominio y hemos creado un subdominio. Vamos a proteger ese directorio. En este caso, que vamos a utilizar el protocolo https, necesitamos trabajar con la carpeta raíz del subdominio /subdomains/<nombre>/httpsdocs
  6. Utilizamos cualquier forma de generar un htaccess y su correspondiente htpasswd. Al final del post hay un link al respecto. Lo fundamental es saber la ruta completa hasta la carpeta que hace de DocumentRoot. Podemos mirarlo haciendo un archivo php y llamando a phpinfo()
  7. Cuando tengamos los archivos los subimos a /subdomains/<nombre>/httpsdocs. El nombre correcto de cada uno ha de ser .htaccess y .htpasswd. Si se desaparecen al subirlos por ftp, fuerza el ver archivos ocultos ;)
  8. Accede a https://subdominio.nombredetudomonio.com y prueba a entrar. Si no te coge la contraseña asegurate de que la raíz hasta el .htpasswd es correcta. Si no has querido soporte ssl será http://etc.etc.etc.

Ejemplo de htaccess:

AuthUserFile /var/www/vhosts/nombrededominio/subdomains/panel/httpsdocs/.htpasswd
AuthGroupFile /dev/null
AuthName "Password Protected Area"
AuthType Basic
<limit GET POST>
require valid-user
</limit>

Ejemplo de htpasswd:

usuariovalido:jkldfZdlfjds890

Links:

script para realizar backup programados en Plesk

Espero que os sirva de ayuda este script en php que me he encontrado en un foro privado para realizar respaldos programados en Plesk, aqui se los copypasteo:

<?php

$maintain = 3; // Cuantos respaldos conservar
$prefix = «plesk»;
$path = «/mnt/backup/»; //dont delete slash

set_time_limit(0);

$day = date(«d»);
$month = date(«m»);
$year = date(«y»);

$backupfile = «$prefix$day$month$year»;

$comando = «/usr/local/psa/bin/pleskbackup all $path$backupfile»;
@exec($comando);

$unixtime = mktime(0,0,0,$month, $day, $year); // present time
$todelete = $unixtime – ($maintain *= 86400);

// create file name to delete
$day_d = date(«d», $todelete);
$month_d = date(«m», $todelete);
$year_d = date(«y», $todelete);

$backupdel = «$prefix$day_d$month_d$year_d»;

if (@file_exists(«$path$backupdel»)) {
@exec(«rm -f $path$backupdel»); // Delete file
}

?>

Restablecer cuenta de administrador bloqueada en Plesk

Si mi cuenta de usuario administrador, fue bloqueada debido a muchos intentos fallidos de ingreso. ¿Cómo es posible restablecer el estado en el Panel de Control Plesk?

El paquete de software de Plesk es una solución de automatización para empresas de web hosting, de la empresa Parallels. Es un amplio software de gestión de servidor que gestiona todos los sistemas y aplicaciones para la Web-Hosting en un único servidor.

Por su seguridad el panel de control Parallels bloquea la cuenta admin después de múltiples intentos fallidos de acceso al sistema. Existen dos caminos para corregir este problema.

  • Restablecer cuenta en Linux
  1. Esperar unos 30 a 45 minutos y su cuenta de admin será automáticamente restablecida.
  2. Pero si usted no puede esperar este tiempo, usted debe ingresar mediante SSH y a continuación tipiar los siguientes comandos para restablecer la cuenta admin:

# mysql -u admin -p psa

Usted necesita proporcionar la contraseña actual.
En la línea de comandos de mysql se debe tipear el comando:

mysql> delete from lockout where login = ‘admin’;

  • Restablecer cuenta en Windows
  1. Conectarse usando VNC a su servidor
  2. Clic sobre el botón Inicio >Ejecutar y tipear el comando cmd > Presionar la tecla [Enter]
  3. En el símbolo del sistema se debe tipiar el comando:

C:>\Program Files\SWsoft\Plesk\MySQL\bin\mysql.exe -u admin -p PASSWORD -P8306 -D psa -e "DELETE FROM lockout"

Estadísticas de Qmail en Plesk con Isoqlog

Que es Isoqlog?

Isoqlog es un analizador de logs de MTA escrito en C. Esta desarrollado para trabajar con los logs de qmail, postfix,

sendmail and exim y genera estadísticas en formato HTML.

//www.enderunix.org/isoqlog/isoqlog.gif

Algunas características
Soporte Multi MTA, Multi dominio, estadísticas de envió y de recepción, estadísticas por tiempo, estadísticas por tamaño, traducción a varios idiomas incluido el español. http://www.enderunix.org/isoqlog/output/ Y vea un ejemplo de los resultados que genera.

1) Descargelo

wget http://www.enderunix.org/isoqlog/isoqlog-2.2.1.tar.gz

2) Descomprimalo

tar -zxvf isoqlog-2.1.1.tar.gz
cd isoqlog-2.1.1

3) Compile, instale y limpie

./configure

make
make install
make clean

4) Cree un enlace de rcpthosts (Solo Qmail)

ln -s /var/qmail/control/rcpthosts /usr/local/etc/isoqlog.domains

5) Cree el directorio de salida

mkdir /home/httpd/vhosts/domain.com/httpdocs/mailstats

6) En el directorio de salida copie algunos archivos necesarios

cp -pr /usr/local/share/isoqlog/htmltemp/images /usr/local/share/isoqlog/htmltemp/library mailstats/

7) Configúrelo

cd /usr/local/etc/

7.1) Configuracion general de isoqlog

cp isoqlog.conf-dist isoqlog.conf
vi /usr/local/etc/isoqlog.conf
=================Isoqlog.conf==============================
#Este es mi archivo de configuración /usr/local/etc/isoqlog.conf
logtype = "qmail-syslog" # log type qmai-multilog, qmail-syslog, sendmail, postfix
logstore = "/usr/local/psa/var/log/maillog"
domainsfile = "/usr/local/etc/isoqlog.domains"
outputdir = "/home/httpd/vhosts/domain.com/httpdocs/mailstats"
htmldir = "/usr/local/share/isoqlog/htmltemp"
langfile = "/usr/local/share/isoqlog/lang/spanish"
hostname = "server.domain.com"
maxsender = 100
maxreceiver = 100
maxtotal = 100
maxbyte = 100
======================================

7.1) Configuracion de lista de dominios

cd /usr/local/etc/
cp isoqlog.domains-dist isoqlog.domains
vi /usr/local/etc/isoqlog.domains
===================Isoqlog.domais========
domain1.com
domainz.net
domainzxe.org
====================================

Ejecútelo manualmente

/usr/local/bin/isoqlog

9) Programelo editando su crontab y agregue la siguiente línea (En mi caso lo tengo en prueba cada 59 Minutos)

vi /etc/crontab
*/59 * * * * root /usr/local/bin/isoqlog 1>/dev/null 2>/dev/null

10) Observe que interesante reporte

http://domain.com/mailstats/

Pdt1: Lo probé con ensim y sendmail y funciona solo que la sumas de tamaños generales quedan en 0
Pdt2: Primera version; Puede tener errores; Bienvenidas las mejoras