Migración a otro servidor

ndesorden

Nuevo usuario
Hola!

Me estoy dando cuenta que al migrar una tienda magento de un servidor a otro, como normalmente puede ocurrir, el nombre de la base de datos, el usuario y la contraseña son distintas. Además las urls a las css, javascript son absolutas, por lo que si pasa de http://localhost (desarrollo en local) a http://www.tudominio.com pues obviamente no las carga.

La bd, usuario y password lo he encontrado "harcodeado" en app/etc/local.xml

¿No tiene magento una página para configurar esto? O sea, algo como www.tudomino.com/configuracion.php donde puedas cambiar estas cositas :bleh:

Si no, sería una buena sugerencia para el equipo de desarrollo de magento :chulo:
 

ndesorden

Nuevo usuario
Bueno, gracias zeusco pero lo había solucionado, lo pongo aquí para el que le interese:

1) haces un backup de la base de datos y un tgz de los ficheros del sitio.
2) Subes el tgz y lo despliegas en el servidor y luego haces un chmod a 777 de todos los fichero
3) Restauras el backup de la base de datos.
4) Si la bd tienen distinto nombre/user/pass que en local te vas a app/etc/local.xml y lo configuras
<default_setup>
<connection>
<host><![CDATA[localhost]]></host>
<username><![CDATA[XXXXX]]></username>
<password><![CDATA[XXXXXX]]></password>
<dbname><![CDATA[XXXX]]></dbname>
<active>1</active>
</connection>
</default_setup>

5) En la tabla core_config_data modifica los registros con config_id 2 y 3 (los base_url) con el path de tu magento en producción.

Saludos!
 

raynexus

Nuevo usuario
Hola,

Estoy intentando migrar mi tienda de un servidor en windows xp, a un servidor en linux suse 10.3. Para poder lograr esto he seguido los pasos antes mencionados:
1- hacer un respaldo de mi pagina.
2- hacer un respaldo de mi base de datos
3- restaurar los backup de mi pagina y dabse de datos en el nuevo servidor.
4- actualizar la tabla core_config_data en los registros 2 y 3 con el nuevo dominio.
5- actualizar los datos de seguridad de mi bd en app/etc/local.xml
6- borrar las subcarpetas de cache y session del directorio var.

No se si me falto algo por hacer, pero al momento de ingresar en mi nuevo servidor me aparece el siguiente error:



Insertar CODE, HTML o PHP:
Notice: Undefined index:  0  in /opt/lampp/htdocs/magento/app/code/core/Mage/Core/Model/Mysql4/Config.php on line 92
Trace:
#0 /opt/lampp/htdocs/magento/app/code/core/Mage/Core/Model/Mysql4/Config.php(92): mageCoreErrorHandler(8, 'Undefined index...', '/opt/lampp/htdo...', 92, Array)
#1 /opt/lampp/htdocs/magento/app/code/core/Mage/Core/Model/Config.php(220): Mage_Core_Model_Mysql4_Config->loadToXml(Object(Mage_Core_Model_Config))
#2 /opt/lampp/htdocs/magento/app/code/core/Mage/Core/Model/App.php(241): Mage_Core_Model_Config->init(Array)
#3 /opt/lampp/htdocs/magento/app/Mage.php(427): Mage_Core_Model_App->init('', 'store', Array)
#4 /opt/lampp/htdocs/magento/app/Mage.php(446): Mage::app('', 'store', Array)
#5 /opt/lampp/htdocs/magento/index.php(52): Mage::run()
#6 {main}
Realmente no se a que se deba. Si alguien sabe cual es el problema me puede ayudar??

Muchas gracias!
 

Adjuntos

Última edición:

remora

Nuevo usuario
Lo de arriba es correcto, pero Magento Connect da bastantes problemas.

Es posible que tengas que modificar algunas rutas de algunos ficheros dentro de /httpdocs/downloader/pearlib/ a mano.

Yo estoy con este tema ahora ...
 

mariana

Nuevo usuario
Hola. Buen Dia.
Yo tengo el mismo error de raynexus, exactamente igual, porfavor si lo han solucionado les agradezco en lo que me puedan ayudar.

Muchisimas Gracias.
 

raynexus

