Blog

Etiqueta: hosting plesk 9

Habilitar subdominios wildcard con Plesk

Publicado en Sistemas TI en mayo 7, 2010 5:04 am

Este artículo explica como hacer que todos los subdominios apunten a un dominio.

En primer lugar hay que añadir un registro en la zona DNS del tipo:


*.dominio.com.   CNAME   dominio.com

Luego, dentro del directorio /conf creamos o editamos el archivo vhost.conf


ServerAlias *.dominio.com

Por último se ejecuta el siguiente comando para aplicar los cambios:


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

ASP.NET con IIS 7.5 y Plesk 9.3

Publicado en General en abril 3, 2010 10:58 am

Hemos detectado el siguiente problema tras instalar Plesk 9.3 sobre Windows Server 2008 R2.


 Server Error in '/mssql' Application.
 --------------------------------------------------------------------------------

 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
 Description: An unhandled exception occurred during the execution of
 the current web request. Please review the stack trace for more
 information about the error and where it originated in the code.

 Exception Details: System.UnauthorizedAccessException: Access is
 denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

 ASP.NET is not authorized to access the requested resource. Consider
 granting access rights to the resource to the ASP.NET request
 identity. ASP.NET has a base process identity (typically
 {MACHINE}ASPNET on IIS 5 or Network Service on IIS 6) that is used if
 the application is not impersonating. If the application is
 impersonating via , the identity will be
 the anonymous user (typically IUSR_MACHINENAME) or the authenticated
 request user.

 To grant ASP.NET access to a file, right-click the file in Explorer,
 choose "Properties" and select the Security tab. Click "Add" to add
 the appropriate user or group. Highlight the ASP.NET account, and
 check the boxes for the desired access.

 Source Error:

 An unhandled exception was generated during the execution of the
 current web request. Information regarding the origin and location of
 the exception can be identified using the exception stack trace below.

 Stack Trace:

 [UnauthorizedAccessException: Access is denied. (Exception from
 HRESULT: 0x80070005 (E_ACCESSDENIED))]

 [FileLoadException: Could not load file or assembly
 'System.ServiceModel, Version=3.0.0.0, Culture=neutral,
 PublicKeyToken=b77a5c561934e089' or one of its dependencies. Access is
 denied.]
 System.Reflection.Assembly._nLoad(AssemblyName fileName, String
 codeBase, Evidence assemblySecurity, Assembly locationHint,
 StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean
 forIntrospection) +0
 System.Reflection.Assembly.nLoad(AssemblyName fileName, String
 codeBase, Evidence assemblySecurity, Assembly locationHint,
 StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean
 forIntrospection) +43
 System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef,
 Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean
 forIntrospection) +127
 System.Reflection.Assembly.InternalLoad(String assemblyString,
 Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean
 forIntrospection) +142
 System.Reflection.Assembly.Load(String assemblyString) +28

 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String
 assemblyName, Boolean starDirective) +46

 [ConfigurationErrorsException: Could not load file or assembly
 'System.ServiceModel, Version=3.0.0.0, Culture=neutral,
 PublicKeyToken=b77a5c561934e089' or one of its dependencies. Access is
 denied.]

 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String
 assemblyName, Boolean starDirective) +613

 System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo
 ai) +57

 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection
 compConfig) +178
 System.Web.Compilation.BuildProvidersCompiler..ctor(VirtualPath
 configPath, Boolean supportLocalization, String outputAssemblyName) +54

 System.Web.Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResult(Boolean  isPrecompiledApp)
 +232
 System.Web.Compilation.BuildManager.CompileGlobalAsax() +51
 System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()  +337

 [HttpException (0x80004005): Could not load file or assembly
 'System.ServiceModel, Version=3.0.0.0, Culture=neutral,
 PublicKeyToken=b77a5c561934e089' or one of its dependencies. Access is
 denied.]

 System.Web.Compilation.BuildManager.ReportTopLevelCompilationException()
 +58
 System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()  +512

 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager
 appManager, IApplicationHost appHost, IConfigMapPathFactory
 configMapPathFactory, HostingEnvironmentParameters hostingParameters)
 +729

 [HttpException (0x80004005): Could not load file or assembly
 'System.ServiceModel, Version=3.0.0.0, Culture=neutral,
 PublicKeyToken=b77a5c561934e089' or one of its dependencies. Access is
 denied.]
 System.Web.HttpRuntime.FirstRequestInit(HttpContext context)  +8897659
 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)  +85

 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest  wr,
 HttpContext context) +333

El error se podía reproducir al tratar de ejecutar una aplicación ASP.NET desde Plesk, en nuestro caso al lanzar el administrador web para bases de datos SQL Server ASP.NET Enterprise Manager o MyLittleAdmin que se ejecutan desde Plesk.

Si tratamos de corregir el error desde la herramienta Plesk Reconfigurator no solucionaremos el problema debido a que los permisos necesarios no estan añadidos. Por ello, tendremos que hacerlo a mano.

