Перенос сайта с Денвера на хостинг

Рассмотрим существующие методы переноса сайта с Денвера на хостинг: с помощью настольных FTP-клиентов, web-based файловых менеджеров, SSH и специализировнных скриптов.

Что нужно для выгрузки сайта в интернет

В этой статье мы будем использовать следующие инструменты:

  • WordPress — движок сайта, на котором будем тренироваться. Предполагается, что у вас уже есть готовый сайт на этой CMS, работающий на вашем компьютере с помощью Денвера.
  • FileZilla — программа для переноса сайта на сервер в интернете (FTP-клиент).
  • WinZip — стандартный архиватор.
  • PhpMyAdmin — веб-интерфейс для доступа к базе данных.
  • Домен (адрес сайта вида site.ru). Можно купить у регистратора или получить бесплатно при регистрации хостинга, или даже взять на сервисе dot.tk
  • Хостинг с PHP и MySQL (место для сайта на сервере в интернете). Можно купить у хостинг-провайдера, либо взять бесплатный.

Подготовка сайта к переносу

Первое, что надо сделать — это собрать все составляющие нашего сайта с локального сервера (Денвера), запаковать и подготовить к закачке на хостинг. Основных части две — файлы движка и база данных MySQL.

Итак, мы должны забрать файлы движка из папки Денвера. Обычно папка WebServers располагается в корне диска C:\

Запаковываем их в архив с помощью WinZip. Имя архива латинскими буквами без пробелов.

Далее, нам нужно забрать вторую часть сайта — базу данных. Доступ к базе данных на локальном веб-сервере можно получить по адресу http://localhost/Tools/phpMyAdmin/ или http://127.0.0.1/Tools/phpMyAdmin/ . Там выбираем нашу базу данных (в примере это test_1) и делаем экспорт всех записей (ссылка обозначена на скриншоте).

В поле «Формат» выбираем SQL. Если база большая, можно попробовать сделать сразу архивом (но получается не всегда). Нам предложат сохранить файл *.sql, делаем это и кладем рядом с архивом файлов движка. Имя архива так же латинскими буквами без пробелов.

Если база большая, экспорт можно сделать из командной строки Windows. Если у нас Windows 8, запускаем Windows PowerShell (Папка «Служебные — Windows»). Пишем:

decd c:\webservers\usr\local\mysql-5.5\bin
./mysqldump -u root --default_character_set=utf8 -f test_1 > c:\test_1.sql

Для Windows XP синтаксис будет немного отличаться:

cd c:\webservers\usr\local\mysql-5.5\bin
mysqldump -u root -f test_1 > c:\test_1.sql

Потом, при необходимости, можно запаковать базу в zip-архив.

Заказ хостинга и получение реквизитов доступа к серверу

Если у нас еще нет аккаунта на хостинге, выбираем какого-нибудь провайдера, и регистрируемся. В этом примере, исключительно в иллюстративных целях, мы используем бесплатный хостинг hostinger.ru. Для других хостингов процесс будет похож. Суть этого этапа — получить реквизиты доступа к серверу, на котором разместим наш сайт. Процедура стандартная: указать имя, почту и пароль, подтвердить регистрацию пройдя по ссылке, которую вышлют на почту, и зайти в панель администрирования.

После авторизации в верхнем меню надо выбрать "Хостинг -> Новый аккаунт", далее — "Бесплатный" и нажать "Заказать". Придумываем домен третьего уровня, который хотели бы получить, и вводим пароль два раза (это уже другой пароль, он конкретно для этого домена).

После регистрации в разделе "Хостинг" появится наш домен. Заходим и выбираем его. Далее в панели ищем кнопку "FTP Доступ" (находится в разделе "Файлы") и нажимаем на нее. Данные, которые нам понадобятся: "FTP сервер", "FTP порт", "FTP пользователь" и пароль, который вводили чуть ранее, при регистрации поддомена.

У многих провайдеров реквизиты FTP-доступа автоматически высылаются письмом при регистрации.

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

Теперь, для загрузки данных на хостинг, нам нужно установить FTP-клиент FileZilla. Аналогичные функции есть в программах Total Commander и WinSCP. Если установить программу на локальный компьютер возможности нет, то существует вариант загрузки через файловый менеджер, работающий в браузере.

