Wiki.Ru-Mambo.ru: ТекущиеПроекты/ДокументацияПоМамбо/ПереносМамбоНаСервер ...
Поиск:
Наблюдать | Версия для печати | Вход:   Пароль:  

Дорогие мои начинающие мамберы. Этот очерк адресуется вам – тем, кто только-только научился работать в Мамбо, сделал свой первый шаблон и столкнулся с задачей переноса локальной копии Мамбо на сервер хостера.


Несомненно, что проблема переноса сайта на Мамбо с локального компьютера на сервер хостера является одной из самых обсуждаемых на форуме проекта РУ-МАМБО. В форуме проекта имеются некие решения, даже есть статья, посвященная данной проблеме (http://ru-mambo.ru/content/view/260/25/). Проблема в том, простота освоения Мамбо не подразумевает такой же простоты в освоении основ работы с утилитами управления сайтом, базы данных, ftp-клиентами и т.д. Новичок в этом обычно слаб. Но Мамбо он поставил (как обычно, на denwer'е), где-то слышал, что ее несложно перенести на хостинг прямо с локальной установки, но сталкивается с множеством неизвестных ему вещей. Итак, если ты уверен в своих силах и мускулах – не трать время, почитай литературу посерьезней, если же ты «плаваешь», попробуй дочитать до конца.

Шаг 1: Начальные сведения и навыки


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


phpMyAdmin. Для начала набираем в браузере следующий адрес: http://localhost/Tools/phpMyAdmin/. Подразумевается, что локально Мамбо установлена на Den Wer'е?, и что этот пакет не перенастраивался, а просто был инсталлирован путем банальных нажатий ОК и NEXT. Если все так и есть, то указанный выше адрес приведет вас на страницу скрипта управления базами данных My SQL?, который называется phpMyAdmin. Очень вероятно, что такая же штука стоит на сервере хостера, а потому изучить его не помешает. Для переноса нам надо в одном окне браузера открыть местный phpMyAdmin, а в другом phpMyAdmin удаленный, на сервере хостера.


Создание базы данных. Существует приличное количество разных утилит, которые помогают создавать базы данных. Чтобы было понятно, база данных это некое информационное пространство, где расположены особым образом связанные таблицы с информацией. Такие же, как в Excel'e, только в своем – особом – формате... Так вот, хостеры предлагают коммерческие, либо самодельные контрольные панели, с помощью которых можно управлять доступными сервисами купленной площадки. В том числе и управлять базами данных. Самые распространенные контрольные панели: cPanel и plesk. Не обязательно, что в вашем случае у хостера стоит именно cPanel, важно, что для переноса настроенного сайта в веб необходимо создать новую базу данных, придумать ей название и пароль доступа. Причем пароль – штука обязательная. Также надо создать в ней нового пользователя (который будет использовать скрипт управления базами данных и обладать правами доступа к этой базе), которому тоже надо назначить пароль.

Шаг 2: Экспорт и перенос БД


Обратимся теперь к окну с локальной копией Мамбо.


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


Экспорт БД. Выполнить экспорт БД можно двумя способами. Первый – экспорт в файл с расширением .sql, второй – экспорт в окно. Я делал и то и другое и пришел к выводу, что в файл лучше не экспортить (если не забуду, объясню почему). Так что мы рассмотрим вариант 2 (Существует еще несколько вариантов, все они связаны с использованием скриптов или специализированного ПО, увеличивающих гибкость процесса экспорта. Здесь приводится авторский метод. - прим. ред.)


Итак, выбрав свою мамбовскую базу данных, нужно отыскать в интерфейсе кнопку с надписью Export (Экспорт). Щелкнуть для перехода в окно управления экспортом БД. На первый взгляд там появится много страшных записей, ссылок, галочек и окон. Ничего страшного, просто выполняем следующее:

  1. Ищем линк с названием Select All, чтобы выделить все содержимое в перечне таблиц в выбранной БД.
  2. Проверяем тип файла экспорта – он должен быть установлен в положение SQL (не путать с этими: LaTeX, CSV for MS Excel, CSV).

3. Так как это экспорт «в окно», то птичку в чекбоксе Save as File ставить не надо. Ставить ее надо, но напротив Add DROP TABLE – это позволит прицепить в экспортированный файл и те таблицы БД, которые не используются.

  1. В списке SQL export compatibility (совместимость экспорта SQL) нужно выбрать вверсию БД – обычно это MYSQL4.0 (нужно уточнить в параметрах хостинга).
  2. Больше ничего не трогаем и жмем на Go (Пошел).

Перенос БД. Процедура экспорта – дело достаточно долгое, особенно при экспорте в окно. Тем не менее, в результате откроется окно, содержащее всю базу данных в одном файле. Привычной комбинацией клавиш Ctrl+А выделяем все содержимое окна и копируем (Ctrl+C - прим. ред.).


Теперь нужно это все куда-нибудь вставить. Ну наверняка, куда-то в окно удаленного phpMyAdmin. Куда? Правильно, в базу данных Мамбо, которая у нас там есть, но только она пустая. Значит, ищем в интерфейсе линк на диалог импорта БД, называемый SQL. В достаточно большое поле, которое откроется по нажатию на нее (называется оно Run SQL query/queries on database xxx: – Выполнить SQL-запрос(ы) для БД ххх:) мы и должны вставить то, что находится в буфере, после чего остается нажать Go.В результате система сообщит что-то типа: “Your SQL-query has been executed successfully” («Выполнение SQL-запроса было проведено успешно») и в отдельном фрейме появится точная копия содержимого бывшей локальной базы данных.


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


Как исправить относительные ссылки. Алгоритм примерно такой:

  1. Открыть БД в формате SQL – так же как перед копированием в процессе переноса.
  2. Выделить все, скопировать-вставить в какой-нибудь текстовый редактор, поддерживающий автозамену (от Word до Edit Plus? или Notepad 2?).
  3. Отыскать различие в путях на локале и на сервере.
  4. Произвести автозамену таких линков в помощью функции «Найти/заменить...»
  5. Полученный текст опять скопировать/вставить в окно phpMyAdmin и записать в БД.

Вот цитата из объяснения про перенос для понимающих: «перед импортом базы на хостинг рекомендую открыть файл сохраненной базы в простом текстовом редакторе (типа Edit Plus?) и сделать автозамену путей к изображениям (в частности, в таблице mos_content), так как HTMLarea прописывает полный путь к ним относительно доменного имени типа "

Шаг 3: Перенос файлов Мамбо на сервер


Копирование файлов? Зачем? Ведь БД уже перенесли! Да, перенесли, но дело в том, что БД может содержать дополнительные таблицы, созданные установленными компонентами. Таблицы перенесены, а файлы компонентов – нет. Кроме того, вы могли создать некие иллюстрированные статьи – значит, нужно перенести изображения; произвести нестандартные действия с локализациями или внести изменения в файлы Мамбо – все это может остаться на локальном сервере. Поэтому кроме «слепка» БД, нужно перенести еще и всю структуру каталогов Мамбо. Кстати, для того чтобы сэкономить уйму времени, рекомендую упаковать в. ZIP содержимое вашего локального сайта и распаковать его на сервере хостера с помощью классной утилиты pclzip. О том, как пользоваться ей и где достать, читай здесь: http://ru-mambo.ru/smf/index.php/topic,9062.0.html
images
media
uploadfiles
components
language
modules
mambots
templates
administrator/backups
administrator/components
Меняем имя файла htaccess.txt на .htaccess и приступаем к третьему шагу.

Шаг 4: Настройка конфигурации Мамбо


Конфигурация Мамбо для каждой отдельной инсталляции хранится в файле configuration.php. На сервере у нас установлена Мамбо, но некоторые настройки в ее локальной версии вполне могут не соответствовать установкам для версии в вебе. Поэтому делаем следующее... На сервере хостера ищем прямо в корневой директории файл configuration.php. Рассматриваем первые несколько строк этого файла:


$mosConfig_offline = '0' – если здесь заменить '0' на '1', сайт открываться не будет и появится вот это сообщение : This site is down for maintenance. Please check back again soon.
$mosConfig_host = 'localhost' – не стоит трогать без надобности. В ней указан адрес хоста, где установлена Мамбо. Если на сервере хостер использует 'localhost, то оставьте как есть, если что-то иное – впишите требуемые данные.
$mosConfig_user = 'xman' – имя пользователя, обладающего правами доступа к БД My SQL?.
$mosConfig_password = 'xxx' Четвертая строчка – это пароль юзера, который юзает My SQL?-базу.
$mosConfig_db = 'xxx_noname' – собственно имя самой базы данных
$mosConfig_dbprefix = 'mos_' – префикс для таблиц Мамбо. Не рекомендуется изменять.
$mosConfig_lang = 'english' – язык сайта, меняется на russian, но лучше менять в админке.
$mosConfig_absolute_path = '/home/xxx/public_html' – вот тут и происходит большинство закорюк. Это – абсолютный путь к твоему сайту. Для того, чтобы его вычислить – неплохо бы с юниксовскими командами дружить... Но обычно он начинается с /home, затем идет имя пользователя, затем идет корневой каталог, где расположены покоятся файлы с Мамбо. Хотя часто бывает все не так. В 90% случаев именно здесь и возникает проблема. Но если тебе удалось вычислить этот абсолютный путь, остальное можно было и не читать :)
$mosConfig_live_site = 'http://www.xxx.org' – название сайта


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


Вот вроде и все. Клянусь и обещаю добавлять в свою статью глюки, которые могут возникнуть при переносе сайтов с локалки на сервак, чтобы раз и навсегда эта проблема была решена.


P.S. Кстати, по поводу экспорта базы данных. Можно конечно сделать экспорт и в файл и потом его импортнуть. Лично у меня возникла проблема, когда я стал делать автозамену путей в экспортированном файле. После сохранения изменений phpMyAdmin на серваке НАОТРЕЗ отказывался принмать отредактированный .sql файл. Странно как-то...


 
Joomla в России | Joomla Форум | электронная музыка |