Магазин VirtueMart и хостинг

shopmaster 01 Ноябрь, 2009 10:25 VirtueMart Постоянная ссылка Трекбэки (0)

Магазин VirtueMart и хостинг

Если вам вдруг пришла в голову идея запустить на удаленном хостинге магазин VirtueMart, подумайте дважды, прежде чем это делать.  

Прямая установка магазина на сервере чревата проблемами, связанными с той кашей, которая творится в Joomla с правами на папки и файлы. В большинстве случаев вы никак не сможете на них повлиять или подправить как нужно, если только вы не являетесь владельцем серверного железа, или, по карйней мере, имеете доступ к серверу по протоколу ssh (если у вас арендованный хостинг, то в подавляющем большинстве случаев такого доступа вам не дадут, объяснения просты "по соображениям безопасности безопасный протокол отключен" :) ).

Что же происходит на сервере, отчего многие компоненты, модули и плагины просто загибаются, и вы ничего с этим сделать не можете. В силу того, что они устанавливаются через административный интерфейс Joomla, то система сама выставляет все права на папки и файлы, и делает это настолько некорректно, что часто препятствует работе установленного программного обеспечения.

Конкретно - Joomla устанавливает файлы с правами доступа пользователя www и группы www. Если это арендованный сервер, и у вас нет доступа к нему по ssh, то вы никогда не увидите то, о чем я говорю, и, следовательно не сможете исправить - через предоставляемую пользователям административную панель сервера, будь то cpanel или ISPManager, этого не видно; вы можете видеть только, что с файлами в принципе можно делать - только читать, читать и записывать, и т. д. Но от чьего имени созданы эти файлы, посмотреть (и поменять) негде.

Таким образом, получается, что папки и файлы сформированы от имени пользователя www в группе www, а вы заходите на сервер со своим логином (например, vasyapupkin) и паролем. И пытаетесь поменять права на запись в файл с 644 на 777. Что присходит? Правильно, серверная операционная система видит, что вы нагло пытаетесь взломать чужой файл, и дает отлуп. Сделать с этими файлами вы ничего не можете - ни исправить, ни стереть, ни переместить... Ничего.

В конфигурации Joomla предусмотрены настройки для борьбы с такой ситуацией - разработчики предлагают настроить доступ по фтп. Это ерунда. Это НЕ РАБОТАЕТ.

Так как же все-таки установить на удаленный сервер магазин VirtueMart так, чтобы он был работоспособным?

Ответ прост - по возможности нужно все собирать в локальном режиме, и переносить на удаленный сервер после сборки.

Это относится ко всем компонентам, модулям и плагинам Joomla. В частности, только таким образом можно заставить работать AcaJoom; попробуйте, у вас все получится ;).

Что же конкретно нужно сделать?

А вот что.

 

  1. Устанавливаем Joomla и все нужные компоненты, модули и плагины на локальный сервер.
  2. Устанавливаем компонент резервного копирования JoomlaPack (можно обойтись без него и сделать все ручками, чуть ниже я об этом напишу, но с этим компонентом будет проще).
  3. Из административной панели компонента JoomlaPack создаем резервную копию, запакованную архиватором zip (бесплатная версия компонента JoomlaPack предусматривает только зипование, чего вполне достаточно. Версия JoomlaPack Plus позволяет работать с архивами в формате tar. Это может быть удобно, если на вашем хостинге установлена панель ISPManager, которая не позволяет распаковывать zip-архивы. Впрочем, zip-архив можно перепаковать в tar уже после архивирования, просто дополнительная процедура.). В архив входят все файлы и архив базы данных, то есть JoomlaPack создает полный архив вашего сайта, пригодный для переноса на удаленный хостинг.
  4. Заливаем архив на удаленный сервер по фтп.
  5. Распаковываем архив в нужной папке.
  6. Заходим на сайт через браузер, как обычно при установке Joomla, в данном случае она подхватит архив и восстановит сайт на удаленном сервере в том виде, в каком вы его подготовили на локальном сервере.
  7. После окончания установки необходимо установить права на запись для папок и файлов. В силу того, что установка производилась от вашего имени, владельцем всех папок и файлов являетесь вы, и система не заблокирует вашу рабботу ни с какими папками и файлами. Для начала можно просто зайти в админку и в меню помощи посмотреть, на какие папки система просит установить права на запись. Это основная работа. Однако не вся - система не учитывает, что права на запись 777 (или 766, если сервер позволяет работать в таком режиме) нужны некоторым дополнительным модулям в соответствующих папках. Если вы знаете, на какие еще папки нужно подправить права доступа - правьте. Если нет, то по ходу дела при возникновении сбоев в работе модулей просто отслеживайте возникающие ошибки и меняйте права по необходимости. В общем случае права 777 нужно выставить на все временные папки (tmp) и большинство папок с изображениями, находящимися внутри папок компонентов.
    Для магазина VirtueMart перейдите в папку компонента магазина и установите права на запись 777 на конфигурационный файл магазина.
  8. Теперь в административной панели магазина VirtueMart нужно исправить настройки урл сайта, чтобы при навигации по магазину он не пытался перебросить посетителей на локальный сервер.

 

