Archive for the ‘Soporte’ category

File Upload Warning: Max File Size Exceeded

March 5th, 2010

Si estamos usando un script en php y necesitamos subir ficheros de gran tamaño, puede que tengamos que ampliar algunos parámetros.

Normalente aparece un error como :
File Upload Warning: Max File Size Exceeded

Para ello, hay que revisar los siguientes parámetros:

  • Share/Bookmark

[magento] cambiar usuario y contraseña de la base de datos

December 22nd, 2009

Para cambiar los datos de acceso a la base de datos que usa la instalación de Magento hay que editar el fichero :

/app/etc/local.xml

La estructura del fichero es la siguiente :

<config>
    <global>
        <install>
            <date><![CDATA[Tue, 14 Jul 2009 16:19:11 +0000]]></date>
        </install>
        <crypt>
            <key><![CDATA[g41f732d5dc4abfb174c73bb76cc0670]]></key>
        </crypt>
        <disable_local_modules>false</disable_local_modules>
        <resources>
            <db>
                <table_prefix><![CDATA[]]></table_prefix>
            </db>
            <default_setup>
                <connection>
                    <host><![CDATA[localhost]]></host>
                    <username><![CDATA[user_name]]></username>
                    <password><![CDATA[user_password]]></password>
                    <dbname><![CDATA[data_base_name]]></dbname>
                    <active>1</active>
                </connection>
            </default_setup>
        </resources>
        <session_save><![CDATA[files]]></session_save>
    </global>
    <admin>
        <routers>
            <adminhtml>
                <args>
                    <frontName><![CDATA[admin]]></frontName>
                </args>
            </adminhtml>
        </routers>
    </admin>
</config>
  • Share/Bookmark

[mysql] Reparar todas las tablas de todas las bases de datos

December 22nd, 2009

Para reparar todas las tablas de todas las bases de datos ( teniendo en cuenta que usamos Pleks ) en una sola linea tienes este churro:

for database in $(mysql --skip-column-names -uadmin -p`cat /etc/psa/.psa.shadow` -e "show databases" ); do echo "optmizing tables from $database"; for table in $(mysql --skip-column-names -uadmin -p`cat /etc/psa/.psa.shadow` -e "show tables" $database ); do echo "-> $table " ; mysql -uadmin -p`cat /etc/psa/.psa.shadow` -e "OPTIMIZE TABLE $table" $database ; done ; done ;
  • Share/Bookmark

[debian] ValueError: unsupported format character ‘t’ (0×74) at index 8

December 11th, 2009

Me he encontrado con este problema al chequear una lista de correo en mi máquina con Plesk:

check_perms : chequea los permisos de ficheros y directorios de la estructura de mailman

# ./check_perms -f -v
comprobando el modo para /var/lib/mailman
    comprobando gid y modo de /var/lib/mailman/logs/post
    comprobando gid y modo de /var/lib/mailman/logs/error
    comprobando gid y modo de /var/lib/mailman/logs/qrunner
    comprobando gid y modo de /var/lib/mailman/logs/smtp
    comprobando gid y modo de /var/lib/mailman/logs/subscribe
    comprobando gid y modo de /var/lib/mailman/logs/smtp-failure
    comprobando gid y modo de /var/lib/mailman/logs/vette
    comprobando gid y modo de /var/lib/mailman/logs/bounce
    comprobando gid y modo de /var/lib/mailman/logs/locks
    comprobando gid y modo de /var/lib/mailman/mail