Lo único que tenemos que hacer es editar el archivo DiskSecurity.xml que encontraremos en la carpeta %PLESK_DIR%etcDiskSecurity y añadirle el siguiente contenido dentro del tag Entries:


<!-- Permisos a Assembly para ASP.NET Enterprise manager -->

<Entry AccounType="1" Account="Psacln" Path="C:Windowsassembly" AceFlags="FilesOnly" AccessMask="Read" EntryFlags="0x0" />

Finalmente hay que ejecutar el siguiente comando para que se apliquen los cambios en los permisos:


"%plesk_bin%applysecurity" --apply

Plesk 9.x rompe Yast2

Publicado en Sistemas TI en febrero 12, 2010 7:00 pm

He confirmado que al instalar Plesk 9.3 sobre openSuse, al tratar de ejecutar Yast2 fallará su ejecución:

# yast
//sbin/yast: line 27: //lib/YaST2/bin/yast2-funcs: No such file or directory
//sbin/yast: line 250: set_lang_from_sysconfig: command not found
//sbin/yast: line 279: check_ncurses: command not found
package yast2-qt is not installed
package yast2-gtk is not installed
Something is wrong with the YaST user interface.

El problema es que Plesk modifica $PATH añadiendole de forma incorrecta una doble barra. Basta con quitarla y comprobar que ya funciona.

export PATH=/sbin:/bin:/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin

Obviamente, lo anterior sólo solucionará el problema mientras tengamos la sesión abierta. Para que se conserven los cambios, lo mejor, meterlo en el .bashrc.

echo 'export PATH=/sbin:/bin:/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin' >> ~/.bashrc

Es un bug que afecta a las versiones 9.0, 9.1, 9.2 y 9.3 de Plesk. Espero que en la próxima actualización quede por fin arreglado.

Cómo obtener los paths definidos para las aplicaciones y servicios de Plesk

Publicado en Sistemas TI en enero 15, 2010 12:47 am

Puede resultar muy útil para saber dónde está cada cosa y conocer las distintas variables de Plesk. Sobre todo, si gestionais diferentes entornos y no es posible una configuración homogénea entre ellos.


# cat /etc/psa/psa.conf

#
# (c) Copyright 1999-2008 Parallels
# All Rights Reserved
#
# This file is used to declare the location of different utilities,
# services, and/or packages within Plesk.  No changes should be made
# to this file without first consulting support. Any changes made can
# affect service availability and performance.
#
# Each line in this file follows the following format:
#
# variable [whitespace characters] value
#
# That is, the name of the field, followed by spaces or tabs, followed
# by field value. Trailing spaces are removed.
#

# Plesk tree
PRODUCT_ROOT_D /usr/local/psa

# Directory of SysV-like Plesk initscripts
PRODUCT_RC_D /etc/init.d

# Directory for config files
PRODUCT_ETC_D /usr/local/psa/etc

# Directory for service utilities
PLESK_LIBEXEC_DIR /usr/lib64/plesk-9.0

# Virtual hosts directory
HTTPD_VHOSTS_D /srv/www/vhosts

# Apache configuration files directory
HTTPD_CONF_D /etc/apache2

# Apache include files directory
HTTPD_INCLUDE_D /etc/apache2/conf.d

# Apache binary files directory
HTTPD_BIN_D /usr/bin

#Apache log files directory
HTTPD_LOG_D /var/log/apache2

#apache startup script
HTTPD_SERVICE apache2

# Qmail directory
QMAIL_ROOT_D /var/qmail

# Location of qmail maildirs
PLESK_MAILNAMES_D /var/qmail/mailnames

# Path to rblsmtpd
RBLSMTPD /usr/sbin/rblsmtpd

# Courier-IMAP
COURIER_IMAP_ROOT_D /

# Proftpd
FTPD_CONF /etc/proftpd.conf
FTPD_CONF_INC /etc/proftpd.include
FTPD_BIN_D /usr/bin
FTPD_VAR_D /var/run/proftpd
FTPD_SCOREBOARD /var/run/proftpd/scoreboard

# Bind
NAMED_RUN_ROOT_D /var/lib/named
NAMED_OPTIONS_CONF /etc/named.conf.include.plesk-options
NAMED_ZONES_CONF /etc/named.conf.include.plesk-zones

# Webalizer
WEB_STAT /usr/bin/webalizer

# Logrotate
LOGROTATE /usr/local/psa/logrotate/sbin/logrotate

# MySQL
MYSQL_VAR_D /var/lib/mysql
MYSQL_BIN_D /usr/bin

# PostgreSQL
PGSQL_DATA_D /var/lib/pgsql/data
PGSQL_BIN_D /usr/bin

# Backups directory
DUMP_D /var/lib/psa/dumps

# Mailman directories
MAILMAN_ROOT_D /usr/lib/mailman
MAILMAN_VAR_D /var/lib/mailman

# Python binary
PYTHON_BIN /usr/bin/python2.6

# Tomcat root directory
CATALINA_HOME /usr/share/tomcat6