Вот, собственно, и все.

Если вы по каким-то причинам не хотите использовать компонент JoomlaPack для архивирования сайта, а хотите все перенести вручную, не проблема. Заходите в папку своего сайта на локальном сервере, и архивируйте все, что в ней есть.

Далее создаем архив базы данных - либо через phpMyAdmin, либо используя дополнительные утилиты типа дампера.

Затем заливаем архив сайта на сервер, и распаковываем его там. Восстанавливаем базу данных (опять же, через phpMyAdmin или дампер).

Теперь находим в корне сайта конфигурационный файл, и открываем его на редактирование - вам нужно подправить информацию о сайте на сервере: пути, пользователей (сайта и базы данных), пароли... Просмотрите все строки, и поменяйте те, что относятся к конфигурации на сервере.

Далее меняем права на запись в папки и файлы, точно так же, как и в так сказать полуавтоматическом режиме, описанном выше.

Теперь у вас все должно работать.

А как только заработало, бежим на блог Шопмастера http://shopmaster.blogmasters.ru, и оставляем комментарии, или пишем свои замечания и комментарии на адрес электронной почты shopmaster@list.ru

Удачного всем дня!

Шопмастер

 

P.S. Да, если вы все-таки начали производить установку на удаленный сервер изнутри Джумлы, и теперь не знаете, что делать, потому что не можете удалить папки и файлы компонентов, поскольку система блокирует все ваши попытки, то как вариант можете попробовать следующее.

Зайдите в вышележащую родительскую папку, и из нее переименуйте ту папку, которую не удается удалить с сервера. Если снова неудача - поднимитесь на уровень выше. Постепенно вы поднимитесь до того уровня, на котором сервер даст вам все-таки переименовать папку. Удалить не даст, но переименовать сможете.

Как только переименовали, создаете папку с таким же именем через свой фтп-клиент, и заливаете в нее по фтп все содержимое. Поскольку вы делаете это по фтп, то папки и файлы создаются от вашего имени, вы являетесь их владельцем, и дальше можете спокойно с ними работать.

Такая ситуация возникает, например, когда вы хотите дописать русский языковый файл в папку languages. Ан нет - если папку languages сформировала Джумла, то ничего у вас не выйдет.

Действуйте согласно тому, что я только что написал, и вы сможете создать новую папку languages и уже после этого поместить туда нужный вам языковый файл.

В результате таких действий на сервере останутся хвосты в виде переименованных папок, но вы все-же получите работоспособную систему.

Удачи на просторах Интернета! 


Закладки:These icons link to social bookmarking sites where readers can share and discover new web pages.
    blinkbits BlinkList blogmarks co.mments connotea del.icio.us De.lirio.us digg Fark feedmelinks Furl LinkaGoGo Ma.gnolia NewsVine Netvouz RawSugar Reddit scuttle Shadows Simpy Smarking Spurl TailRank Wists YahooMyWeb ecto NewsGator

