masetru Posted January 24, 2013 Share Posted January 24, 2013 Buenos días Estoy configurando mi nueva tienda en un prestashop 1.5.3.1 y como me ha ocurrido en otras ocasiones, me gustaría configurar los servidores de media porque según tengo entendido mejoran el rendimiento de la tienda. He buscado documentación sobre el tema pero no me queda claro. Os dejo lo que he podido leer por los foros y mis preguntas al respecto: Algunos dicen que hay crear 3 subdominios y otros 4. Entiendo que deben ser 3 puesto que solo tenemos 3 servidores de media. ¿Verdad?. Algunos comentan que cada subdominio creado debe ser redirigido al dominio, otros dicen que estos deben redirigirse a las carpetas cssy js de prestashop ¿Para que funcionen los servidores media hay que habilitar los CCC como tengo en la imagen adjunta o hay que realizar algo más? Me gustaría que alguien que los haya configurado correctamente y los utilice me diga qué debo hacer o si alguien tiene documentación oficial sobre el tema me la haga llegar. Un saludo. Link to comment Share on other sites More sharing options...
nadie Posted January 24, 2013 Share Posted January 24, 2013 Revisa lo que comenta el usuario "oka", aquí: http://www.prestasho...ost__p__1061693 Link to comment Share on other sites More sharing options...
masetru Posted January 24, 2013 Author Share Posted January 24, 2013 Los había leido pero no me queda nada claro, creo que lo mejor, si no hay un tutorial oficial que indique detalladanente los pasos a seguir, como comprobar si tu plantilla es compatible, si copiar ficheros en los subdominios, si modificar o no el header.tpl, etc es no hacer nada. 1 Link to comment Share on other sites More sharing options...
petete2008 Posted January 24, 2013 Share Posted January 24, 2013 Echale un vistazo a esta url http://www.rastreador.com.es/software/e-commerce/como-crear-un-cdn-en-amazon-cloudfront-para-prestashop/ Ya nos cuentas los avances... Link to comment Share on other sites More sharing options...
oka Posted January 24, 2013 Share Posted January 24, 2013 (edited) Los había leido pero no me queda nada claro, creo que lo mejor, si no hay un tutorial oficial que indique detalladanente los pasos a seguir, como comprobar si tu plantilla es compatible, si copiar ficheros en los subdominios, si modificar o no el header.tpl, etc es no hacer nada. Ese es el problema, la documentación oficial brilla por su ausencia en temas como éste. En el hilo que te ha puesto Nadie se enlazan otros dos hilos donde hablamos de los media servers y los conceptos, antes de montar nada hay que entender qué es y para qué se va a usar esa nueva función. Lee los hilos que te he puesto y si tienes alguna duda concreta aquí estamos para ayudarte. Un saludo. Edited January 24, 2013 by oka (see edit history) Link to comment Share on other sites More sharing options...
oka Posted January 27, 2013 Share Posted January 27, 2013 (edited) ¿Qué es un Media Server? Es una técnica que se usa para acelerar la descarga, y el procesamiento por parte del navegador del cliente, de una página web como Prestashop. Los media servers además de servir el contenido estático en paralelo sirven este contenido sin añadirle cookies, por lo que ganamos aún más en la descarga ya que para descargarse una foto,JS,CSS no hace falta bajarse ninguna cookie, lo que se llama dominio cookieless ¿Cómo funciona, es decir por qué el navegador descarga la página más rápido? Los navegadores, Firefox, Chrome,Opera,Internet Explorer... son capaces de descargar simultaneamente 8 archivos al mismo tiempo desde 8 servidores diferentes, nunca el mismo. Cuando el Navegador hace una petición a un Prestashop, el servidor le devuelve al navegador una lista de archivos a descargar. Este concepto es muy sencillo: Navegador cliente pide a tu tienda el index, prestashop le devuelve a tu navegador una lista de archivos que se tiene que descargar para que tú veas la "tienda online". Bien esa lista de archivos a descargar son ni más ni menos que los JS,CSS,IMG más datos variables que se extraen de la base de datos y que no vienen al caso. Esta lista de archivos van "en fila india" para tu navegador, hasta que no se descarga el primer archivo no empieza con el segundo. Con lo que para ver la primera foto de tu index el navegador no la puede descargar y por supuesto mostrar hasta que no se haya descargado, por ejemplo, el javascript que va antes. Entonces si activamos los Media Servers conseguimos que cuando tu navegador pide el index a prestashop, éste le devuelve una lista de archivos a descargar, pero de diferentes servidores. Lista archivos a descargar Prestashop Sin media servers: http://www.mitienda.com/img/favicon.ico http://www.mitienda.com/themes/prestashop/cache/89298329_all.css http://www.mitienda.com/themes/prestashop/cache/928372983.js . . . Lista archivos a descargar Prestashop Con media servers: http://estatico1.mitienda.com/img/favicon.ico http://estatico2.mitienda.com/themes/prestashop/cache/89298329_all.css http://estatico3.mitienda.com/themes/prestashop/cache/928372983.js . . . Como vemos en la segunda lista de archivos, cuando prestashop usa los media servers, las urls de la lista de archivos que se tiene que descargar tu navegador para ver la "página web" ya no provienen del dominio principal www.mitienda.com entonces el navegador es capaz de descargarse esos archivos en paralelo y no en "fila india" como antes. ¿Qué hace falta para montar los media servers? Necesitas crear 3 subdominios en tu hosting con lo que en total tendrás 4 subdominios: www ----> www.mitienda.com estatico1 ----> estatico1.mitienda.com estatico2 ----> estatico2.mitienda.com estatico3 ----> estatico3.mitienda.com Crear los nombres DNS para esos nuevos dominios. ¿Tengo que copiar ficheros de un sitio a otro? No, no hay que copiar nada de nada, lo único que hay que hacer es crear ENLACES SIMBOLICOS desde tu carpeta principal a las carpetas virtuales estatico1 estatico2 estatico3. Si tenemos prestashop instalado en la carpeta "www" haremos desde consola : ln -s www estatico1 ln -s www estatico2 ln -s www estatico3 Y apuntaremos los dominios virtuales (virtual host de apache) a esas carpetas. ¿tengo que redireccionar algo con el mod_rewrite y el .htaccess de prestashop? No, no hay que redireccionar nada, lo que hemos hecho es crear "3 tiendas nuevas que son una copia exacta de la tienda principal" Ok ya tenemos toda la infraestructura montada, Apache tiene 3 dominios más y los DNS resuelven esos dominios nuevos, ¿Cómo configuro Prestashop para usar los Media Servers? En la pestaña rendimiento del BO meteremos esos 3 dominios nuevos que hemos creado en Apache. estatico1.mitienda.com estatico2.mitienda.com estatico3.mitienda.com Salvamos, cogemos el navegador y hacemos una petición a http://www.mitienda.com y miramos el código fuente para comprobar que las imágenes/JS/CSS se sirven desde los dominios nuevos. En este punto prestashop sólo te estará generando las imágenes de los productos desde una de los subdominios que hemos creado, con ésto ya ganamos en rapidez, pero queremos aún más, queremos que todo el contenido estático se genere desde los subdominios y para eso hay que tocar el código del header.tpl del tema que se esté usando. Editamos archivo Header.tpl: Buscar esto: <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" /> Sustituir por: <link href="{Tools::getCurrentUrlProtocolPrefix()}estatic2.mitienda.com{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" Buscar esto: <script type="text/javascript" src="{$js_uri}"></script> Sustituir por: <script type="text/javascript" src="{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}{$js_uri}"></script> Con esta modificación ya generaremos los JS/CSS desde los subdominios. Pero aún hay más, cualquier módulo que injecte JS/CSS o imágenes hay que modificarlo también para que haga uso de los media servers, hay que ir a cada módulo y reprogramar la línea donde injecte los JS/CSS/IMG con un: {Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)} ¿Pero tengo que reprogramarlos todos a la vez? No, no hace falta, según vayas reprogramando los módulos más rápida te irá la tienda sin perder accesibilidad a la misma. Ok mi tienda ya sirve los JS/IMG/CSS desde los subdominios, ¡pero aún mando cookies con las fotos/CSS/JS! Editamos el fichero classes/Cookie.php Buscamos esta línea: $this->_domain = $this->getDomain(); La cambiamos por: $this->_domain = 'www.mitienda.com'; Y con esto prestashop sólo generará cookies para las urls dinámicas que se generan desde el dominio principal. Problemas a tener en cuenta: Al crear los enlaces simbólicos y crear los 3 subdominios estamos creando una copia exacta de la página www.mitienda.com, cuando google llegue y comienze a indexarte tus 3 "nuevas tiendas" te penalizará por ser contenido duplicado. ¿Cómo soluciono el contenido duplicado con los media servers? A Apache le vamos a decir que desde lo subdominios estaticos sólo se va a servir archivos IMG/CSS/JS y no vamos permitir que se ejecuten los scripts php <FilesMatch "\.tpl$"> order deny,allow deny from all </FilesMatch> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> Uso un certificado SSL y ahora me da errores. Si usas SSL para proteger la tienda y dispones de una sola IP pública debes de comprar un certificado wildcard para el dominio *.mitienda.com Además debes de configurar Apache para usar VirtualDocumentRoot para capturar el nombre del subdominio que envía el cliente, por ejemplo estatico3.mitienda.com a la carpeta estatico3. Necesitamos cargar el módulo de apache vhost_alias para usar esta característica : a2enmod vhost_alias Editamos el archivo default-ssl de Apache: Buscamos: DocumentRoot /var/www/www sustituir por: VirtualDocumentRoot /var/www/%1/ Reiniciamos Apache y listo. Un saludo. Edited February 1, 2013 by oka (see edit history) 13 Link to comment Share on other sites More sharing options...
Infoactiu Posted February 9, 2013 Share Posted February 9, 2013 Perfecto OKA, muchas gracias, voy a por ello. Link to comment Share on other sites More sharing options...
Espigol Posted March 16, 2013 Share Posted March 16, 2013 Bueno, lo primero, muchísimas gracias por tu aporte Oka. Estoy preparando los pasos para probar los servidores de media, pero veo que para tener duplicado el contenido de todo el directorio raíz (para mí sería lo más sencillo) en otros 3 subdirectorios es lento e incluso me puede suponer un coste adicional en el hosting por el espacio consumido y el número de archivos. Para soluccionarlo, me he puesto a releer para ver si podía determinar las carpetas que tendrían que ir a cada uno de los subdirectorios duplicadas para que no se haga eterna la subida y bajada de archivos en el FTP y no cuatriplique el espacio consumido en el servidor, pero la verdad, no me ha quedado muy claro. En un principio he hecho una primera criba, en la que creo que no he cribado mucho, que incluiría las siguientes carpetas para tener en los subdominidos de los servidores de media duplicadas: classes, controllers, css, img, js, theme (sólo la del activo) y tools. No se si me he pasado y con los de css, img, js y theme activo serían suficientes o habría que incluir también los que ponía arriba de classes, controllers y tools No se si esto sería correcto del todo, pero igual alguien más tiene la duda. También entiendo que se puede seleccionar el tipo de contenido que servirá cada servidor media, según leo el código que has puesto antes: Buscar esto: <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" /> Sustituir por: <link href="{Tools::getCurrentUrlProtocolPrefix()}estatic2.mitienda.com{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" aquí le estás indicando que el servidor "static2.mitienda.com sea de donde extraiga el css, con lo que entiendo que con duplicar el contenido de las carpetas css y el theme activo sería suficiente, no? gracias de antemano. Link to comment Share on other sites More sharing options...
Espigol Posted March 16, 2013 Share Posted March 16, 2013 Ains, y otra cosilla que se me había pasado y creo que sería interesante concretar (sobre todo para mí, que igual no lo tengo tan claro como creo), cuando te refieres a la modificación del archivo header.tpl, supongo que lo haces al archivo que se encuentra en la carpeta del theme activo, no? Link to comment Share on other sites More sharing options...
oka Posted March 17, 2013 Share Posted March 17, 2013 Hola Lo ideal es trabajar con enlaces simbólicos a la carpeta de la tienda. Para hacer enlaces simbólicos desde un compartido sin acceso por consola puedes usar un script en php con la función symlink http://php.net/manual/es/function.symlink.php (siempre que en el compartido te dejen acceso al sistema de ficheros). Si no puedes hacer enlaces simbólicos te toca copiar y mantener sincronizadas las diferentes carpetas con la principal. El contenido que se sirve desde los media servers es siempre contenido estático (lo digo por tu pregunta de copiar scripts php, controllers y demás) así que lo único que deberías copiar son: JS CSS IMG La modificación de los TPL en efecto son los del theme que estés usando. Un saludo Link to comment Share on other sites More sharing options...
Espigol Posted March 20, 2013 Share Posted March 20, 2013 (edited) Ok, muchas gracias Oka ¡¡ Edited March 20, 2013 by Espigol (see edit history) Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted March 20, 2013 Share Posted March 20, 2013 Ok, muchas gracias Oka ¡¡ ¿Lo conseguistes al final? Link to comment Share on other sites More sharing options...
seog Posted April 6, 2013 Share Posted April 6, 2013 ¿Qué es un Media Server? Es una técnica que se usa para acelerar la descarga, y el procesamiento por parte del navegador del cliente, de una página web como Prestashop. Los media servers además de servir el contenido estático en paralelo sirven este contenido sin añadirle cookies, por lo que ganamos aún más en la descarga ya que para descargarse una foto,JS,CSS no hace falta bajarse ninguna cookie, lo que se llama dominio cookieless ¿Cómo funciona, es decir por qué el navegador descarga la página más rápido? Los navegadores, Firefox, Chrome,Opera,Internet Explorer... son capaces de descargar simultaneamente 8 archivos al mismo tiempo desde 8 servidores diferentes, nunca el mismo. Cuando el Navegador hace una petición a un Prestashop, el servidor le devuelve al navegador una lista de archivos a descargar. Este concepto es muy sencillo: Navegador cliente pide a tu tienda el index, prestashop le devuelve a tu navegador una lista de archivos que se tiene que descargar para que tú veas la "tienda online". Bien esa lista de archivos a descargar son ni más ni menos que los JS,CSS,IMG más datos variables que se extraen de la base de datos y que no vienen al caso. Esta lista de archivos van "en fila india" para tu navegador, hasta que no se descarga el primer archivo no empieza con el segundo. Con lo que para ver la primera foto de tu index el navegador no la puede descargar y por supuesto mostrar hasta que no se haya descargado, por ejemplo, el javascript que va antes. Entonces si activamos los Media Servers conseguimos que cuando tu navegador pide el index a prestashop, éste le devuelve una lista de archivos a descargar, pero de diferentes servidores. Lista archivos a descargar Prestashop Sin media servers: http://www.mitienda.com/img/favicon.ico http://www.mitienda.com/themes/prestashop/cache/89298329_all.css http://www.mitienda.com/themes/prestashop/cache/928372983.js . . . Lista archivos a descargar Prestashop Con media servers: http://estatico1.mitienda.com/img/favicon.ico http://estatico2.mitienda.com/themes/prestashop/cache/89298329_all.css http://estatico3.mitienda.com/themes/prestashop/cache/928372983.js . . . Como vemos en la segunda lista de archivos, cuando prestashop usa los media servers, las urls de la lista de archivos que se tiene que descargar tu navegador para ver la "página web" ya no provienen del dominio principal www.mitienda.com entonces el navegador es capaz de descargarse esos archivos en paralelo y no en "fila india" como antes. ¿Qué hace falta para montar los media servers? Necesitas crear 3 subdominios en tu hosting con lo que en total tendrás 4 subdominios: www ----> www.mitienda.com estatico1 ----> estatico1.mitienda.com estatico2 ----> estatico2.mitienda.com estatico3 ----> estatico3.mitienda.com Crear los nombres DNS para esos nuevos dominios. ¿Tengo que copiar ficheros de un sitio a otro? No, no hay que copiar nada de nada, lo único que hay que hacer es crear ENLACES SIMBOLICOS desde tu carpeta principal a las carpetas virtuales estatico1 estatico2 estatico3. Si tenemos prestashop instalado en la carpeta "www" haremos desde consola : ln -s www estatico1 ln -s www estatico2 ln -s www estatico3 Y apuntaremos los dominios virtuales (virtual host de apache) a esas carpetas. ¿tengo que redireccionar algo con el mod_rewrite y el .htaccess de prestashop? No, no hay que redireccionar nada, lo que hemos hecho es crear "3 tiendas nuevas que son una copia exacta de la tienda principal" Ok ya tenemos toda la infraestructura montada, Apache tiene 3 dominios más y los DNS resuelven esos dominios nuevos, ¿Cómo configuro Prestashop para usar los Media Servers? En la pestaña rendimiento del BO meteremos esos 3 dominios nuevos que hemos creado en Apache. estatico1.mitienda.com estatico2.mitienda.com estatico3.mitienda.com Salvamos, cogemos el navegador y hacemos una petición a http://www.mitienda.com y miramos el código fuente para comprobar que las imágenes/JS/CSS se sirven desde los dominios nuevos. En este punto prestashop sólo te estará generando las imágenes de los productos desde una de los subdominios que hemos creado, con ésto ya ganamos en rapidez, pero queremos aún más, queremos que todo el contenido estático se genere desde los subdominios y para eso hay que tocar el código del header.tpl del tema que se esté usando. Editamos archivo Header.tpl: Buscar esto: <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" /> Sustituir por: <link href="{Tools::getCurrentUrlProtocolPrefix()}estatic2.mitienda.com{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" Buscar esto: <script type="text/javascript" src="{$js_uri}"></script> Sustituir por: <script type="text/javascript" src="{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}{$js_uri}"></script> Con esta modificación ya generaremos los JS/CSS desde los subdominios. Pero aún hay más, cualquier módulo que injecte JS/CSS o imágenes hay que modificarlo también para que haga uso de los media servers, hay que ir a cada módulo y reprogramar la línea donde injecte los JS/CSS/IMG con un: {Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)} ¿Pero tengo que reprogramarlos todos a la vez? No, no hace falta, según vayas reprogramando los módulos más rápida te irá la tienda sin perder accesibilidad a la misma. Ok mi tienda ya sirve los JS/IMG/CSS desde los subdominios, ¡pero aún mando cookies con las fotos/CSS/JS! Editamos el fichero classes/Cookie.php Buscamos esta línea: $this->_domain = $this->getDomain(); La cambiamos por: $this->_domain = 'www.mitienda.com'; Y con esto prestashop sólo generará cookies para las urls dinámicas que se generan desde el dominio principal. Problemas a tener en cuenta: Al crear los enlaces simbólicos y crear los 3 subdominios estamos creando una copia exacta de la página www.mitienda.com, cuando google llegue y comienze a indexarte tus 3 "nuevas tiendas" te penalizará por ser contenido duplicado. ¿Cómo soluciono el contenido duplicado con los media servers? A Apache le vamos a decir que desde lo subdominios estaticos sólo se va a servir archivos IMG/CSS/JS y no vamos permitir que se ejecuten los scripts php <FilesMatch "\.tpl$"> order deny,allow deny from all </FilesMatch> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> Uso un certificado SSL y ahora me da errores. Si usas SSL para proteger la tienda y dispones de una sola IP pública debes de comprar un certificado wildcard para el dominio *.mitienda.com Además debes de configurar Apache para usar VirtualDocumentRoot para capturar el nombre del subdominio que envía el cliente, por ejemplo estatico3.mitienda.com a la carpeta estatico3. Necesitamos cargar el módulo de apache vhost_alias para usar esta característica : a2enmod vhost_alias Editamos el archivo default-ssl de Apache: Buscamos: DocumentRoot /var/www/www sustituir por: VirtualDocumentRoot /var/www/%1/ Reiniciamos Apache y listo. Un saludo. Fantastico aporte. ¿Se conseguiría el mismo rendimiento poniendo las imagenes en otro dominio de otro host que poniendolas en el subdominio del host de la web principal? ¿Si se tiene ssl con IP fija pero no es wildcard funcionaría esta técnica solo para las imagenes? saludos Link to comment Share on other sites More sharing options...
oka Posted April 6, 2013 Share Posted April 6, 2013 Fantastico aporte. ¿Se conseguiría el mismo rendimiento poniendo las imagenes en otro dominio de otro host que poniendolas en el subdominio del host de la web principal? ¿Si se tiene ssl con IP fija pero no es wildcard funcionaría esta técnica solo para las imagenes? saludos A la pregunta 1º, conseguirías mejor rendimiento, tanto en velocidad de proceso como en velocidad en descarga, de hecho la idea es tener las imágenes y JS en otro(s) servidores (ésa es la filosofía de un CDN que es lo que realmente estamos montando). A la segunda pregunta, si usas SSL tienes que poner un wildcard. Consejo, si vas a comprar un wildcard y tu intención es usarlo en varias Ip's públicas asegúrate de que el emisor del certificado te permita usarlo en más de una ip pública. (los wildcard baratos normalmente sólo permiten su uso en una IP). Un saludo. 1 Link to comment Share on other sites More sharing options...
seog Posted April 7, 2013 Share Posted April 7, 2013 Hola oka Me imagino que la razón por la que es necesario usar Wildcard es porque es el único ssl que soporta subdominios, pero si el objetivo es que las imagenes estén en SSL y se ponen en un otro dominio principal ¿Sería posible subirlas a otros host CON SSL básico y así ahorrar los costes de un Wildcard ? Tenia entendido que parar usar un SSL no se pueden usar en Ip publica, al menos en mi host me requerieron IP privada un saludo Link to comment Share on other sites More sharing options...
riopar10 Posted April 19, 2013 Share Posted April 19, 2013 Podeis poner una relacion de modulos que hay que retocar y que hay que buscar y despues cambiar. podria los modulos convivir con ambas funciones, lo digo si es asi para una futura actualizacion podria venir ya puesto. Link to comment Share on other sites More sharing options...
Sundbox Posted April 24, 2013 Share Posted April 24, 2013 Una pregunta, no entiendo exactamente cuando se dice de limitar a los subdominios para que solo sirva los IMG, JS y CSS, esas lineas de codigo: <FilesMatch "\.tpl$"> order deny,allow deny from all </FilesMatch> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> Donde hay que ponerlas exactamente? en el htaccess principal? o donde? Link to comment Share on other sites More sharing options...
promusica Posted May 10, 2013 Share Posted May 10, 2013 Una pregunta, no entiendo exactamente cuando se dice de limitar a los subdominios para que solo sirva los IMG, JS y CSS, esas lineas de codigo: <FilesMatch "\.tpl$"> order deny,allow deny from all </FilesMatch> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> Donde hay que ponerlas exactamente? en el htaccess principal? o donde? Me uno a la pregunta, a ver si alguien nos puede ayudar... Link to comment Share on other sites More sharing options...
promusica Posted May 13, 2013 Share Posted May 13, 2013 Lo subo por si alguien puede responder mi duda Link to comment Share on other sites More sharing options...
petete2008 Posted May 15, 2013 Share Posted May 15, 2013 Aunque llego algo tarde, felicitades oka!!. Tu explicación es excepcional!! Respecto a donde se pone el código citado iria dentro de .htaccess Link to comment Share on other sites More sharing options...
petete2008 Posted May 15, 2013 Share Posted May 15, 2013 (edited) Si no puedes hacer enlaces simbólicos te toca copiar y mantener sincronizadas las diferentes carpetas con la principal. El contenido que se sirve desde los media servers es siempre contenido estático (lo digo por tu pregunta de copiar scripts php, controllers y demás) así que lo único que deberías copiar son: JS CSS IMG Si no se puede hacer enlaces simbolicos entonces creamos subdominios. Estos subdominios si apuntan a servidores externos mucho mejor. Y en estos servidores externos copiamos solo los ficheros js, css e img de nuestro prestashop. Mi pregunta es...¿que pasa si solo copiamos los js y los css y NO las imágenes? Entiendo que si se dirige al primer servidor de media para cargar una imagen y no la encuentra pasará al siguiente y asi sucesivamente. Si no lo encuentra en ningún servidor de media entonces las cargará del dominio principal. Lo pregunto porque el mantenimiento de las imágenes es algo complicado porque implica que cada cierto tiempo tengas que copiar las imágenes de los nuevos productos a los servidores externos. O bien, usar cloudcache, cloudfront, etc... En el apartado de preferencias/rendimiento de Prestashop tenemos la opción 'CloudCache' y 'Servidores de media (utilizado únicamente cuando CCC está activado)' ¿podemos utilizar ambas? Lo pregunto porque CloudCache en sí es otro servicio de CDN. cloudCache y CloudFront son de pago. Uno gratuito podría ser CloudFlare que por supuesto no te da las prestaciones de los de pago pero podrian servir. ¿Alguien conoce un modulo de prestashop de cloudflare? Edited May 15, 2013 by petete2008 (see edit history) Link to comment Share on other sites More sharing options...
rubendf Posted May 27, 2013 Share Posted May 27, 2013 Buenos días. Tengo el siguiente problema, he creado los subdominios con los enlacen simbólicos a las carpetas, los css y los js los carga bien, pero las imágenes no, las busca dentro de la url amigable del subdominio y no las encuentra, como puedo hacer para que no busque las imágenes con la url amigable o como activo las url amigables en el subdominio, ya he copiado el .htaccess al subdominio y no funciona. Gracias. Link to comment Share on other sites More sharing options...
wippa Posted May 31, 2013 Share Posted May 31, 2013 (edited) Lo pregunto porque el mantenimiento de las imágenes es algo complicado porque implica que cada cierto tiempo tengas que copiar las imágenes de los nuevos productos a los servidores externos. Creas un script php que lee y copia, lo metes al Cron y a correr. Que trabaje el servidor tí Un ejemplo: http://www.forosdelw...27/#post3922229 y sinó directamente a http://php.net/manua...nction.copy.php donde tienen varios codigos de usuarios que hacen lo mismo. El ejemplo de forosdelweb es el mismo que el mecionado en este mensaje concreto http://www.php.net/manual/es/function.copy.php#104020. Una buena función POR CIERTO, QUE SE ME OLVIDA... 1000 gracias a Masetru por las indicaciones tan claras para la configuración CDN. CCC me dá problemas con css, precisamente lo que más tarda... así que habrá que probar por otros medios mientras no encuentre solución. (Nadie, por si lo lees ... el fondo quedó ok, gracias, pero ahora es la vista producto la que se descuadra como si tuviera un display:block) Saludos! Edited May 31, 2013 by wippa (see edit history) Link to comment Share on other sites More sharing options...
petete2008 Posted May 31, 2013 Share Posted May 31, 2013 Si usas CloudFlare te evitas el tener que copiar cada cierto tiempo las imágenes y seguramente la carga de la web sea mayor porque utlices su red de computadoras. ¿le has echado un vistazo? Link to comment Share on other sites More sharing options...
wippa Posted June 2, 2013 Share Posted June 2, 2013 Añado: He conseguido arreglar el problemaco del CSS con estas instrucciones. http://forge.prestashop.com/browse/PSCFI-2909 La página carga en 4 segundos la primera vez, y en 1 u 2 a partir de ahí. Por fiiinnnn. Nota: Para el problema del fondo (background-image) quien tenga uno, poner la imagen en la carpeta del theme, y nunca en la carpeta img principal (thx Nadie). Saludos. Link to comment Share on other sites More sharing options...
lovendo Posted July 16, 2013 Share Posted July 16, 2013 (edited) Editamos archivo Header.tpl: Buscar esto: <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" /> Sustituir por: <link href="{Tools::getCurrentUrlProtocolPrefix()}estatic2.mitienda.com{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" Buscar esto: <script type="text/javascript" src="{$js_uri}"></script> Sustituir por: <script type="text/javascript" src="{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}{$js_uri}"></script> Con esta modificación ya generaremos los JS/CSS desde los subdominios. Pero aún hay más, cualquier módulo que injecte JS/CSS o imágenes hay que modificarlo también para que haga uso de los media servers, hay que ir a cada módulo y reprogramar la línea donde injecte los JS/CSS/IMG con un: {Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)} ¿Pero tengo que reprogramarlos todos a la vez? No, no hace falta, según vayas reprogramando los módulos más rápida te irá la tienda sin perder accesibilidad a la misma. Ok mi tienda ya sirve los JS/IMG/CSS desde los subdominios, ¡pero aún mando cookies con las fotos/CSS/JS! Editamos el fichero classes/Cookie.php Buscamos esta línea: $this->_domain = $this->getDomain(); La cambiamos por: $this->_domain = 'www.mitienda.com'; Y con esto prestashop sólo generará cookies para las urls dinámicas que se generan desde el dominio principal. estas seguro de que hay que hacer esto? porque estoy usando la version 1.5.2 con la plantilla por defecto y veo que la mayoría de contenido estático (no todo, es verdad) me lo pilla de los cdn ... Edited July 17, 2013 by lovendo (see edit history) Link to comment Share on other sites More sharing options...
inot Posted August 17, 2013 Share Posted August 17, 2013 Hola! me he leído todos los posts que se indican por aquí sobre la configuración de los servidores de media como sugería oka y me surgen unas dudas, lo más probable es que sean algo simples.. pero no doy para más. He creado los subdominios tipo static1.mitienda.es y los he dirigido a la carpeta raíz /prestashop que es donde está mi tienda principal. En este hilo se comenta de crear una copia de los archivos pero en otros se comenta que pueden dirigirse directamente a la misma carpeta raíz. Bien, no ha funcionado. Compruebo que busca información en el servidor de media pero la web aparece desmontada, como si no leyese correctamente los css. 1. Ahora estoy probando de crear una copia de las carpetas img/js/css dentro de un directorio a la que apuntar el subdominio. Mi pregunta es, este directorio, debe de estar dentro de la capeta prestashop? tipo /prestashop/static1? Cuando hablamos de un enlace simbólico, es dirigir el subdominio a una carpeta concreta o a algo diferente.. 2. Al igual que los compañeros también desconozco donde introducir el código mencionado para que google no lea contenido duplicado <FilesMatch "\.tpl$"> order deny,allow deny from all </FilesMatch> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> Mil gracias por responder. Link to comment Share on other sites More sharing options...
oka Posted August 19, 2013 Share Posted August 19, 2013 (edited) estas seguro de que hay que hacer esto? porque estoy usando la version 1.5.2 con la plantilla por defecto y veo que la mayoría de contenido estático (no todo, es verdad) me lo pilla de los cdn ... Hola. Pues nunca he usado la 1.5 y no sabría decirte con exactitud. Si usas CCC y los módulos añaden con addcss y addjs los respectivos CSS y JS (en la V1.4) no hay que modificar nada en los módulos. El Frontcontroller se encargará de unirlos, cachearlos y servirlos desde un media server. Hola! me he leído todos los posts que se indican por aquí sobre la configuración de los servidores de media como sugería oka y me surgen unas dudas, lo más probable es que sean algo simples.. pero no doy para más. He creado los subdominios tipo static1.mitienda.es y los he dirigido a la carpeta raíz /prestashop que es donde está mi tienda principal. En este hilo se comenta de crear una copia de los archivos pero en otros se comenta que pueden dirigirse directamente a la misma carpeta raíz. Bien, no ha funcionado. Compruebo que busca información en el servidor de media pero la web aparece desmontada, como si no leyese correctamente los css. 1. Ahora estoy probando de crear una copia de las carpetas img/js/css dentro de un directorio a la que apuntar el subdominio. Mi pregunta es, este directorio, debe de estar dentro de la capeta prestashop? tipo /prestashop/static1? Cuando hablamos de un enlace simbólico, es dirigir el subdominio a una carpeta concreta o a algo diferente.. 2. Al igual que los compañeros también desconozco donde introducir el código mencionado para que google no lea contenido duplicado <FilesMatch"\.tpl$"> order deny,allow deny from all </FilesMatch> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> Mil gracias por responder. A la primera duda de si copiar o no los archivos: No, no hay que copiar nada. ¿Por qué no tengo que copiar los archivos? Porque además de desperdiciar tiempo, espacio en disco y tener que mantener sincronizados 3 directorios, basta con publicar en Apache 3 nuevos subdominios que apunten a la misma carpeta en la que está instalada prestashop. Vale, ¿Pero tú has hecho enlaces simbólicos, no decías que no hay que copiar nada? En el ejemplo yo he hecho 3 enlaces simbólicos (para la gente que use windows son simplemente accesos directos a la carpeta de prestashop). Estos enlaces simbólicos NO tienen nada que ver con tener que copiar los archivos a las carpetas static, esto lo hago porque al usar SSL y una sola IP pública necesito que Apache "sepa traducir" las peticiones SSL a los respectivos media servers. Es decir, que si no usas SSL no hay que copiar ni crear enlaces simbólicos. Simplemente se crean 3 Virtual hosts nuevos en Apache que apuntan a la carpeta de prestashop. Ejemplo fichero virtual hosts para dominio static.tienda.com <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName static.tienda.com DocumentRoot /var/www/prestashop/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/prestashop> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Indexes Order allow,deny allow from all <FilesMatch "\.tpl$"> order deny,allow deny from all </FilesMatch> </Directory> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> </VirtualHost> Otro tema también son los DNS, antes de echar a andar los media servers hay que asegurarse que los DNS resuelven esos nuevos dominios. Un saludo. EDIT: los AllowOverride se pueden mejorar publicando los directorios JS/IMG/Caché para que Apache no tenga que escanear los .htaccess en cada directorio (override a none), esa configuración "casi" le vale a todo el mundo que tenga un Apache con configuración "Stock" así que podéis probar con ella y si funciona después se puede ir afinando más aún. Edited August 19, 2013 by oka (see edit history) Link to comment Share on other sites More sharing options...
ujin81 Posted September 3, 2013 Share Posted September 3, 2013 Buenas tardes. Muchas gracias oka por tu información, pero ando un poco perdido. He creado los subdominios "media1.midominio.com", en cpanel, redireccionandolos a "/public_html/midominio.com", pero me pasa lo mismo que a Inot, me aparece desmontada. Creo que estoy haciendo algo mal, o me falta algo por hacer. ¿podría ser el virtual host? ¿como se crea? Saludos Muchas gracias Link to comment Share on other sites More sharing options...
oka Posted September 3, 2013 Share Posted September 3, 2013 Hola Si haces ping a media1.midominio.com te resuelve a la ip del servidor ? Para saber qué pasa no hay nada mejor que ir a ver el error.log de Apache. En su defecto con el navegador Chrome pulsas F12, se abre la consola y abajo a la derecha podrás ver las alertas que genera la tienda. Un saludo. Link to comment Share on other sites More sharing options...
ujin81 Posted September 3, 2013 Share Posted September 3, 2013 Buenas Oka, Chrome me da este error: Failed to load resource: the server responded with a status of 500 (Internal Server Error) http://media1.elrincondelapasion.com/themes/leoshoes/cache/91bbad5f475b7fdabea7cdee621254e5_all.css Link to comment Share on other sites More sharing options...
oka Posted September 3, 2013 Share Posted September 3, 2013 (edited) Hola. Es un error de configuración del servidor. Es necesario ver el error.log de Apache para depurar, también sería interesante ver la configuración del virtualhost para el subdominio media1 Un saludo. EDIT: veo que en tu caso usas Nginx, tendrías que poner si está en modo proxy inverso o es un Nginx a pelo sin Apache. Edited September 3, 2013 by oka (see edit history) Link to comment Share on other sites More sharing options...
ujin81 Posted September 3, 2013 Share Posted September 3, 2013 Hola. Es un error de configuración del servidor. Es necesario ver el error.log de Apache para depurar, también sería interesante ver la configuración del virtualhost para el subdominio media1 Un saludo. EDIT: veo que en tu caso usas Nginx, tendrías que poner si está en modo proxy inverso o es un Nginx a pelo sin Apache. El log de apache no me muestra nada, muy raro. En cuanto al Nginx, no tengo ni idea. Es un servidor compartido. Tendré que preguntarle al proveedor. Les pregunto acerca del virtualhost, si me pueden hacer la redireccion? Pudiera ser que el tema utilizado no sea compatible? Gracias. Link to comment Share on other sites More sharing options...
oka Posted September 4, 2013 Share Posted September 4, 2013 Hola. El tema sí es compatible, de hecho te manda el css desde un media server. Lo que te falla es la configuración del servidor, estás usando Nginx y puede que detrás un apache o puede que no, éso te lo tienen que confirmar desde el hosting. De todas formas el error 500 que aparece tiene y debe de estar logueado en el fichero de log correspondiente. Un saludo. Link to comment Share on other sites More sharing options...
ujin81 Posted September 4, 2013 Share Posted September 4, 2013 (edited) Buenas noches Oka, Me pondré en contacto con ellos para esto de los virtual hosts a ver que me dicen y si yo se explicarles lo que necesito, jajajaja. Ya os comentaré los avances. Muchas gracias. Saludos Edited September 4, 2013 by ujin81 (see edit history) Link to comment Share on other sites More sharing options...
RicRey Posted September 7, 2013 Share Posted September 7, 2013 O_O lo veo algo complicado, tengo un servidor dedicado y quiero hacer la página super rápida, me dicen que carga como en 4 segundos pero quiero que cargue en unos 3 o 2 segundos y por lo visto el media server es una excelente opción, el problema que surge es meterle mano al apache y todo eso, hay alguna manera más sencilla de hacerlo?? Link to comment Share on other sites More sharing options...
ujin81 Posted September 7, 2013 Share Posted September 7, 2013 Hola. El tema sí es compatible, de hecho te manda el css desde un media server. Lo que te falla es la configuración del servidor, estás usando Nginx y puede que detrás un apache o puede que no, éso te lo tienen que confirmar desde el hosting. De todas formas el error 500 que aparece tiene y debe de estar logueado en el fichero de log correspondiente. Un saludo. Buenas tardes Oka, me puse en contacto con el hosting. Me han dixo que no pueden hacerme los enlaces simbólicos. Me tocará copiar los archivos en los subdominios y tenerlos sincronizados! He de mantener la estructura de carpetas? Saben alguna forma de discriminar archivos para no tener que ir entrando en cada carpeta para buscarlos? Saludos Link to comment Share on other sites More sharing options...
ujin81 Posted September 7, 2013 Share Posted September 7, 2013 Buenas de nuevo. Estoy viendo en cpanel que tengo la opción de redireccionar los subdominios. Los redirecciono al dominio principal y me genera un archivo .htaccess con éste código: RewriteEngine on RewriteCond %{HTTP_HOST} ^media1\.elrincondelapasion\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.media1\.elrincondelapasion\.com$ RewriteRule ^/?$ "http\:\/\/www\.elrincondelapasion\.com" [R=301,L] Oka, se te ocurre algo? Link to comment Share on other sites More sharing options...
oka Posted September 8, 2013 Share Posted September 8, 2013 Hola. Está explicado en este mismo hilo, si redireccionas con un htaccess lo que consigues es hacer la web más lenta, es decir consigues todo lo contrario a lo que buscas. Tus comunicaciones contra Apache se duplican con esas redirecciones, lo que en realidad le dices al navegador cada vez que se baja un archivo de un media server es que le vuelva a preguntar por ese archivo al dominio principal, algo como ésto: 1- navegador --> dame foto artículo X 2- Apache ---> esa url es erronea toma la nueva url 3- navegador ----> dame foto artículo X 4- Apache ----> toma foto artículo X Lo hay que hacer es montar los subdominios y ya está, es como montar la tienda que habéis montado pero con 3 nombres diferentes y que éstos apunten a la carpeta principal de prestashop (como la tienda principal). De la misma manear que habéis publicado el directorio prestashop bajo apache y con el nombre www.mitienda.com tenéis que montar un estatico[1-2].mitienda.com apuntando a la carpeta de prestashop. Repito otra vez, si no se usa SSL NO, NO hay que copiar ni hacer enlaces simbólicos ni nada de nada, sólo publicar el directorio prestashop bajo 3 nombres de dominio diferentes y decirle a prestashop cuales son las URLS de los media servers. Un saludo Link to comment Share on other sites More sharing options...
ujin81 Posted September 8, 2013 Share Posted September 8, 2013 Buenas Oka. Yo administro el dominio y hosting a través de Cpanel en un hosting compartido. Según entiendo, y rectificame si no es asi, seria tan simple como crear los subdominios y decirles que a esos dominios que su ruta es la misma que el dominio principal, no? De esta forma no habría que triplicar contenido (pasar todos los archivos a la carpeta de cada subdominio). Tengo que probarlo todavía. Estoy haciendo un backup de toda la tienda por si acaso al hacer esto se me borrara. Cuando haya probado te comentare. Saludos y muchas gracias. Link to comment Share on other sites More sharing options...
oka Posted September 8, 2013 Share Posted September 8, 2013 Buenas Oka. Yo administro el dominio y hosting a través de Cpanel en un hosting compartido. Según entiendo, y rectificame si no es asi, seria tan simple como crear los subdominios y decirles que a esos dominios que su ruta es la misma que el dominio principal, no? De esta forma no habría que triplicar contenido (pasar todos los archivos a la carpeta de cada subdominio). Tengo que probarlo todavía. Estoy haciendo un backup de toda la tienda por si acaso al hacer esto se me borrara. Cuando haya probado te comentare. Saludos y muchas gracias. Exacto, así es. Nunca está de más hacer un backup pero borrarte los archivos no te los va a borrar. Un saludo. Link to comment Share on other sites More sharing options...
RicRey Posted September 8, 2013 Share Posted September 8, 2013 Hola. Está explicado en este mismo hilo, si redireccionas con un htaccess lo que consigues es hacer la web más lenta, es decir consigues todo lo contrario a lo que buscas. Tus comunicaciones contra Apache se duplican con esas redirecciones, lo que en realidad le dices al navegador cada vez que se baja un archivo de un media server es que le vuelva a preguntar por ese archivo al dominio principal, algo como ésto: 1- navegador --> dame foto artículo X 2- Apache ---> esa url es erronea toma la nueva url 3- navegador ----> dame foto artículo X 4- Apache ----> toma foto artículo X Lo hay que hacer es montar los subdominios y ya está, es como montar la tienda que habéis montado pero con 3 nombres diferentes y que éstos apunten a la carpeta principal de prestashop (como la tienda principal). De la misma manear que habéis publicado el directorio prestashop bajo apache y con el nombre www.mitienda.com tenéis que montar un estatico[1-2].mitienda.com apuntando a la carpeta de prestashop. Repito otra vez, si no se usa SSL NO, NO hay que copiar ni hacer enlaces simbólicos ni nada de nada, sólo publicar el directorio prestashop bajo 3 nombres de dominio diferentes y decirle a prestashop cuales son las URLS de los media servers. Un saludo OKa según lo que entiendo es que creo los 3 subdominios y en los 3 subdominios copio todo el contenido de mi tienda? y le pongo servidores de media a mi backoffice principal y de ahi listo? Link to comment Share on other sites More sharing options...
ujin81 Posted September 8, 2013 Share Posted September 8, 2013 (edited) Buenas tardes. Acabo de probar lo anteriormente dicho. Ahora me aparece la tienda desmontada, y chrome me da los siguientes errores: GET http://media1.elrincondelapasion.comhttp//media1.elrincondelapasion.com/themes/leoshoes/cache/893ef493bef0a1076e3f93bc793f9ff3_all.css [VM] (3035):1 GET http://media1.elrincondelapasion.comhttp//media3.elrincondelapasion.com/themes/leoshoes/cache/ad3e89305673da36e5437d817b11c9aa.js [VM] (3035):1 Uncaught ReferenceError: $ is not defined [VM] (3045):1 2Uncaught ReferenceError: jQuery is not defined [VM] (3049):77 Uncaught ReferenceError: $ is not defined [VM] (3051):81 Uncaught ReferenceError: $ is not defined [VM] (3052):82 GET http://media1.elrincondelapasion.com/993-medium/SECRET-PLAY-BOLIGRAFO-PERFUME-DE-MUJER-CON-FEROMONAS.jpg 500 (Internal Server Error) [VM] (3035):77 GET http://media1.elrincondelapasion.com/13301-medium/BROCHE-PITO-AMARILLO-NEON.jpg 500 (Internal Server Error) [VM] (3035):77 GET http://media2.elrincondelapasion.com/149-medium/EXTASE-SENSUEL-COFRE-SOY-TU-CARAMELO-DE-FRESA.jpg 500 (Internal Server Error) Y en Cpanel me aparece esto en el campo "redirección", se ha puesto solo: %{ENV:REWRITEBASE}img/c/$2.jpg Saludos Edited September 8, 2013 by ujin81 (see edit history) Link to comment Share on other sites More sharing options...
oka Posted September 9, 2013 Share Posted September 9, 2013 OKa según lo que entiendo es que creo los 3 subdominios y en los 3 subdominios copio todo el contenido de mi tienda? y le pongo servidores de media a mi backoffice principal y de ahi listo? Eso es, salvo que te puedes ahorrar el copiar nada si configuras los subdominios apuntando a la carpeta donde tienes instalado prestashop. Buenas tardes. Acabo de probar lo anteriormente dicho. Ahora me aparece la tienda desmontada, y chrome me da los siguientes errores: GET http://media1.elrincondelapasion.comhttp//media1.elrincondelapasion.com/themes/leoshoes/cache/893ef493bef0a1076e3f93bc793f9ff3_all.css [VM] (3035):1 GET http://media1.elrincondelapasion.comhttp//media3.elrincondelapasion.com/themes/leoshoes/cache/ad3e89305673da36e5437d817b11c9aa.js [VM] (3035):1 Uncaught ReferenceError: $ is not defined [VM] (3045):1 2Uncaught ReferenceError: jQuery is not defined [VM] (3049):77 Uncaught ReferenceError: $ is not defined [VM] (3051):81 Uncaught ReferenceError: $ is not defined [VM] (3052):82 GET http://media1.elrincondelapasion.com/993-medium/SECRET-PLAY-BOLIGRAFO-PERFUME-DE-MUJER-CON-FEROMONAS.jpg 500 (Internal Server Error) [VM] (3035):77 GET http://media1.elrincondelapasion.com/13301-medium/BROCHE-PITO-AMARILLO-NEON.jpg 500 (Internal Server Error) [VM] (3035):77 GET http://media2.elrincondelapasion.com/149-medium/EXTASE-SENSUEL-COFRE-SOY-TU-CARAMELO-DE-FRESA.jpg 500 (Internal Server Error) Y en Cpanel me aparece esto en el campo "redirección", se ha puesto solo: %{ENV:REWRITEBASE}img/c/$2.jpg Saludos Pega aquí el archivo header.tpl del tema que estés usando. Un saludo. Link to comment Share on other sites More sharing options...
RicRey Posted September 9, 2013 Share Posted September 9, 2013 Eso es, salvo que te puedes ahorrar el copiar nada si configuras los subdominios apuntando a la carpeta donde tienes instalado prestashop. Pega aquí el archivo header.tpl del tema que estés usando. Un saludo. gracias por tu respuesta, mira lo intente pero extrañamente de hecho se puso más lento te voy a decir lo que hice en el Cpanel cree 3 subdominios static1, static2, static3.sistemasyprogramas.com... estos al momento de crearlos le puse que su carperal principal sea la misma public_html del prestashop y esos subdominios los configuré en rendimiento, ahora, use gtmetrix para verificar si la velocidad habia mejorado y mas bien se puso un poco más lenta digamos que unos 3 segundos más, tambien noté que en la opción de Login de los usuarios salia todo descuadrado como si no hubiera CSS, no se si será por el certificado SSL que tengo, me puedes indicar si hay algo mal o que se puede hacer? Link to comment Share on other sites More sharing options...
oka Posted September 9, 2013 Share Posted September 9, 2013 gracias por tu respuesta, mira lo intente pero extrañamente de hecho se puso más lento te voy a decir lo que hice en el Cpanel cree 3 subdominios static1, static2, static3.sistemasyprogramas.com... estos al momento de crearlos le puse que su carperal principal sea la misma public_html del prestashop y esos subdominios los configuré en rendimiento, ahora, use gtmetrix para verificar si la velocidad habia mejorado y mas bien se puso un poco más lenta digamos que unos 3 segundos más, tambien noté que en la opción de Login de los usuarios salia todo descuadrado como si no hubiera CSS, no se si será por el certificado SSL que tengo, me puedes indicar si hay algo mal o que se puede hacer? Hola RicRey, es que si usas SSL la cosa cambia bastante y hay que tocar más a fondo la configuración de Apache. Además de que tendrías que comprar un certificado SSL wildcard. Vamos que es normal que cuando pinchan en login te aparezca descuadrado porque el navegador internamente se está quejando que el certificado SSL sólo protege al dominio www y no a los dominios static[1-3]. Un saludo. Link to comment Share on other sites More sharing options...
RicRey Posted September 9, 2013 Share Posted September 9, 2013 Hola RicRey, es que si usas SSL la cosa cambia bastante y hay que tocar más a fondo la configuración de Apache. Además de que tendrías que comprar un certificado SSL wildcard. Vamos que es normal que cuando pinchan en login te aparezca descuadrado porque el navegador internamente se está quejando que el certificado SSL sólo protege al dominio www y no a los dominios static[1-3]. Un saludo. si elimino el SSL me mejorará el rendimiento y Google no me penalizará por los otros 3 subdominios? Link to comment Share on other sites More sharing options...
oka Posted September 9, 2013 Share Posted September 9, 2013 Si eliminas el SSL te será más fácil hacerlo, pero no tiene nada que ver con que google te penalice por contenido duplicado en los 3 media servers. Para que no te penalice tienes que poner en la configuración de los nuevos subdominios que sólo sirva archivos JS/IMG/CSS En este mismo hilo tienes una configuración de un virtual host para que google no te penalice. Un saludo Link to comment Share on other sites More sharing options...
RicRey Posted September 9, 2013 Share Posted September 9, 2013 Si eliminas el SSL te será más fácil hacerlo, pero no tiene nada que ver con que google te penalice por contenido duplicado en los 3 media servers. Para que no te penalice tienes que poner en la configuración de los nuevos subdominios que sólo sirva archivos JS/IMG/CSS En este mismo hilo tienes una configuración de un virtual host para que google no te penalice. Un saludo el virtual host esta en la configuración del Apache? Link to comment Share on other sites More sharing options...
oka Posted September 9, 2013 Share Posted September 9, 2013 Eso es, si has creado en cpanel 3 dominios nuevos, te habrá creado 3 virtual host de apache. Un saludo. Link to comment Share on other sites More sharing options...
RicRey Posted September 9, 2013 Share Posted September 9, 2013 Eso es, si has creado en cpanel 3 dominios nuevos, te habrá creado 3 virtual host de apache. Un saludo. pero me da un poco de miedo tocar el apache XD, hay manera de hacerlo sin tocar el apache?? Link to comment Share on other sites More sharing options...
oka Posted September 9, 2013 Share Posted September 9, 2013 No, no es posible hacerlo sin tocar Apache. Un saludo. Link to comment Share on other sites More sharing options...
ujin81 Posted September 9, 2013 Share Posted September 9, 2013 Eso es, salvo que te puedes ahorrar el copiar nada si configuras los subdominios apuntando a la carpeta donde tienes instalado prestashop. Pega aquí el archivo header.tpl del tema que estés usando. Un saludo. Este es el contenido del header.tpl: {* * 2007-2012 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2012 PrestaShop SA * @version Release: $Revision: 6594 $ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{$lang_iso}"> <head> <title>{$meta_title|escape:'htmlall':'UTF-8'}</title> {if isset($meta_description) AND $meta_description} <meta name="description" content="{$meta_description|escape:html:'UTF-8'}" /> {/if} {if isset($meta_keywords) AND $meta_keywords} <meta name="keywords" content="{$meta_keywords|escape:html:'UTF-8'}" /> {/if} <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> <meta http-equiv="content-language" content="{$meta_language}" /> <meta name="generator" content="PrestaShop" /> <meta name="robots" content="{if isset($nobots)}no{/if}index,{if isset($nofollow) && $nofollow}no{/if}follow" /> <link rel="icon" type="image/vnd.microsoft.icon" href="{$favicon_url}?{$img_update_time}" /> <link rel="shortcut icon" type="image/x-icon" href="{$favicon_url}?{$img_update_time}" /> <script type="text/javascript"> var baseDir = '{$content_dir}'; var baseUri = '{$base_uri}'; var static_token = '{$static_token}'; var token = '{$token}'; var priceDisplayPrecision = {$priceDisplayPrecision*$currency->decimals}; var priceDisplayMethod = {$priceDisplay}; var roundMode = {$roundMode}; </script> <link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,400,700,900,200italic,400italic,700italic,900italic' rel='stylesheet' type='text/css' /> <link href='http://fonts.googleapis.com/css?family=Finger+Paint' rel='stylesheet' type='text/css' /> {if isset($css_files)} {foreach from=$css_files key=css_uri item=media} <link href="{Tools::getCurrentUrlProtocolPrefix()}media1.elrincondelapasion.com{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" /> {/foreach} {/if} {if $LEO_SKIN_DEFAULT && $LEO_SKIN_DEFAULT !="default"} <link rel="stylesheet" type="text/css" href="{$content_dir}themes/leoshoe/skins/{$LEO_SKIN_DEFAULT}/css/skin.css" media="{$media}" /> {/if} {if $LEO_PANELTOOL} <link rel="stylesheet" type="text/css" href="{$content_dir}themes/leoshoe/css/paneltool.css" media="{$media}" /> {/if} {if isset($js_files)} {foreach from=$js_files item=js_uri} <script type="text/javascript" src="{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}{$js_uri}"></script> {/foreach} {/if} {$HOOK_HEADER} </head> <body {if isset($page_name)}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if} class="{if $hide_left_column}hide-left-column{/if} {if $hide_right_column}hide-right-column{/if}"> {if !$content_only} {if isset($restricted_country_mode) && $restricted_country_mode} <div id="restricted-country"> <p>{l s='You cannot place a new order from your country.'} <span class="bold">{$geolocation_country}</span></p> </div> {/if} <div id="leo-page" class="container_9 {$LEO_BGPATTERN} {if $lang_iso=='fr'}frcss{/if} clearfix"> <!-- Header --> <div id="leo-header" class="grid_9 alpha omega"> <div class="leo-inner"> <div class="leo-wrapper"> <a id="header_logo" href="{$base_dir}" title="{$shop_name|escape:'htmlall':'UTF-8'}"> <img class="logo" src="{$logo_url}" alt="{$shop_name|escape:'htmlall':'UTF-8'}" {if $logo_image_width}width="{$logo_image_width}"{/if} {if $logo_image_height} height="{$logo_image_height}" {/if} /> </a> <div id="header_right" class="grid_6 omega"> {$HOOK_TOP} </div> {include file="$tpl_dir./breadcrumb.tpl"} </div> </div> </div><!-- end-header --> <div id="leo-maincontainer" class="wrap"> <div class="leo-inner"> <div class="leo-wrapper"> <div id="leo-columns" class="grid_9 alpha omega clearfix"> {if $page_name != "index"} <div id="leo-leftcol" class="column grid_2 alpha"> {$HOOK_LEFT_COLUMN} </div><!--leftcol--> {/if} <!-- Center --> <div id="leo-centercol"> <div id="center_column" class=" grid_5"> {/if} Link to comment Share on other sites More sharing options...
oka Posted September 10, 2013 Share Posted September 10, 2013 ujin81 cambia: {if isset($css_files)} {foreach from=$css_files key=css_uri item=media} <link href="{Tools::getCurrentUrlProtocolPrefix()}media1.elrincondelapasion.com{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" /> {/foreach} {/if} {if isset($js_files)} {foreach from=$js_files item=js_uri} <script type="text/javascript" src="{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}{$js_uri}"></script> {/foreach} {/if} Por esto: {if isset($css_files)} {foreach from=$css_files key=css_uri item=media} <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" /> {/foreach} {/if} {if isset($js_files)} {foreach from=$js_files item=js_uri} <script type="text/javascript" src="{$js_uri}"></script> {/foreach} {/if} De todas formas los dos 3 últimos errores son en la configuración del servidor y no del header.tpl. GET http://media1.elrinc...N-FEROMONAS.jpg 500 (Internal Server Error) [VM] (3035):77 GET http://media1.elrinc...ARILLO-NEON.jpg 500 (Internal Server Error) [VM] (3035):77 GET http://media2.elrinc...LO-DE-FRESA.jpg 500 (Internal Server Error) Tienes que revisar el error.log. Un saludo Link to comment Share on other sites More sharing options...
gruposte Posted September 11, 2013 Share Posted September 11, 2013 Antes que nada agradezco el tutorial de oka, es una excelente información para optimizar la tienda. Tengo una duda, mi hosting es compartido de godaddy, acabamos de implementar la tienda prestashop y tarda entre 10 y 13segundos en cargar! y eso que no tiene nada de contenido aun... al parecer godaddy y prestashop no se llevan bien en servidores compartidos porque tengo otras tiendas CMS y cargan entre 1 y 2 segundos en ese mismo hosting. Configure 3 subdominios desde cpanel que apuntan a el dominio de mi tienda, cambie los códigos de header.tpl que menciona oka y los de cookie.php y todo funciona perfecto, viendo el código fuente veo que al azar a algunos css le asigna el estatico1 a otros el estatico2, etc pero muchos no los toma de los servidores de media sino del dominio principal, me imagino que es porque debo tocar el código de cada modulo, etc. pero ahí no esta mi problema: Yo quiero solucionar lo del contenido duplicado y estuve analizando el código que hay que agregar al .htaccess pero no tiene sentido, <FilesMatch "\.tpl$"> order deny,allow deny from all </FilesMatch> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> si agrego ese código al .htaccess de mi dominio principal estoy diciéndole que no ejecute nada de php tpl o html lo cual bloquea la pagina completamente, creo que ese código debería ir en el .htaccess de cada uno de los subdominios, no en el principal... el problema es que como los subdominios están "apuntados" al principal pues solo existe un .htaccess, me explico? alguien me puede aclarar eso o si alguien logro implementarlo que fue lo que hizo? es lo único que me falta pero es muy importante para nosotros en cara al SEO. NOTA: Con los cambios del tutorial de oka el tiempo de carga paso a un promedio de 8segundos lo cual es significativamente menor que antes (12Seg promedio) pero aun es un tiempo muy grande que estoy peleando con godaddy Si alguien tiene problemas para implementarlo en godaddy, les aparece como si los css no se cargaran o cosas así díganme, a mi me paso asi al principio y toque algunos archivos para que funcionara. 1 Link to comment Share on other sites More sharing options...
oka Posted September 12, 2013 Share Posted September 12, 2013 Hola Gruposte agradezco tus palabras. Esas restricciones que hay que poner (como bien apuntas para el tema del SEO) hay que añadirlas en el fichero de configuración de cada virtual host de apache asignado a un media server. Si ponemos esas órdenes en el .htaccess de la tienda dejará de funcionar porque lo que le decimos es que no sirva contenido en PHP. El tema está en que tienes que poner esas restricciones en los virtualhost de apache, no uso Cpanel, pero para personalizar la configuración de un VirtualHost creado con esta herramienta creo que tienes que: Using the Include Editor, place this code into either the "Pre Main Include" or "Pre VirtualHost Include" or "Post VirtualHost Include" sections (All Versions) Veo que muchos compañeros tienen esta misma duda, que es en realidad muy sencilla de resolver si tienes acceso a los ficheros de configuración de Apache. El problema que veo es que Cpanel tiene algo "escondida" la opción de editar estos ficheros de Apache, si alguien sabe a ciencia cierta cómo editarlos desde Cpanel y lo pone le ahorrará muchos quebraderos de cabeza a los ususarios. Un saludo Link to comment Share on other sites More sharing options...
gruposte Posted September 12, 2013 Share Posted September 12, 2013 Así es, en los hosting compartidos normalmente no te dejan tocar esa configuración, la única manera es contactando al proveedor y tratar de convencerlo, yo ya mande un ticket con godaddy, en unos días les pongo la respuesta que me den. Saludos! Link to comment Share on other sites More sharing options...
ujin81 Posted September 13, 2013 Share Posted September 13, 2013 ujin81 cambia: {if isset($css_files)} {foreach from=$css_files key=css_uri item=media} <link href="{Tools::getCurrentUrlProtocolPrefix()}media1.elrincondelapasion.com{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" /> {/foreach} {/if} {if isset($js_files)} {foreach from=$js_files item=js_uri} <script type="text/javascript" src="{Tools::getCurrentUrlProtocolPrefix()}{Tools::getMediaServer($this->name)}{$js_uri}"></script> {/foreach} {/if} Por esto: {if isset($css_files)} {foreach from=$css_files key=css_uri item=media} <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" /> {/foreach} {/if} {if isset($js_files)} {foreach from=$js_files item=js_uri} <script type="text/javascript" src="{$js_uri}"></script> {/foreach} {/if} De todas formas los dos 3 últimos errores son en la configuración del servidor y no del header.tpl. GET http://media1.elrinc...N-FEROMONAS.jpg 500 (Internal Server Error) [VM] (3035):77 GET http://media1.elrinc...ARILLO-NEON.jpg 500 (Internal Server Error) [VM] (3035):77 GET http://media2.elrinc...LO-DE-FRESA.jpg 500 (Internal Server Error) Tienes que revisar el error.log. Un saludo Buenos días Oka. Muchas gracias por tu tiempo. He hecho lo que me comentabas, pero sigue igual, se me descojona todo. He hablado con el servidor de hosting para que me arreglen lo del registro de errores, porque me aparece vacío. En cuanto me lo arreglen, miraré a ver que sucede con el error 500. ¿Puediera tener algo que ver con que mi tema tiene un módulo que configura la apariencia del tema, y que tenga que configurar el módulo para que coja los archivos de los servidores de media? Saludos. Link to comment Share on other sites More sharing options...
oka Posted September 13, 2013 Share Posted September 13, 2013 Buenos días Oka. Muchas gracias por tu tiempo. He hecho lo que me comentabas, pero sigue igual, se me descojona todo. He hablado con el servidor de hosting para que me arreglen lo del registro de errores, porque me aparece vacío. En cuanto me lo arreglen, miraré a ver que sucede con el error 500. ¿Puediera tener algo que ver con que mi tema tiene un módulo que configura la apariencia del tema, y que tenga que configurar el módulo para que coja los archivos de los servidores de media? Saludos. Lo mejor es esperar al error.log, sin ese archivo estamos ciegos y no se puede saber a ciencia cierta qué es lo que pasa. Un saludo Link to comment Share on other sites More sharing options...
igraphics Posted September 14, 2013 Share Posted September 14, 2013 Hola, He intentado de todas las formas configurar los servidores multimedia pero cada vez que agrego alguno la pagina no carga como deveria (faltan imagenes o cosas asi...). Incluso llevo rato buscando y leyendo topics en el foro del tema pero sigo sin lograr que funcione. El problema mas que nada es porque necesito acelerar la pagina ya que carga un poco lento y segun entiendo esto lo acelera. Alguno de ustedes me podria explicar como es que se configura? Link to comment Share on other sites More sharing options...
seog Posted September 25, 2013 Share Posted September 25, 2013 (edited) Hola Oka Tengo las siguientes 2 dudas: 1. SI tengo lo siguiente en mi cookie.php $this->_domain = $this->getDomain($shared_urls); ¿Debería de dejarlo así? $this->_domain = 'www.mitienda.com'($shared_urls); 2. Si inserto el siguiente codigo en el htacces la web no carga <FilesMatch "\.tpl$">order deny,allowdeny from all</FilesMatch><Files ~ "^.*\.php">Order allow,denyDeny from all</Files><Files ~ "^.*\.html">Order allow,denyDeny from all </Files> EDITO: Por cierto, desde que se están sirviendo imgs, css y jss desde mediaservers ha bajado el pagespeed 13 puntos, la razón es que ahora indica que hay muchos redireccionamientos Un saludo y gracias Edited September 25, 2013 by seog (see edit history) Link to comment Share on other sites More sharing options...
oka Posted September 26, 2013 Share Posted September 26, 2013 Hola Oka Tengo las siguientes 2 dudas: 1. SI tengo lo siguiente en mi cookie.php $this->_domain = $this->getDomain($shared_urls); ¿Debería de dejarlo así? $this->_domain = 'www.mitienda.com'($shared_urls); 2. Si inserto el siguiente codigo en el htacces la web no carga <FilesMatch "\.tpl$"> order deny,allow deny from all </FilesMatch> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> EDITO: Por cierto, desde que se están sirviendo imgs, css y jss desde mediaservers ha bajado el pagespeed 13 puntos, la razón es que ahora indica que hay muchos redireccionamientos Un saludo y gracias A la pregunta número 1: $this->_domain = 'www.mitienda.com'; Así es como lo tengo yo, siempre hablando de la rama 1.4. (la 1.5 no la uso y no sabría decirte) A la pregunta número 2: Ésto se ha contestado ya unas cuantas veces a lo largo del hilo, pero te lo repito, las restricciones hay que ponerlas en los ficheros de configuración de los medias servers y no en el archivo de configuración de la tienda ni en un .htaccess porque la tienda, obviamente, deja de funcionar. Esas directrices se ponen en los ficheros de configuración de los Virtual Hosts de Apache para servir los media servers. Un saludo. Link to comment Share on other sites More sharing options...
seog Posted September 27, 2013 Share Posted September 27, 2013 (edited) ¿Cuando dices "Esas directrices se ponen en los ficheros de configuración de los Virtual Hosts de Apache para servir los media servers" te refieres a añadir lo siguiente en el httpd.conf ? <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName static1.MYTIENDA.com DocumentRoot /var/www/NOMBREDEMITHEME/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/NOMBREDEMITHEME> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Indexes Order allow,deny allow from all <FilesMatch "\.tpl$"> order deny,allow deny from all </FilesMatch> </Directory> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName static2.MYTIENDA.com DocumentRoot /var/www/NOMBREDEMITHEME/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/NOMBREDEMITHEME> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Indexes Order allow,deny allow from all <FilesMatch "\.tpl$"> order deny,allow deny from all </FilesMatch> </Directory> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName static3.MYTIENDA.com DocumentRoot /var/www/NOMBREDEMITHEME/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/NOMBREDEMITHEME> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Indexes Order allow,deny allow from all <FilesMatch "\.tpl$"> order deny,allow deny from all </FilesMatch> </Directory> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> </VirtualHost> Un saludo y muchas gracias Edited September 27, 2013 by seog (see edit history) Link to comment Share on other sites More sharing options...
oka Posted September 28, 2013 Share Posted September 28, 2013 ¿Cuando dices "Esas directrices se ponen en los ficheros de configuración de los Virtual Hosts de Apache para servir los media servers" te refieres a añadir lo siguiente en el httpd.conf ? <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName static1.MYTIENDA.com DocumentRoot /var/www/NOMBREDEMITHEME/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/NOMBREDEMITHEME> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Indexes Order allow,deny allow from all <FilesMatch "\.tpl$"> order deny,allow deny from all </FilesMatch> </Directory> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName static2.MYTIENDA.com DocumentRoot /var/www/NOMBREDEMITHEME/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/NOMBREDEMITHEME> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Indexes Order allow,deny allow from all <FilesMatch "\.tpl$"> order deny,allow deny from all </FilesMatch> </Directory> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName static3.MYTIENDA.com DocumentRoot /var/www/NOMBREDEMITHEME/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/NOMBREDEMITHEME> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Indexes Order allow,deny allow from all <FilesMatch "\.tpl$"> order deny,allow deny from all </FilesMatch> </Directory> <Files ~ "^.*\.php"> Order allow,deny Deny from all </Files> <Files ~ "^.*\.html"> Order allow,deny Deny from all </Files> </VirtualHost> Un saludo y muchas gracias Hola, Eso es , ahí es donde hay que ponerlo. Un saludo. Link to comment Share on other sites More sharing options...
seog Posted September 28, 2013 Share Posted September 28, 2013 (edited) Hola Oka, Algo debe estar mal en la ruta DocumentRoot /var/www/prestashop/ porque el plesk me avisa a mi email del siguiente error: Warning: DocumentRoot [/var/www/prestashop/] does not exist Syntax error on line 1024 of /etc/httpd/conf/httpd.conf:order takes one argument, 'allow,deny', 'deny,allow', or 'mutual-failure' He hecho la prueba con DocumentRoot /var/www/prestashop/ y DocumentRoot /var/www/NOMBREDEMITHEME/ pero da error. ¿Crees que la ruta deberia ser DocumentRoot /var/www/themes/NOMBREdemiTHEME/ ? Un saludo y muchas gracias EDITO: Adjunto la ruta de mi web: /var/www/vhosts/mitienda.com Adjunto la ruta del dominio statico: /var/www/vhosts/static1.mitienda.com ¿Para corregir el error de ruta habria que poner el de la web principal, del theme de la web o de los subdominios estáticos? Edited September 28, 2013 by seog (see edit history) Link to comment Share on other sites More sharing options...
oka Posted September 28, 2013 Share Posted September 28, 2013 Hola. Tanto el DocumentRoot como Directory deben apuntar a la carpeta donde tienes instalado prestashop no tu theme. Un saludo. Link to comment Share on other sites More sharing options...
ujin81 Posted October 6, 2013 Share Posted October 6, 2013 Buenas Oka. Después de unos días migrando la tienda a otro servidor, estoy intentando montar los servidores de media. Los he montado, me sale bien la página, pero no las imágenes de los productos. Chrome me da estos errores (en el log de errores no me dice nada al respecto): Uncaught TypeError: Cannot set property 'innerHTML' of null (index):201 Failed to load resource: the server responded with a status of 403 (Forbidden) http://media1.elrincondelapasion.com/5231-home_leoshoe/MINI-CONEJITO-RAMPANTE.jpg Failed to load resource: the server responded with a status of 403 (Forbidden) http://media1.elrincondelapasion.com/790-home_leoshoe/FEMALE-BOOSTER-CREMA-REAFIRMANTE-DE-SENOS.jpg Failed to load resource: the server responded with a status of 403 (Forbidden) http://media1.elrincondelapasion.com/165-home_leoshoe/SHUNGA-COLECCION-DE-TERNURA-Y-PASION.jpg Como te decía, la página aparece bien montada (parece que los css los sirve desde los servidores de media), pero no aparecen las imágenes de los productos. Saludos Link to comment Share on other sites More sharing options...
ujin81 Posted October 6, 2013 Share Posted October 6, 2013 Buenas tardes de nuevo oka Buenas Oka. Después de unos días migrando la tienda a otro servidor, estoy intentando montar los servidores de media. Los he montado, me sale bien la página, pero no las imágenes de los productos. Chrome me da estos errores (en el log de errores no me dice nada al respecto): Uncaught TypeError: Cannot set property 'innerHTML' of null (index):201 Failed to load resource: the server responded with a status of 403 (Forbidden) http://media1.elrincondelapasion.com/5231-home_leoshoe/MINI-CONEJITO-RAMPANTE.jpg Failed to load resource: the server responded with a status of 403 (Forbidden) http://media1.elrincondelapasion.com/790-home_leoshoe/FEMALE-BOOSTER-CREMA-REAFIRMANTE-DE-SENOS.jpg Failed to load resource: the server responded with a status of 403 (Forbidden) http://media1.elrincondelapasion.com/165-home_leoshoe/SHUNGA-COLECCION-DE-TERNURA-Y-PASION.jpg Como te decía, la página aparece bien montada (parece que los css los sirve desde los servidores de media), pero no aparecen las imágenes de los productos. Saludos Buenas tardes. Me respondo yo mismo. Al revisar el .htaccess, tenía una regla de redireccionamiento antigua, del antiguo hosting RewriteCond %{HTTP_REFERER} !^http://elrincondelapasion-com.....*$ [NC] RewriteCond %{HTTP_REFERER} !^http://elrincondelapasion-com....$ [NC] RewriteCond %{HTTP_REFERER} !^http://..../.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://....$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.elrincondelapasion-com.......com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.elrincondelapasion-com.......com$ [NC] RewriteCond %{HTTP_REFERER} !^http://......./.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://.......$ [NC] RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC] RewriteCond %{HTTP_HOST} ^elrincondelapasion\-com\.......$ [OR] RewriteCond %{HTTP_HOST} ^www\.elrincondelapasion\-com\.........$ RewriteRule ^/?$ "http\:\/\/www\.elrincondelapasion\.com" [R=301,L] He eliminado esas líneas, he vuelto a introducir los servidores en prestashop, y .... funciona, creo que perfectamente. Ahora solo me falta ponerme en contacto con el hosting para que me hagan las modificaciones en apache. Oka, ¿cómo diagnostico que la tienda me está enviado el contenido correctamente? Saludos Link to comment Share on other sites More sharing options...
ujin81 Posted October 6, 2013 Share Posted October 6, 2013 A la pregunta número 1: $this->_domain = 'www.mitienda.com'; Así es como lo tengo yo, siempre hablando de la rama 1.4. (la 1.5 no la uso y no sabría decirte) A la pregunta número 2: Ésto se ha contestado ya unas cuantas veces a lo largo del hilo, pero te lo repito, las restricciones hay que ponerlas en los ficheros de configuración de los medias servers y no en el archivo de configuración de la tienda ni en un .htaccess porque la tienda, obviamente, deja de funcionar. Esas directrices se ponen en los ficheros de configuración de los Virtual Hosts de Apache para servir los media servers. Un saludo. Buenas tardes, a mi me funciona así en v.1.5.4.1: $this->_domain = 'www.mitienda.com'; Link to comment Share on other sites More sharing options...
OlivierJM Posted November 6, 2013 Share Posted November 6, 2013 Añado: He conseguido arreglar el problemaco del CSS con estas instrucciones. http://forge.prestashop.com/browse/PSCFI-2909 La página carga en 4 segundos la primera vez, y en 1 u 2 a partir de ahí. Por fiiinnnn. Nota: Para el problema del fondo (background-image) quien tenga uno, poner la imagen en la carpeta del theme, y nunca en la carpeta img principal (thx Nadie). Saludos. Pues a ver como lo has resuelto por que mi problema es que se me descuadra la tienda en el tercer paso al añadir los media server. No entiendo el por que se descuadra toda la pagina. Una ayudita por favor. Link to comment Share on other sites More sharing options...
OlivierJM Posted November 6, 2013 Share Posted November 6, 2013 Hola. Tanto el DocumentRoot como Directory deben apuntar a la carpeta donde tienes instalado prestashop no tu theme. Un saludo. Buenas Oka: Lo primero agradecerte el post y lo segundo a ver si me puedes orientar por que se me duplican los media : name="author"><meta name="robots" content="index,follow"/><link rel="icon" type="image/vnd.microsoft.icon" href="http://media2.compatoner.com/img/favicon.ico?1378825165"/><link rel="shortcut icon" type="image/x-icon" href="http://media2.compatoner.com/img/favicon.ico?1378825165"/ Y si le doy al enlace, me dice que no existe :S Link to comment Share on other sites More sharing options...
oka Posted November 9, 2013 Share Posted November 9, 2013 Buenas Oka: Lo primero agradecerte el post y lo segundo a ver si me puedes orientar por que se me duplican los media : name="author"><meta name="robots" content="index,follow"/><link rel="icon" type="image/vnd.microsoft.icon" href="http://media2.compatoner.com/img/favicon.ico?1378825165"/><link rel="shortcut icon" type="image/x-icon" href="http://media2.compatoner.com/img/favicon.ico?1378825165"/ Y si le doy al enlace, me dice que no existe :S Espera que saco la bola de cristal. Bromas a parte, con la información que das es imposible saber qué ocurre. Un saludo. Link to comment Share on other sites More sharing options...
OlivierJM Posted November 10, 2013 Share Posted November 10, 2013 (edited) Espera que saco la bola de cristal. Bromas a parte, con la información que das es imposible saber qué ocurre. Un saludo. Jajajaja. Bolas de Cristal aparte te comento: Los pasos se han dado correctamente y resulta que el enlace indicado del (media.compatoner.com) que creo con consola mediante nl se ve correctamente a traves de consola shell, es decir, en /var/www/vhosts/media.compatoner.com/ sale todo el contenido de "compatoner.com" con el comando "ls -l " sin envargo, en el navegador "media.compatoner.com" no sale contenido ninguno. A ver donde cometo el fallo por que no es tema de permisos, de echo, tant media.compatoner.com (subdoinio) como "compatoner.com" tienen los mismos permisos y usuarios. Por cierto, la conexion a la base de datos es en otro VPS no en el que esta la tienda y los 3 subdominios. Un saludo P.D.T.: Si en lugar de enlazar mediante "nl media" (es decir a un subdominio) quiero enlazar a otro VPS con otra IP, ¿Como lo hago para que copie el contenido como en los subdominios en lugar de crear n cron que copie el contenido cada X tiempo en el otro VPS? Edited November 10, 2013 by OlivierJM (see edit history) Link to comment Share on other sites More sharing options...
oka Posted November 10, 2013 Share Posted November 10, 2013 Hola. hay que ver los logs de los servidores, si no estamos ciegos. Sobre la duda de copiar a otro VPS, puedes usar NFS para montar los direcctorios de la tienda en otros VPS. Un saludo. Link to comment Share on other sites More sharing options...
Ruffo Posted November 10, 2013 Share Posted November 10, 2013 Hola a todos, y disculpen el atrevimiento. Soy nuevo por aquí y en las cosas de prestashop. Domino otras plataformas pero prestashop is nuevo para mi. No se si este post va aquí, pero la verdad no encontré otro lugar. Tengo una tienda con prestashop a la cual le he configurado correctamente el Google Page Speed Service, algo sabe lo que digo? . Bueno, el asunto es que la tienda va rápido ahora, pero no agrega productos al carrito ni tampoco me permite hacer login como cliente. Para los que no saben GPSS trabaja solo con www. así que tienes que redireccionar todo para el CDN de ellos. Todo esto ha sido hecho correctamente, es más las mismas configuraciones las tengo para otras CMS. GPSS tiene la opción para incluir evitar algunas paginas o archivos que no desees colocar en el CDN (que pienso es la razón por la cual no funciona agregar al carrito y el login de usuarios) Mis preguntas son: Cuales son esos archivos que debo evitar que pasen por el CDN GPSS? Y que puedo hacer para que me funcione el agregar productos al carrito y que el login del cliente funcione? Los incomodo con este temita por que me he paseado la internet entera y no hay nada sobre como ajustar prestashop al GPSS, ni en ingles, ni en ningún otro idioma. Muchas gracias por su tiempo y ayuda. Link to comment Share on other sites More sharing options...
OlivierJM Posted November 20, 2013 Share Posted November 20, 2013 Hola a todos, y disculpen el atrevimiento. Soy nuevo por aquí y en las cosas de prestashop. Domino otras plataformas pero prestashop is nuevo para mi. No se si este post va aquí, pero la verdad no encontré otro lugar. Tengo una tienda con prestashop a la cual le he configurado correctamente el Google Page Speed Service, algo sabe lo que digo? . Bueno, el asunto es que la tienda va rápido ahora, pero no agrega productos al carrito ni tampoco me permite hacer login como cliente. Para los que no saben GPSS trabaja solo con www. así que tienes que redireccionar todo para el CDN de ellos. Todo esto ha sido hecho correctamente, es más las mismas configuraciones las tengo para otras CMS. GPSS tiene la opción para incluir evitar algunas paginas o archivos que no desees colocar en el CDN (que pienso es la razón por la cual no funciona agregar al carrito y el login de usuarios) Mis preguntas son: Cuales son esos archivos que debo evitar que pasen por el CDN GPSS? Y que puedo hacer para que me funcione el agregar productos al carrito y que el login del cliente funcione? Los incomodo con este temita por que me he paseado la internet entera y no hay nada sobre como ajustar prestashop al GPSS, ni en ingles, ni en ningún otro idioma. Muchas gracias por su tiempo y ayuda. Gracias Oka por solventar mis dudas. En cuanto al compañero, decirte que con pagesped de google me genera errores con los media en subdominios y necesito entrar con el navegador de Firefox para por ejemplo, importar CSV ya que con Chrome me da error :S Esos son los unicos problemas que me a generado y trabajo con la version 1.4.9, así que supongo que tendras otra version de Prestashop. En cuanto tenga tiempo seguire trasteando los media. Un saludo Link to comment Share on other sites More sharing options...
OlivierJM Posted November 21, 2013 Share Posted November 21, 2013 Hola. hay que ver los logs de los servidores, si no estamos ciegos. Sobre la duda de copiar a otro VPS, puedes usar NFS para montar los directorios de la tienda en otros VPS. Un saludo. A to esto e encontrado una solución mejor que NFS para el Cloud de Servidores. A ver que resultados dan las pruebas Mi error lo daba por que Plesk no creo bien los subdominnios . Cree otros y ¡Vuala! No se por que, ya que es la primera vez que Plesk me hace una de estas, en fin... Por cierto, simple curiosidad, ¿Con que SO sueles trabajar? Corrígeme si me equivoco pero creo que es Centos. Un saludo y mil gracias. Link to comment Share on other sites More sharing options...
oka Posted November 29, 2013 Share Posted November 29, 2013 Por cierto, simple curiosidad, ¿Con que SO sueles trabajar? Corrígeme si me equivoco pero creo que es Centos. No, suelo trabajar con Debian. Si tengo que montar algo desde cero siempre con Debian. Un saludo. Link to comment Share on other sites More sharing options...
Grafeco Posted December 2, 2013 Share Posted December 2, 2013 (edited) Creo que la dirección dentro del servidor a la que os referís es la siguiente: /etc/httpd/conf/httpd.conf He añadido el código al final del archivo, pero si hago la prueba, por ejemplo poniendo un html en mi servidor (al cual, según el código, no tiene que dar acceso desde media1.midominio.com), me sigue saliendo el html perfectamente al consultarlo desde media1.midominio.com. Puede que me haya confundido de archivo, ¿alguna sugerencia? Edited December 2, 2013 by Grafeco (see edit history) Link to comment Share on other sites More sharing options...
Antonio Borrego Posted December 19, 2013 Share Posted December 19, 2013 Buenos dias a todos. En lo referente a que la tienda se descojona al poner los servidores de media, me he dado cuenta que, por lo menos a mi, que uso la versión de Prestashop 1.5.5, solo sucede si relleno el campo "servidor multimedia nº1" si relleno los otros 2 y este lo dejo vacio, todo funciona normalmente. Por cierto, en la ayuda oficial de prestashop que viene con la nueva versión 1.5.6, dice que lo que hay que hacer es réplica exacta de las carpetas: /img, /themes y /modules. y subirlas a otro servidor o subdominio, aunque si el subdominio está en el mismo servidor que el dominio de nuestra tienda, todo esto sirve de poco. ¿A alguien mas le pasa lo del servidor multimedia nº 1? Link to comment Share on other sites More sharing options...
oka Posted December 22, 2013 Share Posted December 22, 2013 aunque si el subdominio está en el mismo servidor que el dominio de nuestra tienda, todo esto sirve de poco. Hola, sí que sirve pues consigues bajar los archivos de 4 en 4 en vez de 1 en 1. Un saludo. Link to comment Share on other sites More sharing options...
operadormail Posted December 22, 2013 Share Posted December 22, 2013 Hola Estoy tratando de configurar los servidores multimedia de mi tienda en el apartado Parámetros avanzados -> Rendimiento pero me he encontrado que al incluir los nombres de los servidores y guardar los cambios, los campos vuelven a quedarse en blanco y no consigo que se guarden ¿Alguna sugerencia? Link to comment Share on other sites More sharing options...
Antonio Borrego Posted December 23, 2013 Share Posted December 23, 2013 Hola, sí que sirve pues consigues bajar los archivos de 4 en 4 en vez de 1 en 1. Un saludo. Tan solo pongo lo que dice la guia de configuración de prestashop, que al fin han incluido en la versión 1.5.6. ¿A ti te pasa lo del servidor #1? que si lo configuras no se ven las imagenes? Link to comment Share on other sites More sharing options...
Feliz Garcia Posted December 23, 2013 Share Posted December 23, 2013 Tan solo pongo lo que dice la guia de configuración de prestashop, que al fin han incluido en la versión 1.5.6. ¿A ti te pasa lo del servidor #1? que si lo configuras no se ven las imagenes? ¿Donde se puede ver esa guía? Gracias, Link to comment Share on other sites More sharing options...
Antonio Borrego Posted December 23, 2013 Share Posted December 23, 2013 Bajate la última versión de Prestashop que es la 1.5.6.1, sale un icono de ayuda en cada página de configuración y en la de "performance" explica lo referente a los servidores multimedia, en inglés, eso si. Link to comment Share on other sites More sharing options...
Feliz Garcia Posted December 23, 2013 Share Posted December 23, 2013 Hola Estoy tratando de configurar los servidores multimedia de mi tienda en el apartado Parámetros avanzados -> Rendimiento pero me he encontrado que al incluir los nombres de los servidores y guardar los cambios, los campos vuelven a quedarse en blanco y no consigo que se guarden ¿Alguna sugerencia? Yo acabo de hacer la prueba con la 1.5.6.1 y los campos guardar se me guardan. ¿No te guarda los cambios solo en esa opción, o no te guarda los cambios con cualquier cosa que hagas en el panel? Link to comment Share on other sites More sharing options...
oka Posted December 23, 2013 Share Posted December 23, 2013 Tan solo pongo lo que dice la guia de configuración de prestashop, que al fin han incluido en la versión 1.5.6. ¿A ti te pasa lo del servidor #1? que si lo configuras no se ven las imagenes? Hola. No, nunca me ha pasado el error que comentas. Sobre los media servers alojados en la misma máquina ¿En la guía pone que no vale para nada? ¿Puedes poner un link a esa información? Un saludo. Link to comment Share on other sites More sharing options...
Antonio Borrego Posted December 23, 2013 Share Posted December 23, 2013 Hola. No, nunca me ha pasado el error que comentas. Sobre los media servers alojados en la misma máquina ¿En la guía pone que no vale para nada? ¿Puedes poner un link a esa información? Un saludo. No es que ponga que no vale para nada, si no que no es lo mejor. Es preferible que sean servidores distribuidores de contenido o CND. Imagino que viene a ser eso de que si tres personas vienen en tres coches diferentes pero por la misma carretera, si esta carretera solo tiene un carril, los tres coches llegarán uno detras del otro. Si vienen por tres carreteras distintas, llegarán a la vez, y si son autopistas aun mas rápido. De todas formas aquí está el link. http://doc.prestashop.com/display/PS15/Understanding+the+Advanced+Parameters#UnderstandingtheAdvancedParameters-Mediaservers Por cierto, a mi me sigue ocurriendo lo del servidor #1. Ponga lo que ponga, me desaparecen las imágenes de los productos. Gracias. Link to comment Share on other sites More sharing options...
oka Posted December 25, 2013 Share Posted December 25, 2013 No es que ponga que no vale para nada, si no que no es lo mejor. Es preferible que sean servidores distribuidores de contenido o CND. Imagino que viene a ser eso de que si tres personas vienen en tres coches diferentes pero por la misma carretera, si esta carretera solo tiene un carril, los tres coches llegarán uno detras del otro. Si vienen por tres carreteras distintas, llegarán a la vez, y si son autopistas aun mas rápido. De todas formas aquí está el link. http://doc.prestashop.com/display/PS15/Understanding+the+Advanced+Parameters#UnderstandingtheAdvancedParameters-Mediaservers Por cierto, a mi me sigue ocurriendo lo del servidor #1. Ponga lo que ponga, me desaparecen las imágenes de los productos. Gracias. Hola. Supongo que para Amazon, que recibe 91 pedidos cada minuto, lo ideal es tener un CDN geolocalizado y distribuido de forma global. Para una tienda normal y corriente ni lo vas a notar que el CDN esté o no en la misma máquina. Una "carretera de 4 carriles" es lo que puedes montar con el CDN en la misma máquina siempre que tengas el suficiente ancho de banda (que suele ser lo normal en un VPS normalito). Un saludo. Link to comment Share on other sites More sharing options...
Soek22 Posted January 14, 2014 Share Posted January 14, 2014 Si no tienes el presupuesto para contratar un CDN, te puedes beneficiar de los SERVIDORES MULTIMEDIA con el objetivo de distribuir las peticiones de página y acelerar la carga de tu web. Según he leído, un navegador de internet solo ejecuta 8 peticiones de página por dominio al mismo tiempo. Así que si divides tu contenido en distintos dominios el navegador ejecutará más de 8 peticiones en paralelo y se cargará antes tu web. Hay que tener en cuenta que usando los servidores multimedia de esta forma no obtendrás el beneficio de la característica principal de un CDN, ya que el contenido se seguirá sirviendo desde el mismo servidor. Pero por lo menos te aprovecharás de esta pequeña mejora que normalmente no se usa. Para la configuración de los servidores de http://www.site.com tienes que: 1. Crear subdominios (en el panel de configuración de tu servidor, cpanel, plesk o el que sea) que apunten al mismo directorio donde tienes instalado http://www.site.com (quiero decir que todos los subdominios tienen que tener como carpeta root la misma que tiene configurada el dominio principal). Posibles ejemplos de subdominios: static1.site.com static2.site.com static3.site.com 2. Poner los subdominios en cada campo de servidores multimedia (preferencias>rendimiento). 3. Si estás usando SSL en tu tienda y no tienes un certificado wildcard, tienes que completar el siguiente paso para que no se usen los servidores multimedia en las páginas https: ·PS 1.5 - Sigue el tutorial: http://blog.dh42.com/prestashop-media-server-hack/ ·PS 1.4: Tienes que añadir la siguiente condición al segundo "if" de la función getMediaServer($filename) (line 1742 aprox.) en el archivo "classes/Tools.php" Tools::usingSecureMode() == false Aquí puedes ver el "if" original: if (self::$_cache_nb_media_servers AND ($id_media_server = (abs(crc32($filename)) % self::$_cache_nb_media_servers + 1))) return constant('_MEDIA_SERVER_'.$id_media_server.'_'); Tienes que sustituir "AND" por "&& Tools::usingSecureMode() == false &&": if (self::$_cache_nb_media_servers && Tools::usingSecureMode() == false && ($id_media_server = (abs(crc32($filename)) % self::$_cache_nb_media_servers + 1))) return constant('_MEDIA_SERVER_'.$id_media_server.'_'); Fuentes: HA!*!*Y post y dh42 blog. Saludos. 1 Link to comment Share on other sites More sharing options...
tripaldi Posted January 17, 2014 Share Posted January 17, 2014 Hola, Que se debe poner en los DNS de los subdominios en el panel de control del hosting de uno al configurar todo ? Yo actualmente tengo cloudfront. Alguien me podria decir si sirve imagenes y demas desde los media ? mi dominio es www.juegoadulto.es Muchas gracias a todos. Link to comment Share on other sites More sharing options...
TheBullet Posted January 29, 2014 Share Posted January 29, 2014 Hola Gruposte agradezco tus palabras. Esas restricciones que hay que poner (como bien apuntas para el tema del SEO) hay que añadirlas en el fichero de configuración de cada virtual host de apache asignado a un media server. Si ponemos esas órdenes en el .htaccess de la tienda dejará de funcionar porque lo que le decimos es que no sirva contenido en PHP. El tema está en que tienes que poner esas restricciones en los virtualhost de apache, no uso Cpanel, pero para personalizar la configuración de un VirtualHost creado con esta herramienta creo que tienes que: Veo que muchos compañeros tienen esta misma duda, que es en realidad muy sencilla de resolver si tienes acceso a los ficheros de configuración de Apache. El problema que veo es que Cpanel tiene algo "escondida" la opción de editar estos ficheros de Apache, si alguien sabe a ciencia cierta cómo editarlos desde Cpanel y lo pone le ahorrará muchos quebraderos de cabeza a los ususarios. Un saludo Hola oka, estoy intentando configurar las restricciones y no encuentro como hacerlo, me he puesto en contacto con CDmon y me dicen esto: Los subdominios no tienen fichero de configuración propio, están en el del propio hosting y no se pueden tocar según qué configuraciones porque están automatizados. Si cada carpeta de subdominio tiene su propio fichero .htaccess, estas restricciones sólo afectarán a dicha carpeta. También hay directivas que indican a qué carpeta afectan ciertas directivas dentro de un fichero .htaccess. Consulte la documentación de Apache sobre .htaccess para crearlas. Hay alguien con un hosting compartido en CDmon que lo haya podido hacer? Link to comment Share on other sites More sharing options...
TheBullet Posted January 30, 2014 Share Posted January 30, 2014 (edited) Para los que no puedan tocar los ficheros de configuración de los virtual hosts, tengo un código para insertar en el htaccess que deniega el acceso a los archivos que nos interesan solo a través de los media servers. El código sería este: RewriteCond %{REQUEST_FILENAME} "\.(htaccess.*|htpasswd.*|ini.*|phps.*|log.*|html.*|php.*|tpl.*)" RewriteCond %{hTTP_HOST} ^static1\.tudominio\.es [NC,OR] RewriteCond %{hTTP_HOST} ^static2\.tudominio\.es [NC,OR] RewriteCond %{hTTP_HOST} ^static3\.tudominio\.es [NC] RewriteRule .* - [F] Si alguien ve algún error que lo diga! Yo lo he probado y en principio funciona bien, se puede acceder a las imágenes, pero no a la tienda. Edited January 30, 2014 by TheBullet (see edit history) Link to comment Share on other sites More sharing options...
OlivierJM Posted January 30, 2014 Share Posted January 30, 2014 Para los que no puedan tocar los ficheros de configuración de los virtual hosts, tengo un código para insertar en el htaccess que deniega el acceso a los archivos que nos interesan solo a través de los media servers. El código sería este: RewriteCond %{REQUEST_FILENAME} "\.(htaccess.*|htpasswd.*|ini.*|phps.*|log.*|html.*|php.*|tpl.*)" RewriteCond %{hTTP_HOST} ^static1\.tudominio\.es [NC,OR] RewriteCond %{hTTP_HOST} ^static2\.tudominio\.es [NC,OR] RewriteCond %{hTTP_HOST} ^static3\.tudominio\.es [NC] RewriteRule .* - [F] Si alguien ve algún error que lo diga! Yo lo he probado y en principio funciona bien, se puede acceder a las imágenes, pero no a la tienda. Hay te dejo mi aporte: En lugar de copiar todo el contenido, puedes copiar solo las carpetas que necesitas, CGI, IMG, ETC... no todo el sitio. De esta forma te aseguras al 100% que no accedan al resto de archivos ya que no estarán disponibles Un saludo Link to comment Share on other sites More sharing options...
TheBullet Posted January 30, 2014 Share Posted January 30, 2014 Hola OlivierJM No he copiado el contenido en ningún sitio, los subdominios enlazan a la misma carpeta que el dominio principal, todos usan los mismos archivos, este código lo pongo en el htaccess de la tienda original. La verdad es que mejora mucho la velocidad de carga, pero ha surgido un problema y he tenido que volver a la configuración anterior. Al cabo de unas horas de tener los media servers activos, me he dado cuenta de que no se podían añadir productos al carrito. Solo se podía añadir uno, si se añadía otro se borraba el anterior y si se cambiaba de página también quedaba el carrito vacío. El error también provocaba que los usuarios no pudieran hacer login. Era una cosa muy rara, porque dependiendo del navegador en el que se probaba funcionaba bien o no. He estado mirando por el foro, y es un error que no se sabe porque se da. No he encontrado ninguna solución. Estoy casi seguro que tiene que ver con las cookies, pero no lo entiendo. Había modificado el archivo Cookies.php tal y como decía oka... ¿Alguien sabe a que puede ser debido este error? La verdad es que me gustaría poder activar los media servers... Link to comment Share on other sites More sharing options...
Grafeco Posted February 4, 2014 Share Posted February 4, 2014 ¡Hola! Me he estado informando, y he probado los servidores media tal y como han dicho y me funcionan correctamente, la página carga que es una maravilla, pero tengo el problema con el certificado SSL. Todo va fenomenal hasta que nos metemos en un HTTPS de nuestra web (como en la página de Entrar) y se come los estilos, JS, imágenes... Tengo un certificado para la página principal, y al meter los media como media1.dominio.com, efectivamente, se los carga al entrar por https. Me visto el siguiente módulo de pago por internet, y aseguran que funciona bien: http://www.innova-modules.com/modulos-prestashop/deluxe-ssl-media/ Algo así es lo que busco. ¿Sabés de alguna forma de (aún teniendo los servidores media) no utilizarlos en las páginas https? Un abrazo!! Link to comment Share on other sites More sharing options...
Calatravo Posted February 7, 2014 Share Posted February 7, 2014 Buenas tardes, Lo primero de todo, daros las gracias a todos por este post, después de leer muchos manuales este ha sido el definitivo para conseguir configurar los Media Servers. Todo funciona correctamente, el problema que tengo ahora es que Google PageSpeed dice que necesito habilitar la compresión para una serie de recursos. Todos ellos se descargan desde los subdominios que he configurado para el Media Server y por muchas configuraciones de .htaccess que intento no hay manera de que PageSpeed detecte el contenido comprimido. He pasado otras utilidades online para detectar si gzip está activado. Pingdom y Whatsmyip test gzip me dicen que si pero Gtxmetrix y PageSpeed me dicen que no. La web está configurada en una carpeta, no en la raiz del servidor, esto me ha causado muchos problemas a la hora de configurar los media server y creo que el problema de la compresión puede venir por ahí también. Por los htaccess que no indican, al contenido que se sirve desde los subdominios, que debe comprimirse. La estructura es así: / /oscommerce /prestashop En la raiz del servidor hay un htaccess que redirecciona a una carpeta con una tienda en producción (oscommerce). En la carpeta de oscommerce hay un .htaccess con configuraciones para oscommerce y una regla para evitar que se pueda acceder a archivos .php, .html... desde los subdominios, por el contenido duplicado. En la carpeta del prestashop hay otro htaccess con la configuración para el prestashop y el mismo código para evitar que se descarguen phps desde los subdominios. Comentar que el servidor tiene configurado correctamente los módulos para la compresión ya que si paso el PageSpeed a la tienda oscommerce me dice que está comprimida. He probado a poner el código del htaccess de oscommerce (que si comprime) en el prestashop pero nada. ¿Alguna idea? Gracias. Link to comment Share on other sites More sharing options...
seLu Posted February 12, 2014 Share Posted February 12, 2014 No es que ponga que no vale para nada, si no que no es lo mejor. Es preferible que sean servidores distribuidores de contenido o CND. Imagino que viene a ser eso de que si tres personas vienen en tres coches diferentes pero por la misma carretera, si esta carretera solo tiene un carril, los tres coches llegarán uno detras del otro. Si vienen por tres carreteras distintas, llegarán a la vez, y si son autopistas aun mas rápido. De todas formas aquí está el link. http://doc.prestashop.com/display/PS15/Understanding+the+Advanced+Parameters#UnderstandingtheAdvancedParameters-Mediaservers Por cierto, a mi me sigue ocurriendo lo del servidor #1. Ponga lo que ponga, me desaparecen las imágenes de los productos. Gracias. Buenos dias, a mi me ocurre lo mismo tengo la tienda prestashop 1.5.6.2 aqui. y tengo otros tres sites cada uno en un dominio. He copiado las carpetas /img, /modules y /themes a cada uno de los tres dominios, en rendimiento he agregado los tres servers y la pagina me sale sin css y casi sin imagenes ( el logo y las imagenes del slide si las muestra). Si elimino el primer server y dejo los otros dos va perfecto y baja de casi 13s a 3.5s... Alguien sabe que esta pasando? Gracias Link to comment Share on other sites More sharing options...
Calatravo Posted February 12, 2014 Share Posted February 12, 2014 Inspecciona la web con la herramienta de inspeccionar (ctrl+shift+i) en chrome o firefox y mira a ver de que urls se está intentando descargar las fotos. Eso te dará una idea de que está pasando. Tu tienda no carga por cierto. Yo sigo con el mismo problema de dos posts mas arriba. Si alguien tiene alguna idea se lo agradecería enormemente. Link to comment Share on other sites More sharing options...
seLu Posted February 12, 2014 Share Posted February 12, 2014 Buenas tardes, cargar si carga lo acabo de probar, ahora carga todo menos las fotos de los artículos porque busca en el servidor (el primero) la url amigable y no la encuentra, pero en firefox además me faltan las imágenes del candado, carrito, lupa y redes sociales del footer. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now