[Magento] Invalid id or tag ‘’ : must use only [a-zA-Z0-9_] [Solucionado]

Si recibimos un error al crear un layout personalizado para nuestra tienda magento similar al siguiente:

Invalid id or tag ‘’ : must use only [a-zA-Z0-9_]
Trace:
#0 \lib\Zend\Cache\Core.php(545): Zend_Cache::throwException(’Invalid id or t...’)
#1 \lib\Zend\Cache\Core.php(564): Zend_Cache_Core::_validateIdOrTag(’’)
#2 \lib\Zend\Cache\Core.php(322): Zend_Cache_Core::_validateTagsArray(Array)
#3 \app\code\core\Mage\Core\Model\App.php(1045): Zend_Cache_Core->save(’saveCache()
#6 \app\code\core\Mage\Core\Controller\Varien\Action.php(265): Mage_Core_Model_Layout_Update->load()
#7 \app\code\core\Mage\Cms\Helper\Page.php(83): Mage_Core_Controller_Varien_Action->loadLayoutUpdates()
#8 \app\code\core\Mage\Cms\controllers\IndexController.php(45): Mage_Cms_Helper_Page->renderPage(Object(Mage_Cms_IndexController), ‘home-german’)
#9 \app\code\core\Mage\Core\Controller\Varien\Action.php(376): Mage_Cms_IndexController->indexAction()
#10 \app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(248): Mage_Core_Controller_Varien_Action->dispatch(’index’)
#11 \app\code\core\Mage\Core\Controller\Varien\Front.php(158): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#12 \app\Mage.php(459): Mage_Core_Controller_Varien_Front->dispatch()
#13 \index.php(65): Mage::run()
#14 {main}

Lo que debemos hacer es seguir 2 simples pasos, el primero será buscar nuestro archivo use_cache.ser (que puede que no tengamos si lo hemos trasteado anteriormente).

app/etc/use_cache.ser

1.- en caso de no tenerlo lo crearemos, si lo tenemos pasamos al punto 2

cd app/etc/use_cache.ser
touch use_cache.ser

2.- y ahora le cambiaremos los permisos de escritura

chmod 666 use_cache.ser

(es muy frecuente encontrar el problema por haber puesto permisos 777 que son incorrectos para este archivo).

Una vez ya tenemos el archivo bien configurado, nos vamos a ir al fichero en el que agregamos nuestro layout, en este caso

cd app/local/local.xml

y buscamos la parte del código, por ejemplo:

<cms>
    <layouts>
        <redirect>
            <label>Limpio</label>
            <template>page/0column.phtml</template>
        </redirect>
    </layouts>
</cms>

Pues bien, el problema reside en que hay que definir una etiqueta layout, con lo que quedaría así:

<cms>
<layouts>
    <redirect>
        <label>Limpio</label>
            <template>page/0column.phtml</template>
            <layout_handle>page_0column</layout_handle>
        </redirect>
    </layouts>
</cms>

Veremos que el nombre sería page/0column.phtml = page_0column si tenemos page/mitemplate.phtml pondremos page_mitemplate.
Con esto nos debería quedar resuelto el problema de código, ahora solo nos queda irnos a la administración y refrescar el caché, la próxima vez que entremos en la página que nos daba error debería funcionar.

Error ioncube loader [Solucionado]

Si has actualizado a una versión de php superior (por ejemplo caso 5.2.x) y tienes un error parecido a este:

Failed loading /usr/lib/php/modules//php_ioncube_loader_lin_5.1.so: /usr/lib/php/modules//php_ioncube_loader_lin_5.1.so: undefined symbol: zend_unmangle_property_name_ex

tu solución pasa por modificar el archivo /etc/php.d/ioncube-loader.ini. Debe tener una línea como la siguiente: zend_extension=/usr/lib/php/modules//php_ioncube_loader_lin_5.1.so

la solución es la siguiente:

nano /etc/php.d/ioncube-loader.ini

y cambiamos el 5.1 por 5.2. Guardamos y reiniciamos apache.

service httpd restart

Problema resuelto

smtp;553 sorry, that domain isn't in my list of allowed rcpthosts [Solucionado]

Si por alguna casualidad tienes un servidor y alguno de tus dominios falla al recibir correo a través de outlook desde por ejemplo hotmail con el siguiente error:

smtp;553 sorry, that domain isn’t in my list of allowed rcpthosts

la solución puede ser la siguiente.

revisa el archivo rcphosts de tu servidor y asegúrate de que tudominio.com (el que está fallando a la hora de recibir) esté en la lista.

Si no lo está lo añades abajo del todo

nano /var/qmail/control/rcphosts

Espero sirva de ayuda, a mí me solventó el problema

Cambiar el puerto ssh Centos5 [Solucionado]

Para cambiar el puerto de ssh en centos o cualquier otra distribución lo único que tenemos que hacer es editar el archivo sshd_config.

Para localizarlo o bien lo encontramos en la ruta /etc/ssh/sshd_config o haremos un locate sshd_config.

editamos el archivo

nano /etc/ssh/sshd_config

y en la línea que pone #Port 22 y la cambiamos por ejemplo por

Port 2893

el siguiente paso es reiniciar el servicio sshd.

service sshd restart

y desde este momento ya tendremos que conectar por ese puerto. Con esto nos quitamos la gran parte de los ataques de escaneos de puertos predeterminados en el ssh.

Comprobar si spamassassin está filtrando el correo en nuestro servidor.

