Перенос drupal с денвера на хостинг

Хорошо протестировав свой drupal-сайт на денвере, настроив все нужные модули и нарисовав красивый дизайн самое время перенести сайт с денвера, из закоулков жесткого диска на хороший хостинг, "показать его миру".
Вот о том, как это сделать и пойдет сегодня речь.
Процесс переноса сайта с денвера на хостинг рассмотрим детально на примере панели управления cPanel

  • cPanel — одна из лучших, а может и лучшая из панелей управления веб-хостингом. Она является стандартом «де-факто», в мире хостинга, т.к. предоставляет интуитивно понятный интерфейс, чёткую логику управления, использование шаблонов а также переведена на 25 языков.

 

Создание БД и ее настройка.
Для создания базы данных, в которую мы немного позже перенесем свою базу (с денвера), нужно найти в cPanel ярлык доступа к управлению базами данных.
Выглядеть он примерно будет так:

cPanel 11, базы данных MySQL

На открывшейся странице вводим имя новой базы данных - "myDrupalDB" и нажимаем "создать базу данных"

Создание новой базы данных в cPanel 11

Вы должны увидеть сообщение о том, что база была успешно создана. Теперь возвращаемся на предыдущую страницу и создаем нового пользователя баз данных "myUser" с паролем "myPass" ( конечно замените пароль на свой -) ).
Нажимаем "создать пользователя"

Создание нового пользователя в cPanel 11

Как и в предыдущем случае вы увидите сообщение об успешном создании пользователя.
Снова вернемся на страницу назад и определим доступ пользователя к базе данных drupal. Для этого из списка пользователей выберем "myUser", из списка бд выберем "myDrupalDB" и нажмем "Добавить"

Назначение пользователя базе данных в cPanel 11

На открывшейся странице определим права пользователя, просто установив галочку "ALL PRIVILEGES" (Все привелегии) и нажмем "Внести изменения".

Определение прав пользователя базы данных в cPanel 11

Перенос файлов

Для переноса файлов drupal, вы можете воспользоваться любым FTP-менеджером. Я, к примеру, отдаю предпочтение FileZilla, но это дело вкуса, а о вкусах как известно не спорят. Главное - перенести все файлы друпала в нужную папку, "корневую директорию". Какая именно директория у вас корневая, вы можете узнать
а) На главной странице cPanel (обычно в левом меню пункт "домашняя директория")
б) Из письма, которое обычно присылает хостер после регистрации
в) У техподдержки хостера
г) Методом научного тыка

Однако, перед загрузкой файлов drupal на сервер, необходимо внести изменения в файл settings.php
...\www\sites\default\settings.php 

Исправляем:

# $base_url = 'http://www.example.com'; // NO trailing slash!
на
$base_url = 'http://www.ваш_домен.com';
а также строку номер 94 на
$db_url = 'mysql://myUser:myPass@localhost/myDrupalDB';
Где myUser,myPass и myDrupalDB - данные, которые вы указывали при создании бд и пользователя.
localhost - верно для подавляющего большинства хостеров, однако бывают и исключения, например masterhost.
Теперь смело загружайте все файлы drupal на сервер.

Перенос (импорт) базы данных drupal
Последний шаг - перенос базы с помощью phpMyAdmin.
Запустив предварительно денвер, открываем localhost/Tools/phpMyAdmin/, выбираем используемую базу и переходим в раздел "Экспорт".
Из настроек экспорта нам необходимо поменять только вариант упаковки в "нет" на "zip".

Экспотр базы данных при помощи phpmyadmin

После того, как вы кликнете "ок", начнется загрузка zip-архива. Этот архив - и есть ваша база данных.

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

Импорт базы данных при помощи phpMyAdmin

На открывшейся странице выберете базу данных "myDrupalDB" и перейдите в раздел "Импорт", где укажите сохраненный вами файл с дампом базы данных. Когда вы кликнете ок, начнется импорт. Если ваша база перешегнула порог в несколько мегабайт, вам вероятно необходимо будет возобновлять процесс импорта (просто следуйте появляющимся инструкциям).

И вот, все закончено. Поздравляю, вы только что перенесли сайт на drupal с денвера на хостинг!
Не забудьте,если необходимо, изменить именные сервера (ns-сервера) в панели управления доменом и помните, что на делегирование домена, а также на полное обновление именных серверов может уйти до двух суток.

Комментарии

Спасибо пригодилось

У меня не перенеслись изображения которые я грузил в тексты с помощью модуля IMCE. Что надо изменить в ДБ, чтоб заработало?

Никогда не работал с IMCE, но предположительно проблема в изменении адреса сайта. Т.е. на локалхосте у вас был домен xxxx.ru, а после переноса стал zzzz.ru. Это при условии, что вы полностью перенесли все файлы изображений на площадку.

При переносе базы на хостинг постоянно появляеться ошибка:
Access denied for user 'admin'@'localhost' (using password: YES).
Пробовал вводить пароли в settings.php как хостера, так и те, что были на денвере, не помогло
может у вас есть вариант решения?

Проверьте имя пользователя базы данных (вызывает сомнения, что это "admin") и пароль пользователя. Также, следует убедиться что пользователь назначен базе данных с соответствующими привилегиями.

Та же проблема. В setiings.php поменял имя, пароль и БД на те что дал хостер, но сайт продолжает использовать те которие были на локалхосте

Правили файл settings.php или default.settings.php? Править необходимо именно первый файл.

Файл settings.php после изменений не сохраняется. Как его перезаписать?

У вас нет прав на запись файла.
Попробуйте поменять права.
Это могут быть, например, такие цифры: 0777 (чтение/запись/для всех).
Отображаются рядом с этим файлом.
Не забудьте потом вернуть то значение, которое было.

Перенес сайт по вашему туториалу.
Сайт работает но не работают ссылки по сайту. Грузятся и все...

Разве в файле базы данных не нужно было пути старого хостинга сменить на новые?

А нет, заработало. Все спасибо ))))

Главная страница заработала, есть текст, разметка, картинки. Все ссылки не работают, кроме как на главную в виде лого и сторонние сайты, выдает 404 ошибку. Даже в админ панель не зайти. :( Переношу с сервака на сервак, хост один. Вместо домена на новом серваке использую ip, делегирования пока не делал. Подскажите в чем может быть проблема? Базы перенес, файлы перенес, settings.php исправил. Может на сервере надо че сделать? FastVps, ISPmanager

У меня вылезла ошибка при переносе Drupal 7.26. PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'b115675_allfest.semaphore' doesn't exist: SELECT expire, value FROM {semaphore} WHERE name = :name; Array ( [:name] => variable_init ) in lock_may_be_available() (line 167 of /home/u115675/all-festru/www/includes/lock.inc).

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

Адрес показан не будет
CAPTCHA
Антибот
Как оформить комментарий?