# DrWeb
DRWEB_ROOT_D /opt/drweb
DRWEB_ETC_D  /etc/drweb

# GnuPG binary
GPG_BIN /usr/bin/gpg

# Tar binary
TAR_BIN /bin/tar

# AWStats
AWSTATS_ETC_D /etc/awstats
AWSTATS_DOC_D /usr/share/apache2/icons/awstats

# openssl binary
OPENSSL_BIN /usr/bin/openssl

LIB_SSL_PATH /lib/libssl.so
LIB_CRYPTO_PATH /lib/libcrypto.so

CLIENT_PHP_BIN /usr/local/psa/bin/php-cli
CGI_PHP_BIN /usr/bin/php-cgi5
AWSTATS_TOOLS_D /usr/share/doc/packages/awstats/tools
AWSTATS_BIN_D   /srv/www/cgi-bin

Cómo activar o deshabilitar Safe Mode (Modo Seguro) en nuestro panel

Publicado en Nuestros servicios Sistemas TI en diciembre 24, 2009 12:59 pm

Algunas aplicaciones, como WordPress necesitan que el Safe Mode (Modo Seguro) no este activo. Esto se puede controlar facilmente desde nuestro panel de control, sin tocar una línea de código.

1) En el panel de control accedemos a Ajustes de alojamiento.

ajustes de alojamiento

2) En el apartado de soporte para PHP, activamos o desactivamos la función php_mode.

safemode

Instalar WordPress desde nuestro panel de control

Publicado en Nuestros servicios Sistemas TI en diciembre 22, 2009 7:46 pm

1) En  el panel de control de nuestro dominio, seleccionamos la opción Aplicaciones web.

image

2) Seleccionamos Instalar aplicación web.

image

3) Localizamos la aplicación WordPress y pinchamos en Instalar.

image

4) En este punto se revisarán los requisitos de WordPress y si falta algo, el asistente nos avisará de ello. Tendremos que resolver el problema para poder continuar.

image

Nota: Para resolver este problema de Safe Mode, visita este artículo.

5) Aceptamos el texto legal.

Hosting WordPress en Blackslot 1

6) Ahora vamos a la parte más importante del proceso de instalación.

  1. Botón personalizado para acceder a la aplicación: Creará un botón de acceso a la aplicación en el panel de control.
  2. Directorio de destino: Si queremos que el blog aparezca como página principal de nuestro dominio, entonces hay que elegir la opción Carpeta raíz (/). Esto instalará WordPress directamente en el directorio /httpdocs de nuestro alojamiento.
    Si por el contrario queremos meterlo en un subdirectorio, como http://midominio.com/wordpress le indicamos en la opción otros el lugar deseado.
  3. Servidor de la base de datos: Lo normal es dejar el que viene por defecto.
  4. Nombre de la base de datos: Autogenera un nombre bastante difícil de recordar. Se puede sustituir por algo más sencillo, lo mismo para el usuario.
  5. Contraseña: Será la del usuario que se crea para la base de datos.
  6. Administrator´s login: Será el usuario administrador de WordPress (wp-admin), es importante recordarlo, así como la contraseña que le pongamos.
  7. Weblog title: Finalemnte ponemos el título de nuestro blog y ya podemos pinchar en instalar.

Hosting WordPress en Blackslot 2

7) Una vez tenemos la aplicación instalada, podemos verla desde el panel y acceder a la misma.

Hosting WordPress en Blackslot 3

Hosting WordPress en Blackslot 4

Restaurar un backup de Plesk 8 en Plesk 9.*

Publicado en Sistemas TI en diciembre 22, 2009 2:48 am

En Plesk 9 se ha modificado la forma de realizar los backups que se usaba desde Plesk 7.5 y se ha sustituido el formato en el que se almacenaban.

Por tanto, para poder restaurar un backup de una versión antigua de Plesk, antes es necesario convertirlo a un formato que la nueva versión pueda manejar. Vamos a ello:

1. Sino tenemos aún el backup creado, en el servidor de origen, ejecutamos:

# /usr/local/psa/bin/pleskbackup all mibackup.psa

En caso de no encontrarse pleskbackup instalado, hay que entrar al panel de control y en SERVIDOR –> ACTUALIZADOR e instalar PLESK BACKUP MANAGER.

2. Una vez tenemos el archivo de backup generado, lo movemos al servidor de destino y convertimos el archivo a formato Plesk 9.

# /usr/local/psa/bin/pre9-backup-convert -v convert -d /var/lib/psa/dumps/ mibackup.psa

El directorio /var/lib/psa/dumps es la ubicación por defecto para almacenar los backups con Plesk 9. Ahí se creará un archivo .xml con los metadatos del backup.

3. En el panel de control, accedemos a SERVIDOR –> ADMINISTRADOR DE BACKUPS –> REPOSITORIO DEL SERVIDOR.

Ahora veremos un listado de los backups disponibles, entre ellos debería aparecer el que hemos convertido, pinchamos en él y veremos las opciones y podemos empezar el proceso de restauración.