Para realizar una prueba de si está en funcionamiento el spamassassin en nuestro server, simplemente tenemos que seguir dos pasos.
Primero, desactivar nuestro antivirus un momento por que sino la función antispam puede etiquetar el correo.
Segundo, enviarnos desde cualquier cuenta de correo a una en nuestro servidor la siguiente cadena:

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

Ese código lo interpreta el spamassassin como spam, y debería etiquetar dicho correo como tal.

Instalar Munin y monitorizar MySQL en Centos [Solucionado]

Bueno, vamos a instalar el munin en centos y como de forma predeterminada no lleva el soporte para mysql activado, se lo vamos a poner.

Lo primero es agregar el RPMForge a nuestro repositorio yum:

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Una vez tengamos ñadido el repositorio hacemos lo siguiente:

yum -y install munin munin-node

Nos aseguramos de que existe el directorio /var/www/munin (munin podemos cambiarlo por el nombre que queramos que sea accesible desde la url), sino existe lo creamos:

mkdir /var/www/munin

Cambiamos los permisos:

chown munin:munin /var/www/munin

Vamos a editar la configuración del munin

nano /etc/munin/munin.conf

y cambiamos el  htmldir a

/var/www/munin

ejemplo de servidor simple [server1.example.com] address 127.0.0.1 use_node_name yes

Ahora vamos a activarle mysql:

Creamos un usuario para mysql sin permisos ni nada (o podemos usar los de root)

editamos el munin node

nano /etc/munin/plugin-conf.d/munin-node

[mysql*]

env.mysqlopts -u muninuser -pmuninpassword

Creamos los links simbólicos entre apache y mysql:

-s /usr/share/munin/plugins/apache_* /etc/munin/plugins/ ln -s /usr/share/munin/plugins/mysql_* /etc/munin/plugins/

editamos el httpd.conf y lo dejamos con estas partes tal y como las pongo aquí

ExtendedStatus On

Descomentada

y

<Location /server-status>

SetHandler server-status

Order deny,allow

Deny from all

Allow from 127.0.0.1 </Location>

Descomentadas también

Y lo ejecutamos y ponemos a inicio

service munin-node start
chkconfig munin-node on

Cómo instalar MyTOP en centos [Solucionado]

Mytop es una digamos copia del top de linux pero para mysql, lo que nos dará toda la información de lo que se está haciendo así como algo de info sobre el rendimiento de las querys.

Bueno, vamos al grano…

Para poder instalarlo en centos y redhat tenemos que habilitar el repositorio de RPMForge que es uno de los más completitos para estos sistemas (en todas sus versiones). Para instalarlo directamente ejecutamos el siguiente comando:

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Ahora una vez se nos ha instalado el rpm ejecutamos:

yum -y install mytop

Y ya lo tenemos instalado, pero nos quedan un par de cositas por hacer. La primera es probar si nos entra directamente, en caso de que no tengamos restringido su acceso. Ponemos en la consola

mytop

y le damos al intro.

Si os pide los datos haremos lo siguiente:

nano /root/.mytop

y una vez se nos abra el archivo debemos poner lo siguiente:

user=admin o root
pass=contraseña
host=localhost
db=base de datos
delay=5
batchmode=0
header=1
color=1
idle=1

Cambiando claro está lo rojo por tus datos correctos, lo demás no es necesario cambiarlo aunque puedes cambiarlo a gusto.

para salir ctrl-x y luego y para guardar cambios

Ahora ejecutando mytop nos debería funcionar.

En caso de recibir el siguiente error:

Error in option spec: “long|!”

Haremos lo siguiente:

chmod 755 /usr/bin/mytop
nano/usr/bin/mytop

y una vez ahí comentaremos la siguiente línea:

“long|!”              => \$config{long_nums},

que quedará así

#“long|!”              => \$config{long_nums},

Ahora ejecutamos mytop y ya está, a disfrutar.

Canción del anuncio de las bolsas de carrefour

Bueno, aquí dejo la canción y el album que utilizan en este anuncio que cuando menos me parece ridículo… el que justifiquen el dejar de dar bolsas de la compra con la contaminación es algo que no había visto hasta ahora… me parece decepcionante que utilizen este tipo de argumento en lugar de poner bolsas de papel como hacen por ejemplo en estados unidos…

La canción se llama Contour Generator y es del album Two Faces de Wagon Cookin.

Para aquel que le interese aquí dejo un link donde se puede encontrar, es el album del 2007, espero os guste.

Wagon Cookin – Two Faces 2007

Cambiar zona horaria Madrid Centos5 [Solucionado]

Para los que querais cambiar la zona horaria desde la consola de comandos es bastante simple.

En centos5 basta con seguir estos pasos

ejecuta

ln -sf /usr/share/zoneinfo/CET /etc/localtime

Ahora modifica el archivo /etc/sysconfig/clock para que quede de la siguiente forma:

ZONE="Europe/Madrid"
UTC=true
ARC=false

Y por último ejecuta este comando:

hwclock --systohc --utc

Ahora si ejecutas date deberías ver la hora correcta española.

Magento: error message – Notice: Undefined index: 0 app/code/core/Mage/Core/Model/Mysql4/Config.php on line 92 [Solucionado]

Para solucionar este error después de una migración (normalmente), entra en la base de datos con ssh o phpmyadmin (o el que te parezca) y realiza las siguientes acciones:

busca la tabla core_store y core_website y en el registro con nombre admin, cambia la id a 0 (lo normal es que sea un 2)

Una vez hecho esto ya debería funcionar sin problemas.