Situación

Magento tiene esa peculiaridad de que su registro de errores no sirve para nada. Dicho esto...

Supongamos que tienes una tienda Magento en producción que necesitas modificar. En lugar de modificarla directamente, montas un servidor de desarrollo y mueves allí los ficheros y la base de datos. Hasta aquí todo normal.

Empiezas a hacer modificaciones y ves que el resultado es, cuanto menos, raro. Motivo: Magento está leyendo los datos de la caché, que tras hacer los cambios está desactualizada. Como es normal, borras toda la caché.

Craso error. Ahora no puedes ver las fotos de los productos.

Solución

Permisos

Antes que nada, asegúrate de que el usuario que utiliza tu servidor web (normalmente www-data o apache) tiene acceso de escritura a $MAGENTO_ROOT/var/ y $MAGENTO_ROOT/media/. La gente recomienda asignar permisos permisivos, tal que así:

$ chmod -R a=rwx $MAGENTO_ROOT

Yo no suelo recomendarlo, ya que si estás en un servidor compartido, cualquier otro usuario de ese servidor podría fastidiarte esos directorios. Prefiero otro sistema más seguro:

$ chown -R mi_usuario:apache $MAGENTO_ROOT
$ chmod -R u=rwX,g=rX,o= $MAGENTO_ROOT
$ chmod -R g+w $MAGENTO_ROOT/var $MAGENTO_ROOT/media

De este modo, los demás usuarios quedan excluidos, y solo quedas tú (como usuario) y tu servidor (como grupo).

Requisitos mínimos (¡y bibliotecas!)

Ten en cuenta que al migrar Magento no ha comprobado que tengas bien los requisitos mínimos. Debes comprobarlo a mano. Eso implica editar $MAGENTO_ROOT/.htaccess para tener suficiente memoria (aunque eso debería estar bien si antes ya iba) e instalar las bibliotecas que no vienen de fábrica, que en Fedora se traduce a:

# yum install php-soap php-gd
# systemctl restart httpd

Esta última tontería me ha robado 6 horas de mi vida. Espero que a ti te sirva.