Posts Tagged ‘Plesk’

Agrengando lenguaje Vasco al webmail de Plesk: Horde

November 12th, 2009

Un requisito relativamente fácil como puede ser agregar un idioma a Horde ( gestor de mail vía web y software libre ) puede complicarse al tener que realizarlo en un entorno paquetizado y cerrdado como es Plesk. El problema de modificar este componente ( u otros de Plesk ) es que futuras versiones o parches de Plesk puedes modificar o machacar nuestros cambios. Además de no conocer el impacto real de nuestras modificaciones.

Desde el soporte de Parallels nos han indicado que no existe problema en agregar un nuevo lenguaje a Plesk y nos indican la guia de instalacion de idiomas en Horde http://www.horde.org/horde/docs/?f=po_README.html

Primero verificamos que version tenemos de Horde instalada. Vamos a intentar siempre usar las mismas versiones para quitarnos de problemas

# rpm -qa | grep horde
psa-horde-3.1.7-cos5.build92090714.19

Creamos el directorio para preparar la compilacion de los idiomas ( hay que generar los .mo a partir de ficheros .po )

mkdir -p /usr/src/horde
cd /usr/src/horde

Nos bajamos nuestra versión de horde:

wget http://ftp.horde.org/pub/horde/horde-3.1.7.tar.gz
tar zxvf horde-3.1.7.tar.gz

Ahora nos bajamos por separado los ficheros .po del cvs y que no están en la distribucion 3.1.7.
Es muy importante no mezclar ficheros de distribuciones para evitar problemas. La estructura de directorios se almacenará en el directorio ‘horde’

export CVSROOT=:pserver:cvsread@anoncvs.horde.org:/repository
cvs login
# password: horde
# cvs co horde/po/ horde/locale horde/lib/core.php
cvs co horde/po/ horde/locale

Como solo queremos los ficheros de cadenas, mezclar phps de distinas versiones nos dará errores de clases no encontradas