Nuevo usuario
Hola. Buen Dia.
Yo tengo el mismo error de raynexus, exactamente igual, porfavor si lo han solucionado les agradezco en lo que me puedan ayudar.

Muchisimas Gracias.

Muchisimas Gracias.[/QUOTE]

Hola mariana,

No recuerdo si esto fue lo que soluciono ese problema, pero prueba con lo siguiente a ver si funciona:

1.- Verifica que se hayan copiado correctamente todos y cada uno de los archivos en el servidor.

2.- Sigue los pasos que se indican en comentarios anteriores:

  • Hacer un respaldo de la pagina.
    Hacer un respaldo de la base de datos
    Restaurar los backup de la pagina y base de datos en el servidor.
    Actualizar la tabla core_config_data en los registros 2 y 3 con el nuevo dominio.
    Actualizar los datos de seguridad de la bd en app/etc/local.xml
    Borrar las subcarpetas de cache y session del directorio var.

3.- Si te sigue arrojando el mismo error puede que sea problemas de permisos, quizas la solucion pueda estar aqui:

Espero que te sirva, si logras solucionarlo nos comentas..

Suerte!
 
Última edición por un moderador:

Xarlie

Super Moderador
Miembro del equipo
Hoy es el tercer mensaje que contesto con lo mismo...
Es problema de permisos :)
El problema es que el servidor está detectando ficheros con permisos de lectura a grupos y lo entiene como un potencial fallo de seguridad, por lo que devuelve un error 500.
Ese error 500 Magento lo entiende como que no hay podido leer el fichero y en el volcado del error aparece el error del config, que despista un poco... :)
 

Tamagochi

Nuevo usuario
Hola

Yo tengo el mismo problema que tenia raynexus al migrar de servidor. He seguido todos los pasos y he cambiado los permisos de todos los archivos y carpetas a 777 con el filezilla que me tardo dia y medio. Ahora veo que en la ultima aportacion de raynexus pone que con un archivo te pone en un pliki todos los archivos como 644 y las carpetas como 755. No debian estar todos como 777? Ejecuto ese archivo a ver?

Ya digo que con todo en 777 no me va y me sigue dando ese error.

Salu2
 

raynexus

Nuevo usuario
@Tamagochi:

No es recomendable cambiar los permisos desde filezilla, muchas veces no los toma y si los cambias uno a uno vas a tardar una eternidad. Copia este codigo en un archivo php y llamalo permisos.php o como quieras:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Wolfcast CHMOD Scriptlet</title>
    <meta name="description" content="Wolfcast CHMOD Scriptlet Version 1.0">
    <meta name="author" content="Alexandre Valiquette (www.wolfcast.com)">

    <style type="text/css">
        div#logtext
        {
            width: 875px;
            height: 300px;
            overflow: auto;
            border: solid 1px black;
        }
        div#logtext p
        {
            white-space: nowrap;
            margin: 0px;
        }
        div#logtext p.success
        {
            color: #008000;
        }
        div#logtext p.error
        {
            color: #ff0000;
        }
    </style>
</head>

<body>

<p>
    <big><b>Wolfcast CHMOD Scriptlet</b></big><br>
    <small>Version 1.0<br>
    <a href="http://www.wolfcast.com">www.wolfcast.com</a><br></small>
</p>

<!-- START - PHP generated output -->
<?php

//---------------------------------------------------------------------------

//rChmod will recursively CHMOD $dir and it's content to $dirModes for directories and to $fileModes for files.
//$dirModes and $fileModes must start with 0 (755 become 0755 for instance).
//rChmod returns the number of failed CHMOD operations.
function rChmod( $dir = "./", $dirModes = 0755, $fileModes = 0644 )
{
    $retval = 0; //Number of failed CHMOD operations
    echo "<p style=\"margin-bottom: 0px\"><b>Log:</b></p>\r\n<div id=\"logtext\">\r\n";

    $d = new RecursiveDirectoryIterator( $dir );
    foreach ( new RecursiveIteratorIterator( $d, 1 ) as $path )
    {
        $chmodret = false;

        if ( $path->isDir() )
            $chmodret = chmod( $path, $dirModes );
        else
            if ( is_file( $path ) )
                $chmodret = chmod( $path, $fileModes );

        if ($chmodret)
            $pclassname = "success";
        else
        {
            $pclassname = "error";
            ++$retval;
        }

        echo "<p class=\"" . $pclassname . "\">" . $path . "</p>\r\n";
    }

    echo "</div>\r\n";
    return $retval;
}