Мы подключаемся к серверу по FTP с помощью FileZilla, используя полученные реквизиты:

На хостинге выбираем папку public_html и в нее копируем архив с нашим движком сайта — кликаем по архиву правой кнопкой и выбираем "Закачать на сервер". После закачки на хостинг архив надо распаковать. Для этого возвращаемся к административной панели, там выбираем "Файлы" -> "Файловый Менеджер 2", заходим в public_html, ставим галочку напротив нашего архива и жмем "Unzip".

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

Если на хостинге нет файлового менеджера, то распаковать архив можно, подключившись к сайту по SSH с помощью программы PuTTy. Для этого нужно, чтобы на вашем тарифе хостинга работал SSH. Реквизиты подключения обычно те же, что и для FTP. С помощью команд cd, ls и pwd нужно добраться до каталога с архивом и выполнить unzip имя_архива.

  • pwd – выводит имя текущего каталога
  • ls – показывает список файлов в текущем каталоге
  • cd путь_к_каталогу — переход в другой каталог

Еще один вариант — попробовать выполнить команду mc. Если сработает, то появится двухпанельный файловый менеджер. С его помощью перемещаться по папкам проще. В нужной папке пишем unzip имя_архива.

Замечательно, одну часть сайта мы перенесли, осталось импортировать базу данных.

Перенос базы данных на сервер

Так как база данных на новом месте у нас пока не создана, сделаем это. В панели управления хостингом заходим в "Базы данных" -> "Базы Данных MySQL", указываем все необходимые данные и нажимаем "Создать". Прошу обратить внимание, что эти данные нам еще понадобятся, так что запишем их отдельно.

После того, как мы создали базу данных, она у нас появилась в разделе "Список текущих баз данных MySQL" чуть ниже. Нажимаем на нее один раз и выбираем "phpMyAdmin" из развернувшегося списка.

В phpMyAdmin выбираем "Импорт" и указываем на наш *.sql скрипт. База данных импортирована.

Если база большая, и есть SSH-доступ, можно попробовать импорт из командной строки:

mysql -h имя_хоста_бд -u имя_пользователя_бд -p пароль_бд --default_character_set utf8 имя_бд < путь_к_файлу_sql

Еще один вариант — использовать скрипт Syphex Dumper.

Конфигурирование движка

Теперь возвращаемся в наш "Файл менеджер2", открываем файл wp-config.php и изменяем значения констант DB_NAME, DB_USER и DB_PASSWORD — вписываем реквизиты доступа к новой базе данных. Сохраняем файл, проходим по адресу нашего сабдомена, сайт должен работать.

Если вы видите белый экран или с сайтом что-то не то, нужно найти и посмотреть логи веб-сервера. Они бывают доступны из панели управления или через файловый менеджер. В error-логе могут быть ошибки PHP, например, из-за отсутствия на хостинге каких-то модулей или неподходящей версии интерпретатора.

Чтобы заработала загрузка файлов из движка, на соответствующий каталог нужно выставить права 775 (кнопка «Chmod»).

Привязка доменного имени

Чтобы у вашего сайта было красивое имя вида site.ru, нужно купить домен у регистратора. Домен привязывается к сайту через панель управления хостингом, в результате чего вы получается адреса ns-серверов. Эти адреса нужно прописать в панели управления доменами у регистратора. Обычно домен начинает работать в течение суток.

Пример привязки бесплатного домена к hostinger.ru:

1. Заходим на dot.tk и регистрируем бесплатный домен. Чуть позже нужно будет сделать привязку домена к хостингу, поэтому выбираем пункт "Используйте DNS" и на время оставляем эту вкладку браузера.

2. В другой владке авторизуемся в аккаунте на hostinger.ru, выбираем "Хостинг" -> "Новый аккаунт", указываем нужные данные, в том числе наш домен. Подтверждаем регистрацию - вводим капчу и нажимаем "Ок".

3. Выбираем "Хостинг" -> "site.tk" (в примере blobske.tk) и попадаем на страницу нашего домена. В левой колонке выводится IP-адрес, который и нужно внести в настройки домена на dot.tk.

