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

, 18 лет назад Drupal 3 мин чтения 13 комментариев

Заметка 2008 года. Версии программ и описанные приёмы могли устареть.

Хорошо протестировав свой 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-сервера) в панели управления доменом и помните, что на делегирование домена, а также на полное обновление именных серверов может уйти до двух суток.

13 комментариев

Гость

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

Гость

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

Administratorавтор

Ответ на от Гость (не проверено)

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

Гость

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

Administratorавтор

Ответ на от Гость (не проверено)

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

Михаил

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

Гость

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

Гость

Ответ на от Гость (не проверено)

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

Гость

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

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

Гость

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

Гость

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

Volly

У меня вылезла ошибка при переносе 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).

Новые комментарии закрыты: заметка из архива.