Итак у нас есть сделанный сайт на umi, который мы готовы вывесить в сеть.
У нас уже есть купленный хостинг с доменом, создана на нем база данных MySQL осталось только перенести все то, что мы уже навояли на localhost, в интернет.
Весь перенос состоит из 3 частей
- Перенести файлы на хостинг
- Развернуть базу данных на созданной MySQL базе
- Настроить в config.ini новые параметры подключения к MySQL
Для наглядности я буду рассматривать перенос на примере sweb хостинга
1. Перенос файлов на хостинг
Если ваш хостинг поддерживает распаковку архивов, то это прекрасно. Я не большой знаток хостеров и работы с ними, но точно знаю, что nic.ru и sweb.ru дают возможность распаковать архив через файловый менеджер личного кабинета. Есть еще возможность распаковывать архивы на хостере через SSH, но в этот вопрос погружаться не буду так как не знаю всех тонкостей.
1.1 Хостер предоставляет возможность распаковывать архивы
Тогда мы создаем zip архив содержимого папки home/localhost/www (обратите внимание, архив должен быть с расширением zip, можно и другие gzip или tar, но не rar). Закачиваем его на ftp, для этого можно использовать средства личного кабинета. Заходим в файловый менеджер

затем, закачать файл (закачиваем его в папку public_html, для простоты распаковки) и после того как он появится, нажать на коричневую иконку

соглашаемся со всем что он предложит и начинаем распаковывать. В итоге если вы запаковывали файлы внутри папки www (а не саму папку) и распаковывали их в папке public_html, то у в этой папке должно появиться все файлы вашего сайта.
1.2 У хостера нет функционала для распаковки архива или вы не разобрались как это делать
Если по каким то причинам вы не нашли как распаковывать архивы на сервере, и не знаете как сделать это через SSH. Либо все равно скидывайте архив в нужную папку и пишите службе поддержки, чтобы она распаковала его за вас (многие помогут), либо заходите на свой хостинг через ftp клиент (я пользуюсь fireFTP плагин к mozilla) и скачивайте все файлы просто копированием на хостинг (но это реально намного дольше).
2. Перенос базы данных на базу хостера
Для начала, нам надо выдернуть базу данных с localhost, так как localpack устанавливает своего denwer, то там нет phpmyadmin для управления базами данных. Нам придется поставить его самим.
2.1 Установка и настройка phpmyadmin
- Скачиваем дистрибутив phpmyadmin с сайта (http://php-myadmin.ru/download/). Выбирайте последнюю версию, на момент написания статьи это был phpMyAdmin-3.3.8.1-all-languages.zip .
- Распаковываем все файлы в home/localhost/www/pma (папку pma создаете вы, можете назвать как угодно роли не играет).
- Конфигурируем его. Находим в распакованных нами файлах, файл pma/config.sample.inc.php, переименовываем его в config.inc.php (о более полной настройки читайте ниже).
$cfg['Servers'][$i]['controluser'] = ‘umi’; $cfg['Servers'][$i]['controlpass'] = ‘umi’; И у параметра $cfg['Servers'][$i]['AllowNoPassword'] = flase; меняем false на true.Теперь нам надо немного изменить настройки php. Находим файл usr/local/php5/php.ini и в нем подключим php_mbstring и php_mcrypt. Для этого открываем этот файл на редактирование и удаляем ‘;’ перед строчками extension=php_mcrypt.dll и extension= php_mcrypt.dll, и конечно нам необходимы сами эти файлы. Их можно скачать с моего блога, либо с выдернуть из полного пака php со всеми библиотеками (http://www.php.net/downloads.php). Вставляем файлы php_mcrypt.dll и php_mcrypt.dll в папку usr/local/php5/ext, а файл libmcrypt.dll в папку usr/local/php5/ после чего перезапускаем denwer (denwer/restart.exe).
2.2 Сохранения базы данных
Если у нас запущен denwer, то просто вбиваем http://localhost/pma/index.php и попадаем в phpmyadmin. Он конечно спросит у нас логин и пароль (по умолчанию при установке localpack они оба равны «umi»).
После чего мы попадаем в phpmyadmin. Выбираем сбоку нашу базу (umi)

заходим на вкладку Экспорт

Там меняем только галочку gz и нажимаем ‘ok’

, после чего вас спросят, куда вы хотите сохранить вашу базу данных.
2.3 Развертывание базы данных
Заходим в phpmyadmin на хостинге. На sweb.ru это можно сделать в разделе ‘Базы MySQL’. Когда вы окажитесь в phpmyadmin перейдя во вкладку импорт и загружайте вашу базу с компьютера. Дождитесь, пока phpmyadmin закончит импорт (он вам напишит об этом).
P.S. Скрипт может не успеть загрузить всю базу. Поэтому он может вам предложить снова загрузить свой файл (не пугайтесь он продолжит с того места на котором прервался) для большой базы иногда приходиться по нескольку раз перезагружать файл базы, пока phpmyadmin не сообщит что все импортировал. Также бывает в конце сообщение об ошибке

Честно говоря до сих пор точно не знаю из-за чего, предполагаю что это связанно с лицензионным ключом и т.п., но в любом случае база прекрасно работает на новом месте.
3.Настройка config.ini на хостере
Убедитесь, что все настройки касающиеся параметров подключения к базе данных в файле config.ini на хостере соответствовали параметрам новой базы данных. Иначе сайт не заработает.
Вот и все, надеюсь, получилось не сильно занудно. Я описал лишь те проблемы, которые в те или иные моменты моего знакомства с вопросом переноса сайта, вызывали у меня замешательство. Возможно это решит спорные вопросы других