cp -r horde/po/*_* horde-3.1.7/po/
cp -r horde/locale/*_* horde-3.1.7/locale/

Tenemos algunos requistios que se pueden leer en el fichero REAME.

cd /usr/src/horde-po
wget http://download.pear.php.net/package/File_Find-1.3.0.tgz
wget http://download.pear.php.net/package/Console_Table-1.1.3.tgz

mkdir -p pear/Console
mkdir -p pear/File

tar zxvf File_Find-1.3.0.tgz -C pear/File/ *Find.php
mv pear/File/File_Find-1.3.0/Find.php pear/File/

tar zxvf Console_Table-1.1.3.tgz -C pear/Console/ *Table.php
mv pear/Console/Console_Table-1.1.3/* pear/Console/

También necesitamos la herramienta gettext al menos la version 0.12

yum install gettext

Dado que ejecutamos php con la configuracion de Plesk estamos limitados a la ejecución de comandos bajo safe_mode. En la cabecera de translator.php, agregamos las rutas necesarias ( include_path ) y con php -n hacemos que no cargue el /etc/php.ini para saltarnos el safe_mode

#!/usr/bin/php -qn
<?php
ini_set ("include_path", "/usr/src/horde/horde-3.1.7/lib:/usr/share/psa-pear/:/usr/src/horde/pear/:." );

Ahora generamos los ficheros:

./translator.php make

Copiamos los ficheros de cadenas a nuestra ubicación de la instalación de Plesk. Cuidado, no copiar ningún php de la rama del cvs a nuestra rama estable.

cp /usr/src/horde/horde-3.1.7/locale/* /usr/share/psa-horde/locale/

Por último editar la configuracón de horde de plesk para que aparezca el nuevo idioma disponible:

/etc/psa/webmail/horde/horde/nls.php
$nls['languages']['eu_ES'] = 'Euskera';

Aún no he tenido la oportunidad de problarlo pero casi seguro que con alguna alguna actualización, machaca este fichero y hay que volver a editarlo para agregar el idioma.

  • Share/Bookmark

safe_mode y wordpress

April 23rd, 2009

Una forma elegante de resolver el problema de permisos con wordpress teniendo safe_mode activo es la siguiente.

Podremos permisos 7777 ( sticky + guid ) a la carpeta de uploads

chmod 7777 /var/www/vhosts/midominio.com/httpdocs/wp-content/uploads

y agregamos esta linea al fichero /var/www/vhosts/midominio.com/conf/vhost.conf :

php_admin_flag safe_mode_gid  "On"

Con esta directiva le indicamos al motor php que sólo compruebe el grupo en las directivas de safe_mode. Como tiene permisos de stick y guid, los ficheros subidos heredaran el grupo al que pertenece la carpeta ‘uploads’

Para que este cambio quede correctamente funcionando hay que lanzar el reconfigurador ( en caso de plesk ) y recargar el apache:

/usr/local/psa/admin/bin/websrvmng --reconfigure-vhost --vhost-name=midominio.com

apachectl graceful ó apache2ctl graceful para debian

  • Share/Bookmark

Spamassassin + Plesk + Windows … y cómo lo personalizo ?

April 13th, 2009

Después de un rato intentando parametrizar a mi gusto el spamassasin de plesk en una instalación windows he encontrado que la ruta correcta es

esta ruta contiene reglas pero no es la ruta válida:

"C:\Program Files\Parallels\Plesk\Additional\SpamAssassin\rules"

Esta otra SÍ ES LA CORRECTA

"C:\Program Files\Parallels\Plesk\Additional\Perl\site\share\spamassassin"
  • Share/Bookmark

PHP Warning: [eAccelerator] Can not create shared memory area in Unknown on line 0

November 6th, 2008

eAccelertor es una solución de cache para php. Con este software conseguimos guardar una copia de scripts ya interpretados, de esta forma cada vez que el servidor web tenga que lanzar este script ahorrará una parte de tiempo y carga de cpu.

Con este software puede ocurrir que nos econtremos con el siguiente error:

PHP Warning:  [eAccelerator] Can not create shared memory area in Unknown on line 0PHP Fatal error:  Unable to start eAccelerator module in Unknown on line 0

    
Por defecto el tamaño de memoria compartida ( shared memory ) en un kernel 2.6 es de 32mb. Este parámetro se encuentra en el fichero /proc/sys/kernel/shmmax de forma que puedes comprobar si está en el límite. Para modificarlo existen dos formas :

* Cambio on-fly, con esto duplicaremos el tamaño actual

echo $(( `cat /proc/sys/kernel/shmmax` * 2 ))  > /proc/sys/kernel/shmmax

* Cambio permamente, modificando /etc/sysctl.conf

kernel.shmmax=VALOR_DESEADO

# aplicar los cambios reiniciando o con este comando:sysctl -p 

En el caso de los vps habŕa que comprobar si la memoria asignada es suficiente ( share memory and socket buffers ). Para ello podemos verificar el fichero /proc/user_beancounter donde muestra todos los parámetros que tenemos y la última columna referente a failcnt, es la cantidad de veces que se han superado estos límites. Seguramente aparecerá la fila  PRIVVMPAGES con el contador distinto de 0. Habrá que ampliar este valor en ese caso.

  • Share/Bookmark

Recuperar contraseña de admin Plesk Windows

October 30th, 2008

La forma más cómoda de recuperar el password de admin en un servidor Windows con una instalación de Plesk, es acceder mediante una shell o terminal server y ejecutar este comando

"%plesk_bin%"\plesksrvclient.exe -get

Nos abrirá una ventana con la password de admin de Plesk.

También podemos asignar una nueva credencial con

"%plesk_bin%"\plesksrvclient.exe -set

Si agregamos al final true cambiará tambien la contraseña de la base de datos de Plesk. Finalmente si usamos -nogui en vez de sacar el resultado por pantalla lo mostrará en consola y enviará al portapapeles el password.

  • Share/Bookmark