Комментарии

  1. ХАХА Вам видимо просто с хостингом не повезло! На порядочном хостинге компонены и скрипты исполняются от имени пользователя а не от апача и с установленными файлами я могу делать все что заблагорассудится - неоднократно проверенно! ;) У меня лишь 1 раз сложилась ситуация когда на хосте скрипты устанавливались не от моего имени, но решилось все через панель управления файлами DirectAdmin и встроенную функцию управления файлов, она позволяет ресетить владельца, так что паника Ваша безпричинна...

    Написал(а) a_z — 01 ÐÐ 2009, 12:22

  2. Ну, паники-то никакой нет: у меня собственный хостинг, свое железо, в России и в США, поэтому я и могу реально рассказать, что там внутри происходит.
    То, что Вам повезло и проблем не было - замечательно, Вам именно повезло.
    К тому же - Вы переносили из локала на хостинг, или прямо на хостинге ставили? Это 2 большие разницы.
    Для тех, у кого возникают такие проблемы, а их процентов 90, и написано, что же такое происходит, и как с этим бороться.
    Спасибо, что затронули эту тему.

    shopmaster Написал(а) Shopmaster — 03 ÐÐ 2009, 12:51

  3. Прошу прошения, какая часть представленного выше текста касается непосредственно скрипта магазина? Выбор хостинга под конкретную задачу - отдельная и довольно обширная тема. ) Для магазина - тем более. Проблемы с "нободи" встречаются только у очень ленивых,или помешаных на "секьюрности" *-nix`овых хостерофф.. У них же, чаще всего, возникают и неприятности со всякого рода дырами и уязвимостями..

    Написал(а) Alter — 21 ÐÐ 2009, 06:59

  4. То, что описано здесь, относится к "Джумле" как к системе, и поскольку магазин работает на основе этой системы, то и к нему тоже. Если у Вас есть полный доступ к серверу, то вы легко решите проблемы, описанные в статье. В большинстве случаев полного доступа к серверу у шопмастеров нет, и "в лоб" решить возникшие проблемы не получается. Я потому и писал эту статью, чтобы показать, как эти препятствия можно обойти, если вы столкнулись с такой проблемой. Встречается такая ситуация часто, практически во всех cms, когда что-то устанавливается самой системой через админский интерфейс. Скажу более, некоторые пользователи макинтошей сталкиваются с этой проблемой в локальном решиме (но там через терминал можно все быстро решить). Так что, отвечая на ваш вопрос, описанная проблема характерна для всей "Джумлы", и через это - для любой установки магазина VirtueMart. Если у вас есть полный рутовый доступ к серверу, можете смело игнорировать возможность столкновения с такой проблемой. Если рутового доступа у вас нет, то есть способ обойти пробему; как именно это сделать - написано выше.

    Написал(а) Shopmaster — 21 ÐÐ 2009, 09:16

  5. Давайте поясню еще раз, другими словами, чтобы было понятно - это не паранойя хостера, это просто то, как функционирует система.
    Скажу более, если такой проблемы на сервере не встречается, я бы, наверное, поостерегся хостится у такого провайдера - отсутствие этих проблем косвенно свидетельствует о некорректной настройке сервера, то есть потенциальной возможности того, что на ваш сайт зайдут злоумышленники, например, через соседей, и если не напакостят, то сделают дамп базы, сольют ваш уникальный и дорогой дизайн, скопируют базу данных клиентов и пр.
    в общем, вот что происходит.
    на сервере для вас создается учетная запись, скажем "vasya".
    размещаемые вами на вервере файлы помечаются как файлы "васи", и только вася может их удалять, изменять, и пр.
    дополнительно вася может изменять права доступа к файлам (это то, что может сделать любой вэбмастер или шопмастер) - разрешить всем доступ. или что-то ограничить.
    чего в стандартном варианте (без рутового доступа к серверу) вася сделать не может, так это изменить владельца файлов с "вася" на, например, "петя".
    таким образом, пользователь "петя", даже зайдя на сайт "васи", не может, скажем, удалять файлы, которые принадлежат "васе".
    точно так же "вася" не может распоряжаться файлами "пети".
    что же происходит дальше? а дальше система ("Joomla") устанавливает компоненты, и файлы, из которых состоят эти компоненты, принадлежат не "васе", а некоему пользователю "www", созданному "Джумлой".
    вы все правильно поняли - "вася" уже не имеет права ничего сделать с файлами пользователя "www".
    и не имея рутового доступа, не может сказать системе, что эти файлы принадлежат ему, "васе", а вовсе не какому-то там "www".
    поэтому дальше "вася" может работать со своими файлами, но как только доходит до определенных файлов магазина VirtueMart, созданными "Джумлой" от имени "www".
    получается, что магазин ваш, а к некоторым его файлам сервер вас не допускает, потому что владелец этих файлов вовсе не вы.
    вот такая в кратце ситуация.
    повторю, если вы не сталкивались с такой ситуацией на своем сервере, то я на вашем месте еще раз подумал бы о безопасности вашего хостинга.
    если сталкивались, и ломали голову, что с этим можно сделать, то ответ вы найдете в пбликации выше.
    удачного вам хостинга!

    Написал(а) Shopmaster — 21 ÐÐ 2009, 10:43

  6. Спасибо! Ваша статья меня спасла!!!! Я уже весь инет перерыла в поисках решения!!! Еще раз благодарю!!!

    Написал(а) Ирина — 16 ÐÑ 2010, 10:30

  7. Ирина, я рад, что смог Вам помочь. Если будут какие-то вопросы, обращайтесь на адрес электронной почты shopmaster@list.ru

    shopmaster Написал(а) shopmaster — 21 ÐÑ 2010, 11:32

  8. У меня такая проблема... При переносе на хост, перестал добавляется товар в VirtueMart. А так же не могу поменять настройки магазина, например увеличить сумму оформляемого заказа. Присвоила через FTP всем папкам атрибуты 777. Не помогло. Может есть у вас соображения по этому поводу? Буду рада любым решениям, а то уже не один месяц бьюсь с этой проблемой. Санькс.

    Написал(а) Оксана — 07 ЯР2011, 22:48


Добавить комментарий

Добавить комментарий
 authimage


Powered by BlogMasters.Ru