В данной статье мы будем рассматривать вопросы переноса готового сайта, запущенного с помощью пакета Денвер, с локальной машины на наш хостинг.
Для переноса сайта с Denwer на наш хостинг нужно выполнить несколько действий.
Первое, что Вам нужно сделать - это создать аккаунт на хостинге, сделать это можно здесь.
После создания аккаунта, Вам на почту придет письмо, в котором указаны Ваши регистрационные данные.
По умолчанию при регистрации на хостинге Вам предоставляется 30 дней бесплатного тестового периода, а так же бесплатный домен.
Допустим при регистрации Вы получили логин test, Вашим бесплатным доменом будет test.bget.ru
Для переноса сайта на Ваш собственный домен - Вам необходимо его зарегистрировать или, если он у Вас уже есть, перенести на наш хостинг.
Зарегистрировать и перенести домен Вы можете из Панели Управления в разделе "Домены".
Бесплатный домен test.bget.ru по умолчанию уже прилинкован к папке - public_html, то есть файлы нужно загружать в папку public_html.
Предположим, что у нас есть домен test.ru и для него мы создали папку test.ru/public_html и прилинковали его к этой папке.
Далее будет рассматриваться перенос сайта на домен с тем же именем, с которым он создан в Денвере (например, test.ru),
поскольку перенос сайта на любой другой домен потребует модификации, как файлов, так и содержимого базы данных, чтобы заменить в ссылках
старое имя домена на новое (это зависит от CMS). Также может потребоваться модификация путей к временным файлам, что также зависит от CMS и будет
рассмотрено отдельно.
Итак, продолжим.
- Мы будем использовать пакет Денвер-3, дополнительную информацию об установленном Денвере можно увидеть на странице http://localhost/denwer
- Для начала Вам нужно будет на Денвере создать копию базы данных (дамп базы), используя инструмент "Экспорт" программы phpMyAdmin.
Для этого введите в браузере http://localhost/Tools/phpmyadmin
- Следующее, что надо сделать, это переместить файлы на сервер. С помощью любого FTP-клиента (Total Commander, FileZilla и т.п.) или с помощью файлового менеджера в Панели Управления необходимо переместить все файлы из папки локального сервера Денвер (где находится сайт, как правило, путь до файлов: "директория где установлен Denwer/home/имя сайта/www/" в корневую папку сайта на сервере (в нашем случае - "test.ru/public_html")
Логин и пароль от FTP совпадают с Вашим логином и паролем для входа в Панель Управления аккаунтом, имя сервера указано в Панели Управления на главной странице.
- Далее Вам нужно создать базу данных на хостинге и импортировать в неё дамп базы, созданный на первом шаге. Сделать это можно через панель управления - раздел "MYSQL".
Затем необходимо сделать импорт Вашей базы данных в созданную базу. Рядом с базой кнопка phpMyAdmin, инструмент "Импорт". Перед совершением импорта, необходимо нажать на имя базы в левом меню, тем самым выбрав базу, куда надо импортировать.
Также необходимо убедиться, что в самом файле дампа нет конструкции
CREATE DATABASE
А если она есть, то удалите или закомментируйте её.
- Последний шаг - это настройка соединения с базой данных.
Откройте на редактирование конфигурационный файл вашего сайта (в зависимости от используемой CMS, файл и состав изменений немного различен) и измените параметры абсолютного пути к файлам и папкам Вашего сайта, а также имя базы данных, пользователя и пароль, на те, что Вы зададите при создании новой базы данных на хостинге.
Имя пользователя совпадает с именем базы
Т.е. если, например, Вы создали базу test_db, то имя пользователя также test_db
Если у Вас возникнут какие-либо вопросы,вы можете всегда обратиться в службу технической поддержки компании Beget.
Дополнительно - cкрипт для замены двойных слешей в путях (\)
Иногда при переносе сайта с локальной машины возникают проблемы со слешами, ниже приведен скрипт замены двойных слешей в путях:import sys, re, fileinput
def win_path(match):
return re.sub(r'\\','/',match.group(1))
try:
for line in fileinput.input('dump.sql',inplace=1,backup='.begetcms_delete_me'):
newline = re.sub(r'[A-Z]:(\\(?:[\-\.\w]+\\)+)',win_path,line)
sys.stdout.write(newline);
except:
sys.exit('%s\n\nFAIL: %s, %s'%(traceback.format_exc(),fileinput.filename(),fileinput.filelineno()));
Удачной работы!