//---------------------------------------------------------------------------

//Change the following line to fit your needs (path, directories CHMOD value, files CHMOD value). CHMOD values must start with 0.
$nbfailed = rChmod( "/home/miweb/", 0755, 0644 );

echo "<p style=\"margin-top: 0px\"><b>";
if ($nbfailed > 0)
{
    echo $nbfailed . " CHMOD operation(s) failed! See log above.";
}
else
    echo "No error encountered.";
echo "</b></p>\r\n";

?>
<!-- END - PHP generated output -->

<p>
    <img src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Strict" height="31" width="88">
</p>

</body>
</html>
En esta linea de código $nbfailed = rChmod( "/home/miweb/", 0755, 0644 ); donde dice "/home/miweb/" alli vas a colocar la ruta principal de tu servidor. Los permisos adecuados para archivos y carpetas son 755 y 644, no vayas a colocar 777 ya que seria vulnerable.

Luego sube el archivo permisos.php a tu servidor y abrelo desde el browser... Con eso se debería solucionar tu problema. Si no lo logras, podrías intentar con la solución de fede84.

Suerte y Saludos!
 

Xarlie

Super Moderador
Miembro del equipo
@raynexus
Tu fichero funcionará si el usuario tiene permisos para modificar desde apache... lo cual en muchos alojamientos no funciona :(

Lo comento por si alguien tiene muchos errores, es por eso.
 

Tamagochi

Nuevo usuario
Hola

Y si probara a actualizar la tienda via ftp se podria solucionar? Lo digo por que al admin sigo sin poder acceder y no se ya que mas probar, lo mismo asi se pueda solucionar. Si es asi me podeis decir como actualizo via ftp sin cargarme el acceso?

Edito: Al intentar conectarme la cuenta de usuario (no a la de administrador que ya sabeis que me sle en blanco) me da este error:

Insertar CODE, HTML o PHP:
Strict Notice: Only variables should be passed by reference  in /home/summario/public_html/tienda/lib/Zend/Db/Select.php on line 216
Trace:
#0 /home/summario/public_html/tienda/lib/Zend/Db/Select.php(216): mageCoreErrorHandler(2048, 'Only variables ...', '/home/summario/...', 216, Array)
#1 /home/summario/public_html/tienda/app/code/core/Mage/Eav/Model/Mysql4/Entity/Attribute/Collection.php(70): Zend_Db_Select->columns(Array)
#2 /home/summario/public_html/tienda/app/code/core/Mage/Eav/Model/Config.php(606): Mage_Eav_Model_Mysql4_Entity_Attribute_Collection->useLoadDataFields()
#3 /home/summario/public_html/tienda/app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php(367): Mage_Eav_Model_Config->loadCollectionAttributes('catalog_product', Array)
#4 /home/summario/public_html/tienda/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php(319): Mage_Eav_Model_Entity_Collection_Abstract->addAttributeToSelect(Array, false)
#5 /home/summario/public_html/tienda/app/code/core/Mage/Sales/Model/Mysql4/Quote/Item/Collection.php(168): Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection->addAttributeToSelect(Array)
#6 /home/summario/public_html/tienda/app/code/core/Mage/Sales/Model/Mysql4/Quote/Item/Collection.php(129): Mage_Sales_Model_Mysql4_Quote_Item_Collection->_assignProducts()
#7 /home/summario/public_html/tienda/lib/Varien/Data/Collection/Db.php(669): Mage_Sales_Model_Mysql4_Quote_Item_Collection->_afterLoad()
#8 /home/summario/public_html/tienda/app/code/core/Mage/Core/Model/Mysql4/Collection/Abstract.php(194): Varien_Data_Collection_Db->load(false, false)
#9 /home/summario/public_html/tienda/lib/Varien/Data/Collection.php(669): Mage_Core_Model_Mysql4_Collection_Abstract->load()
#10 /home/summario/public_html/tienda/app/code/core/Mage/Sales/Model/Quote.php(565): Varien_Data_Collection->getIterator()
#11 /home/summario/public_html/tienda/app/code/core/Mage/Checkout/Block/Cart/Abstract.php(162): Mage_Sales_Model_Quote->getAllVisibleItems()
#12 /home/summario/public_html/tienda/app/code/core/Mage/Checkout/Block/Cart/Sidebar.php(63): Mage_Checkout_Block_Cart_Abstract->getItems()
#13 /home/summario/public_html/tienda/app/design/frontend/default/summarios/template/checkout/cart/sidebar.phtml(60): Mage_Checkout_Block_Cart_Sidebar->getRecentItems()
#14 /home/summario/public_html/tienda/app/code/core/Mage/Core/Block/Template.php(144): include('/home/summario/...')
#15 /home/summario/public_html/tienda/app/code/core/Mage/Core/Block/Template.php(176): Mage_Core_Block_Template->fetchView('frontend/defaul...')
#16 /home/summario/public_html/tienda/app/code/core/Mage/Core/Block/Template.php(193): Mage_Core_Block_Template->renderView()
#17 /home/summario/public_html/tienda/app/code/core/Mage/Checkout/Block/Cart/Sidebar.php(155): Mage_Core_Block_Template->_toHtml()
#18 /home/summario/public_html/tienda/app/code/core/Mage/Core/Block/Abstract.php(643): Mage_Checkout_Block_Cart_Sidebar->_toHtml()
#19 /home/summario/public_html/tienda/app/code/core/Mage/Core/Block/Text/List.php(43): Mage_Core_Block_Abstract->toHtml()
#20 /home/summario/public_html/tienda/app/code/core/Mage/Core/Block/Abstract.php(643): Mage_Core_Block_Text_List->_toHtml()
#21 /home/summario/public_html/tienda/app/code/core/Mage/Core/Block/Abstract.php(503): Mage_Core_Block_Abstract->toHtml()
#22 /home/summario/public_html/tienda/app/code/core/Mage/Core/Block/Abstract.php(454): Mage_Core_Block_Abstract->_getChildHtml('left', true)
#23 /home/summario/public_html/tienda/app/design/frontend/default/summarios/template/page/2columns-left.phtml(52): Mage_Core_Block_Abstract->getChildHtml('left')
#24 /home/summario/public_html/tienda/app/code/core/Mage/Core/Block/Template.php(144): include('/home/summario/...')
#25 /home/summario/public_html/tienda/app/code/core/Mage/Core/Block/Template.php(176): Mage_Core_Block_Template->fetchView('frontend/defaul...')
#26 /home/summario/public_html/tienda/app/code/core/Mage/Core/Block/Template.php(193): Mage_Core_Block_Template->renderView()
#27 /home/summario/public_html/tienda/app/code/core/Mage/Core/Block/Abstract.php(643): Mage_Core_Block_Template->_toHtml()
#28 /home/summario/public_html/tienda/app/code/core/Mage/Core/Model/Layout.php(526): Mage_Core_Block_Abstract->toHtml()
#29 /home/summario/public_html/tienda/app/code/core/Mage/Core/Controller/Varien/Action.php(347): Mage_Core_Model_Layout->getOutput()
#30 /home/summario/public_html/tienda/app/code/core/Mage/Customer/controllers/AccountController.php(102): Mage_Core_Controller_Varien_Action->renderLayout()
#31 /home/summario/public_html/tienda/app/code/core/Mage/Core/Controller/Varien/Action.php(376): Mage_Customer_AccountController->indexAction()
#32 /home/summario/public_html/tienda/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(248): Mage_Core_Controller_Varien_Action->dispatch('index')
#33 /home/summario/public_html/tienda/app/code/core/Mage/Core/Controller/Varien/Front.php(158): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#34 /home/summario/public_html/tienda/app/Mage.php(459): Mage_Core_Controller_Varien_Front->dispatch()
#35 /home/summario/public_html/tienda/index.php(65): Mage::run()
#36 {main}
No se si tenga algo que ver pero por ir arreglando los fallos tras la migracion. Si alguien me puede ayudar se lo agradeceria.

Reedito: Yo creo recordar que guardaba lo de las sesiones en la bbdd, puede ser por eso? por que en la carpeta sessions no tenia nada que borrar, como lo borro de la base de datos?

Rereedito: Me dan errores casi todos los enlaces del home. La tienda es http://tienda.summarios.com para que lo veais in situ

Salu2
 
Última edición:
Arriba