Sacar una lista de dominios y de IPs del servidor Plesk

Si usas Plesk y quieres un listado de todos tus dominios y la IP que utilizan, sólo tienes que ejecutar esta consulta desde un cliente o desde shell MySQL con un usuario que tenga permisos (de lectura como mínimo) a la base de datos psa (es la base de datos interna de Plesk), por ejemplo, usa como usuario las mismas credenciales que tu “superadmin” de Plesk.

SELECT i.ip_address, d.name FROM psa.hosting AS h
LEFT JOIN psa.domains AS d ON h.dom_id = d.id
LEFT JOIN psa.IP_Addresses AS i ON h.ip_address_id = i.id;

Si lo que quieres es un resumen con todas las IPs, el número de dominios que usan y un dominio de ejemplo, usa esta consulta:

SELECT i.ip_address, COUNT(d.name) AS dominios, d.name AS uno FROM psa.hosting AS h
LEFT JOIN psa.domains AS d ON h.dom_id = d.id
LEFT JOIN psa.IP_Addresses AS i ON h.ip_address_id = i.id
GROUP BY h.ip_address_id
ORDER BY h.ip_address_id, d.name

Instalar PDFlib en servidor web Linux con Plesk

Las funciones PDF en PHP pueden crear archivos PDF utilizando la librería PDFlib creada por Thomas Merz.

Para instalarlar en un servidor con Plesk hacemos lo siguiente.

Descargamos la libreria pdflib y el módulo pdf.so para «conectar» la libreria con el servidor php 😀

Descargamos e instalamos la libreria PDFlib en el servidor

root@server# wget http://www.pdflib.com/binaries/PDFlib/703/PDFlib-Lite-7.0.3.tar.gz
root@server#  tar xvzf PDFlib-Lite-7.0.3.tar.gz
root@server#  cd PDFlib-Lite-7.0.3
root@server#  ./configure --prefix=$HOME/usr --without-java
root@server#  make
root@server#  make install

install php-pear using

yum install php-pear

root@server#  pecl download pdflib
root@server#  tar xvzf pdflib-*.tgz
root@server#  cd pdflib-*
root@server#  phpize
root@server#  ./configure --with-pdflib=$HOME/usr
root@server#  make
root@server#  make test
make install

Con estos pasos ya solo nos queda agregar pdf.so en el fichero de configuración de php /etc/php.ini
Reiniciaimos Apache y ya lo tienes¡¡¡

Encontrar shells r57 y c99 oculta en el servidor

Aqui os dejo estas pequeñas lineas de comandos en linux para encontrar las shells r57 y c99 en nuestro servidor.

Estos comandos lo que hace es buscar con el comando find en el directory que le digamos y en el tipo de extension que querramos, y con xargs busca dentro del contenido del archivo la palabra r57 o c99 segun le indiquemos, y con awk nos muestra la ruta completa del archivo que contiene r57 y c99, en estos casos nos muestra rm -rf que es el comando para borrar cualquier archivo o carpeta sin preguntar, no recomiendo usar rm -rf sin antes examinar el contenido de los archivos personalmente, vaya a ser que la caguemos.

Para buscar la shell r57 en php

find /var/www/  -name "*".php  -type f -print0  | xargs -0 grep r57 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Para buscar la shell r57 en txt

find /var/www/  -name "*".txt  -type f -print0  | xargs -0 grep r57 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Para buscar la shell r57 en gif

find /var/www/  -name "*".gif  -type f -print0  | xargs -0 grep r57 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Para buscar la shell c99 en php

find /var/www/  -name "*".php  -type f -print0  | xargs -0 grep c99 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Para buscar la shell c99 en jpg

find /var/www/  -name "*".jpg  -type f -print0  | xargs -0 grep c99 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Para buscar la shell c99 en gif

find /var/www/  -name "*".gif  -type f -print0  | xargs -0 grep c99 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Si teneis alguna pregunta hacerla¡¡¡¡¡ no os calleis, que callarse y quedarse con dudas es de tontos¡¡¡

Restablecer los permisos predeterminados en el directorio del virtualhost en Plesk

Síntomas

Algunos archivos y directorios del dominio han perdido sus permisos. Varios de ellos son propiedad del usuario “apache” o “root” de Apache.

Por ejemplo:

# ls -l /var/www/vhosts/blogofsysadmins.com/
total 48
drwx------ 5 apache     apache 4096 Mar 16 20:07 anon_ftp
drwx------ 2 root       psaserv 4096 Mar 16 20:07 bin
drwx------ 3 apache     apache 4096 Mar 16 20:07 cgi-bin
drwx------ 2 root       psaserv 4096 Aug  4 12:56 conf
drwx------ 2 root       psaserv 4096 Mar 16 20:07 error_docs
drwx------ 7 apache     apache 4096 Mar 16 20:07 httpdocs
drwx------ 7 apache     apache 4096 Mar 16 20:07 httpsdocs
drwx------ 2 root       psaserv 4096 Aug  4 12:56 pd
drwx------ 2 root       root    4096 Mar 16 20:07 private
dr-x------ 7 root       psaserv 4096 Mar 16 20:07 statistics
drwx------ 2 root       psaserv 4096 Mar 16 20:07 subdomains
drwx------ 2 root       psaserv 4096 Mar 16 20:07 web_users
~#

Cuando intento cargar archivos a través del Administrador de Archivos o de un cliente FTP, obtengo los errores «Permiso denegado» o «Acceso denegado«.

Resolución

Use la utilidad «vhostmng» para restablecer los permisos. El comando a ejecutar es el siguiente:

~# /usr/local/psa/admin/sbin/vhostmng --install-vhost --vhost-name=<domain name> --user-name=<username> --set-content-permissions

Donde <domain name> es el dominio donde deben restaurarse los permisos y <username> es el usuario FTP del dominio configurado en Parallels Plesk Panel en la página Dominios -> <domain name> -> Opciones de Alojamiento Web (versión 9.x) o Dominios -> <domain name> -> Configuración (versión 8.x).

El comando restaurará los permisos predeterminados en el directorio del virtualhost:

drwxr-x--- 5 ftp_user   psaserv 4096 Mar 16 20:07 anon_ftp
drwxr-xr-x 2 root       psaserv 4096 Mar 16 20:07 bin
drwxr-x--- 3 ftp_user   psaserv 4096 Mar 16 20:07 cgi-bin
drwxr-x--- 2 root       psaserv 4096 Aug  4 12:56 conf
drwxr-xr-x 2 root       psaserv 4096 Mar 16 20:07 error_docs
drwxr-x--- 7 ftp_user   psaserv 4096 Mar 16 20:07 httpdocs
drwxr-x--- 7 ftp_user   psaserv 4096 Mar 16 20:07 httpsdocs
drwxr-x--- 2 root       psaserv 4096 Aug  4 12:56 pd
drwx------ 2 ftp_user   root    4096 Mar 16 20:07 private
dr-xr-x--- 7 root       psaserv 4096 Mar 16 20:07 statistics
drwxr-xr-x 2 root       psaserv 4096 Mar 16 20:07 subdomains
drwxr-xr-x 2 root       psaserv 4096 Mar 16 20:07 web_users

Desactivar servicio Mail por dominio en Plesk

Es fácil, si teneis que desactivar el servicio Mail en algun dominio por cualquier causa y por el panel de control web de Plesk es imposible, aqui teneis el comando de plesk para desactivar el servicio de mail en el dominio que querrais en Plesk

# /etc/init.d/psa stopall
# /etc/init.d/mysql start
# /usr/local/psa/bin/domain -u midominio.com -mail_service false