4. Копируем адрес, возвращаемся на первую вкладку и указываем его в настройках DNS нашего домена. Ждем от 2 до 8 часов, пока обновятся записи, и пользуемся бесплатным доменом.

Автор: sm0k3

Смотрите также

Комментарии

Может права, может база. Вы ж не написали что не работает и какая ошибка

спасибо все получилось очень помогла ваша статья

Мне кажеться куда проще все это дело организовать с помощью Total Commander. ИМХО - уж больно я привык к классике)) Тем более с ним удобно работать в обычном режиме (с файлами например). свой сайт именно так и переносил.

а как сделать чтобы без интернета все туда загрузить?

Без интернета? Скиньте сайт на флэшку, договоритесь с хостингом, съездите к нему в офис и попросите перекинуть сайт на хостинг

Шутка) хостинг пошлет с такой просьбой

Пытаюсь экспортировать базу данных с локального сервера на внешний хостинг, phpmyadmin выдаёт следующее:
Fatal error: require_once() [function.require]: Failed opening required 'Spreadsheet/Excel/Writer.php' (include_path='.;C:\php\pear') in Z:\home\localhost\www\Tools\phpmyadmin\libraries\export\xls.php on line 5
Что не так делаю?

Все делаете так, но почему-то не может найти файл Spreadsheet/Excel/Writer.php, но его нет. В чем причина не знаю, если вы уже сделали сайт и осталось сделать экспорт БД наверно проще сделать дамп через sypex dumper.

это наверное сложно для меня...вот скачал Sypex Dumper 2.0.11, разархивировал в папку Z:\home\localhost\www, т.е. туда, где находится папка tools. А что вот дальше...

Нет, разархивировать надо в ту папку где у вас лежит сайт, потом открываете эту папку в браузере (localhost/sxd), вводите логин и пароль от базы

спасибо, зашёл (логин root, без пороля) буду разбираться

пароль от базы на локальном сервере? но там не было пароля, я всегда просто запускал denwer и всё...

Добрый день. Опять я).
Вроде перекинул и БД и сайт на хостинг (HOSTINGER.RU).
Отредактировал wp-config.php.
В ИТОГЕ: Ошибка установки соединения с базой данных.
Потом создал test.php и при переходе по ссылке браузер вот что показывает:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/u444660248/public_html/test.php on line 2

Warning: mysql_connect(): Access denied for user 'u444660248'@'10.1.2.60' (using password: YES) in /home/u444660248/public_html/test.php on line 2
�� ������� ������������: Access denied for user 'u444660248'@'10.1.2.60' (using password: YES).
У меня что то изначально не клеилось с переносом сайта с денвера на хостинг. Я не мог экспортировать БД через Phpmyadmin денвера, выдавала следующее:
Fatal error: require_once() [function.require]: Failed opening required 'Spreadsheet/Excel/Writer.php' (include_path='.;C:\php\pear') in Z:\home\localhost\www\Tools\phpmyadmin\libraries\export\xls.php on line 5. Тогда мне пришлось воспользоваться Syphex Dumper, и с Phpmyadmin хостинга я импортировал БД в сжатом файле .gz. Не подскажите, где ещё копать? Вроде после теста пишет что расширение mysql устарело... Может к чертям этот денвер и можно как то по-другому, без него?

Access denied for user 'u444660248'@'10.1.2.60' значит не может подключиться к базе. Попробуйте вместо IP написать localhost в wp-config

Так у меня и так вот что прописано в wp-config:
/** Имя сервера MySQL */
define('DB_HOST', 'localhost');

в phpmyadmin на хостингере с этими данными входит?

Спасибо давно искал как перенести свой сайт с денвера.
Вот что получилось

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

Спасибо за познавательную статью!

Процесс муторный. А за сервис dot tk отдельное спасибо! Не знал о нём до этого момента.

Перенос прошел удачно. Проблемы возникли с настройками wordpress, они просто напросто слетели, поправил - в принципе не критично. Переносил только один сайт пока - coffee4you.online

Отправить комментарий

Если вы укажете номера тикетов или имя пользователя, отзыв будет выглядеть убедительнее, а провайдеру будет проще разобраться с вашей проблемой

Подробнее о форматировании

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
5 + 7 11 + 8 плюс 3 8