Traceback (most recent call last):
  File "./check_perms", line 380, in ?
    checkall()
  File "./check_perms", line 196, in checkall
    os.path.walk(d, checkwalk, STATE)
  File "/usr/lib/python2.4/posixpath.py", line 290, in walk
    func(arg, top, names)
  File "./check_perms", line 120, in checkwalk
    print _('%(path)s bad group (has: %(groupname)s, '
  File "/usr/lib/mailman/Mailman/i18n.py", line 90, in _
    return tns % dict
ValueError: unsupported format character 't' (0x74) at index 8

Según he visto comentado en varias fuentes es un bug debido a un problema con el juego de caracteres de la consola, por lo que utf8 está generando problemas. Hay que forzar a ejecutarlo con LANG=C

export  LC_ALL=C; export  LANG=C
./check_perms -f -v
  • Share/Bookmark

ayuda plesk : error al borrar un dominio

November 30th, 2009

Un error que sigue apareciendo aunque pasen versiones y versiones de Plesk ( desde la 7.4 a la 9.2 ) es la perdida de integridad referencial en algunas tablas. Esto provoca que a la hora de ejectuar algunas herramientas y falten datos se generen errores. En ese caso al borrar el dominio ‘delete.me’ nos aparece este mensaje :

0: class.MailManager.php:242
        MailManager::execWithException(string 'smart_exec', string 'mailmng', array, array, string 'lst')
1: class.MailManager.php:274
        MailManager->callMailManager(string 'remove-mailname', array)
2: class.MailManager.php:354
        MailManager->removeMailname(string 'sharoj.com', string 'delete')
3: cmd_mail.php3:1357
        mn_del(string '490')
4: class.DSMail.php:211
        DSMail->delete(boolean false)
5: class.PhDomain.php:358
        PhDomain->reset(integer '0', boolean true, boolean false)
6: class.BsDomain.php:330
        BsDomain->reset(integer '0')
7: class.BsDomain.php:302
      BsDomain->delete(integer '0')
8: class.BsDomain.php:536
        mdeleteDomains(array)
9: removeDomains.php3:42
        require(string '/opt/psa/admin/htdocs/domains/removeDomains.php3')
10: plesk.php:51

Tendremos que buscar manualmente donde está el problema y repararlo , directamente a la base de datos.

Comenzamos a buscar relaciones rotas entre objetos:

# mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 152938
Server version: 5.0.32-Debian_7etch10-log Debian etch distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select id, name from domains where name = "delete.me";
+------+------------+
| id   | name       |
+------+------------+
| 1241 | delete.me  |
+------+------------+
1 row in set (0.00 sec)

Ya tenemos el ID del dominio, nos centramos en las cuentas de correo ya que el error se genera al borrar cuentas de correo. Vamos a ver que tablas hay en esta version de Plesk ( 9.2.3 )

mysql> show tables like '%mail%' ;
+------------------------+
| Tables_in_psa (%mail%) |
+------------------------+
| Webmails               |
| badmailfrom            |
| mail                   |
| mail_aliases           |
| mail_redir             |
| mail_resp              |
| mass_mail              |
| mass_mail_clients      |
| mass_mail_domains      |
+------------------------+
9 rows in set (0.00 sec)

La tabla que nos interesa es mail vamos a ver que esctructura tiene y vamos sacando datos:

mysql> desc mail ;
+---------------+------------------------------------------+------+-----+---------+----------------+
| Field         | Type                                     | Null | Key | Default | Extra          |
+---------------+------------------------------------------+------+-----+---------+----------------+
| id            | int(10) unsigned                         | NO   | PRI | NULL    | auto_increment |
| mail_name     | varchar(245)                             | NO   |     |         |                |
| perm_id       | int(10) unsigned                         | NO   | MUL |         |                |
| postbox       | enum('false','true')                     | NO   |     | false   |                |
| account_id    | int(10) unsigned                         | NO   | MUL |         |                |
| redirect      | enum('false','true')                     | NO   |     | false   |                |
| redir_addr    | varchar(255)                             | YES  |     | NULL    |                |
| mail_group    | enum('false','true')                     | NO   |     | false   |                |
| autoresponder | enum('false','true')                     | NO   |     | false   |                |
| spamfilter    | enum('false','true')                     | NO   |     | true    |                |
| virusfilter   | enum('none','incoming','outgoing','any') | NO   |     | none    |                |
| mbox_quota    | bigint(20)                               | NO   |     | -1      |                |
| dom_id        | int(10) unsigned                         | NO   | MUL |         |                |
+---------------+------------------------------------------+------+-----+---------+----------------+
13 rows in set (0.01 sec)

mysql> select * from mail where dom_id = 1241;
+-----+-----------+---------+---------+------------+----------+------------+------------+---------------+------------+-------------+------------+--------+
| id  | mail_name | perm_id | postbox | account_id | redirect | redir_addr | mail_group | autoresponder | spamfilter | virusfilter | mbox_quota | dom_id |
+-----+-----------+---------+---------+------------+----------+------------+------------+---------------+------------+-------------+------------+--------+
| 490 | delete.me |    2202 | true    |       2204 | false    |            | false      | false         | false      | incoming    |         -1 |   1241 |
+-----+-----------+---------+---------+------------+----------+------------+------------+---------------+------------+-------------+------------+--------+
1 row in set (0.00 sec)

Vemos que tiene al menos una cuenta de correo para el usuario 2204, vamos a buscar este usuario en la tabla accounts, ya que el id es accounts_id

mysql> show tables like '%acco%'
    -> ;
+------------------------+
| Tables_in_psa (%acco%) |
+------------------------+
| accounts               |
+------------------------+
1 row in set (0.00 sec)

mysql> select * from accounts where id = 2204 ;
Empty set (0.01 sec)

Pues no está, aquí tenemos el problema, no existe la información del usuario pero sí el buzón.
lo más comodo es borar la entrada en la base de datos de la cuenta de correo. Dado que vamos a borrar el dominio nos es indiferente conservarlo.

mysql> delete from mail where id =490 limit 1 ;
Query OK, 1 row affected (0.03 sec)

De otra forma , habíamos dado de alta una fila en accounts con el id 2204 .

  • Share/Bookmark

He migrado mi web y ahora no me salen los acentos !!!

November 20th, 2009

Suele ocurrir cuando migramos de un sistema a otro que el juego de caracteres del sistema no es el mismo. Esto unido a que la mayoría de los no profesionales ni saben ni les interesa codificar sus webs correctamente genera horror y caos tras una migración.

Frases célebres :

  • me han hackeado la web, las eñes (ñ) no salen
  • no salen los acentos, arreglamelo
  • algo pasa con el office que me salen símbolos en vez de tildes , eñes y exclamaciones.
  • y la mítica de no me funciona internet…

Para evitar que esta tortura se dilate en el tiempo tengo un copy paste bastante elegante que ahorra tiempo:

cd /var/www/vhosts/tudominio.ext/httpdocs
alias cp='cp'

for file in $( find -name "*.htm*" ); do echo "convirtiendo $file.."; cat $file |iconv -flatin1 -t utf8> ../tmp.htm; cp ../tmp.htm $file ; done ;

rm -f ../tmp.htm

Basicamente convertimos todos los ficheros de latin1 a utf8 usando un fichero temporal fuera del httpdocs para que no nos convierta el propio fichero temporal.

RECOMENDACIÓN:
Elegir un fichero, hacer el iconv a mano y ver que aparece correctamente en el explorador ya que apache también puede estar configurado para usar por defecto un juego de caracteres u otro. O que el cambio no sea de latin1 a utf8 sino al revés. Eso ya es cosa vuestra.

  • Share/Bookmark

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

phpBB 3.x forums config.php sample file

November 11th, 2009

Hoy he necesitado este ejemplo de fichero de configuración para un foro phpBB3. Me ha ahorrado tiempo y espero que ayude a alguien más.

El caso practico ha sido restarurar un foro phpBB 2 con solo un volcado de mysql y migrarlo a phpBB 3, despues de actualizar a la ultima version me cargué el fichero config.php

<?php
// phpBB 3.0.x auto-generated configuration file
// Do not change anything in this file!
$dbms = 'mysql'; //database type it may not be mysql
$dbhost = 'localhost'; // usually localhost
$dbport = '' // empty if port default';
$dbname = 'database name';
$dbuser = 'database user name';
$dbpasswd = 'database password';

$table_prefix = 'phpbb__'; // usually phpbb__
$acm_type = 'file';
$load_extensions = '';

@define('PHPBB_INSTALLED', true);
//@define('DEBUG', true);
//@define('DEBUG_EXTRA', true);
?>
  • Share/Bookmark

Error mounting VZ registry for VPS

November 3rd, 2009

Esto es porque cada VPS tiene sus propias claves de registro que almacenan en el registro en : HKEY_LOCAL_MACHINE \

En el arranque se cargar se monta el vps usando estas entradas.

Para resolver este problema, necesita VPS para sustituir el ID, se puede reconstruir el campo de registro.
El método puede ser utilizado VZMC, haga clic derecho en VPS, seleccione Mover, a continuación, introduzca los nuevos números de identificación puede ser.

También puede utilizar las operaciones de línea de comandos:

vzmlocal 101:888 

Reinicie el VPS, ahora debe estar debidamente montado.

  • Share/Bookmark

Unauthorized Acces is denied due to invalid credentials.

October 30th, 2009

Este error está apareciendo en alguna windows con Plesk 8.6

401 Unauthorized
Acces is denied due to invalid credentials.

Después de trastear bastante la solucion es la siguiente:

Borrar fichero .security del home del alojamiento

%plesk_vhosts%\dominio.ext\.Security

Reconfigurar el dominio :

%plesk_bin%\websrvmng --reconfigure-vhost --vhost-name=dominio.ext
  • Share/Bookmark