[Решено] CDN + JoomGallery

  • 3 Ответов
  • 1799 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн Sni10

  • ***
  • 110
  • [+]5 / [-]0
  • Пол: Мужской
  • I am a law abiding citizen . . .
    • Просмотр профиля
[Решено] CDN + JoomGallery
« : 06.06.2013, 16:01:34 »
Приветствую друзья. Появилась необходимость переключить работу галерейки к узлу амазоновского КДН. Но уперся в настройки роутера самой галереи - которая формирует линки на изображения такого рода

"/root/image.raw?view=image&type=thumb&id=5014&width=280&height=220&pos=2"
Казалось бы задача проще некуда просто дописать к началу линка URL узла и все. Но перерыв пачку системных файлов и компонента и админки галереи я залип.  >:(

ЗЫ Устройство моей схемы такого характера - есть сайт донор на хостинге и 3 "клона с общей базой данных" - база и подключение к ней "клонов" работают на ура, но сами "клоны" непосредственно пытаются тянуть файлы изображений каждый из своей папки /sample.com/www/images/joomgallery

Разумеется клонировать папки с картинками, оригиналами и тумбами смысла нет никакого (один пакет перевалил уже за 50Гб, более 50 килокартинок )

Кто нибудь может помочь и подсказать где преобразовываются запросы к картинкам из /sample.com/www/images/joomgallery в /root/image.raw?view=бла бла бла, чтобы я смог подпилить пути  и свести их всех к общему знаменателю - чтобы клоны брали картинки ну хотя бы с сайта-оригинала?

А там я уже и CDN разберусь (надеюсь). И если удастся  наваяю небольшой мануальчик для братьев по несчастью.

Само собой с меня пиво  *DRINK*  :-*

UPD1

Собственно да чего же я накопал. Нашел в файле components\com_joomgallery\interface.php следующие записи

Line 1494:     $origpath   = JPATH_ROOT.DS.$this->_jg_config->get('jg_pathoriginalimages').$row->catpath;
Line 1495:     $imgpath    = JPATH_ROOT.DS.$this->_jg_config->get('jg_pathimages').$row->catpath;
Line 1496:     $thumbpath  = JPATH_ROOT.DS.$this->_jg_config->get('jg_paththumbs').$row->catpath;

Но в PHP я как слон в посудной лавке. Сие заклинания не то чтоб настремали... Но решил все же посоветоваться с более опытными людьми.


« Последнее редактирование: 26.03.2014, 18:37:21 от Sni10 »

*

Оффлайн Sni10

  • ***
  • 110
  • [+]5 / [-]0
  • Пол: Мужской
  • I am a law abiding citizen . . .
    • Просмотр профиля
Re: CDN + JoomGallery
« Ответ #1 : 26.03.2014, 09:39:14 »
Итак предыдущий пост оказался все таки в "молоко". Главным виновником у нас стал не interface.php а великий www.site.com\components\com_joomgallery\router.php

Ингридиенты:

Сабж - Joomla 2.5
SEF  -  стандартный Joomla core SEF (никаких лишних % к процессору!) с включенным обязательно Mod_rewrite
CDN -  NoNumber CDN for Joomla. Бесплатная версия удовлетворяет аж со свистом.

Приготовление:

1. Для начала возьмите ваш .htaccess и найдите в нем вот такую вот строку

RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]  и заменим ее на
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw|jpg))$ [NC]

2. Включите, если еще не включен, стандартный Joomla core SEF.
[spoiler]В файле роутера есть, предусмотренное разработчиком, закомментированное правило для генерации человеческого алиаса основного изображения, при условии работы стандартного SEF. Разработчик пишет что этот хак для htaccess работает только на последних версиях галереи для J3.1 и хайгер. В которой уже есть опция SEF URLs в общих настройках, при наличии только которой урлы будут работать правильно. 
Да есть конечно у галереи и спецплагин для sh404SEF но это вообще недоразумение как и сам sh404SEF на версиях от J1.6.[/spoiler]

3. Берем файл www.site.com\components\com_joomgallery\router.php и ищем в нем примерно 160 строку со следующим содержанием

$sef_image = 0;
    //require_once JPATH_ADMINISTRATOR.DS.'components'.DS.'com_joomgallery'.DS.'helpers'.DS.'config.php';
    //JTable::addIncludePath(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_joomgallery'.DS.'tables');
    //$config = JoomFactory::getConfig();
    //if($config->get('jg_image_sef'))
    if(!$sef_image)
    {
      $segments[] = 'image';
      return $segments;
    }

И меняем в $sef_image = 0; на $sef_image = 1;

В результате ссылки на оригинальные изображения имеющие вид

/root/image.raw?view=image&type=img&id=15641

Будут переводиться в адекватный url с доменом. Что позволяет плагину подхватывать и кэшировать самые увесистые джипеги в облако Амазона.

http://s3.ok.com/root/image-15641-img.jpg

Вот собственно и весь хак. Который удалось нащупать, чтением буржуйских форумов и методом научного Т, почти полгода спустя после возникновения проблемы. Когда аудитория СНГ составила всего лишь 30%. Остальное МИР.

Настройки

Решил расписать в картинках все от запуска облака на Амазоне и подстройке под него сабжа.

1. Первое кому интересно то хабра уже имеет неплохую статейку в картинках о запуске облака Амазон.

2. Необходимо создать новый CNAME для вашего домена в настройках панели управления вашего домена (простите за тавтологию) Выглядит примерно так:
[spoiler][/spoiler]
3. SEF включаем стандартный. SEF он и в Африке SEF.
[spoiler][/spoiler]
4. NoNumber CDN for Joomla plugin - У меня заработало так.
[spoiler][/spoiler]

На этом я завершаю повесть. Правка роутера позволила плагину выхватывать и передавать в облако основной вес сайта. Что помогло разгрузить свой сервер и уменьшить время ожидания загрузки картинок для всей заграницы. Надеюсь пост будет полезен.
« Последнее редактирование: 31.03.2014, 03:50:40 от Sni10 »

*

Оффлайн Sni10

  • ***
  • 110
  • [+]5 / [-]0
  • Пол: Мужской
  • I am a law abiding citizen . . .
    • Просмотр профиля
Re: CDN + JoomGallery
« Ответ #2 : 26.03.2014, 17:47:10 »
Следующим шагом буду думать как мигрировать свои уже 84Gb картинок с хостинга (чтобы оставить на хостинге исключительно ядро движка) в ХРАНИЛИЩЕ Амазон. И настроить загрузку файлов галереи сразу в облако, минуя загрузку картинок непосредственно на сам сайт.

Закатал рукава.

*

Оффлайн AdWeb

RE: CDN + JoomGallery
« Ответ #3 : 22.12.2015, 17:52:58 »
удалось ли достичь нужного результата?
Создание сайтов не дорого | Хороший Хостинг | Купить Хикашоп | Доска объявлений
PS. спасибо кидать через вебмани: R152456839841 если плюсикофф не хватает :)