Как установить (перенести) сайт на локальный веб-сервер Денвер
Здравствуйте, уважаемый посетитель!
Как ранее отмечалось, в представленных материалах Сборника в случае, если в ходе рассмотрения статей в программный код сайта вносятся какие-либо изменения, то к ним прилагается последний вариант исходных материалов, включающий файлы сайта и таблицы базы данных MySQL.
И используя эти материалы можно проверять работу сайта на определенных этапах его создания. Что довольно удобно для проверки и понимания тех действий, которые рассматриваются в данном цикле статей.
Поэтому сегодня мы отдельно остановимся на вопросе установки (переноса) сайта на локальный веб-сервер. По существу, эту статью можно рассматривать в качестве некоторой "Инструкции по загрузке исходных файлов сайта".
Причем в отношении загрузки данных MySQL это можно использовать и для хостинга. С той лишь разницей, что в этом случае должна использоваться база данных, расположенная не на локальном веб-сервере, на а хостинге.
Что же касается загрузки файлов сайта на хостинг, то по этому вопросу имеется отдельная статья Переносим сайт на хостинг, где показано, как это можно сделать с использованием FTP клиент FileZilla.
Содержание
- Подготовка локального веб-сервера
- Скачивание и распаковка исходных материалов
- Перенос файлов на локальный веб-сервер
- Импорт таблиц MySQL в базу данных текущего хоста
Подготовка локального веб-сервера
Для того, чтобы имитировать работу сайта, размещенном на локальном компьютере на него необходимо предварительно установить локальный веб-сервер.
Ранее в статье Устанавливаем локальный веб-сервер Denwer рассматривалась установка одной из наиболее популярных сборок локальных серверов - бесплатного веб-сервера Denwer (Денвер), включающего сервер Apache с компилятором PHP и поддержкой MySQL.
Поэтому порядок загрузки исходных файлов будем рассматривать подразумевая, что на компьютере данная программа уже стоит. Если Денвер не установлен, то это надо сделать, прежде чем переходить к следующим шагам.
Для того, чтобы приступить к установке сайта, сначала необходимо запустить Денвер, используя ярлык "Start Denwer", либо исполняемый файл "Run.exe", находящийся в папке "denwer". При этом, для первичной оценки его работы, можно перейти на главную страницу через введенный в браузере адрес "localhost/denwer/.
Ниже на скриншоте приведен вид главной страницы Денвера при нормальной его работе.
Рис.1 Главная страница веб-сервера Denwer
В принципе, если главная страница Денвера открылась, то с большой вероятностью можно считать, что проблем с его работой не возникнет. И после того, как мы в этом убедились, создадим теперь (если до этого не был создан) виртуальный хост. В статье Создаем веб-страницу и размещаем ее на локальном веб-сервере при создании хоста использовалось имя "newsite.local".
Но это не принципиально, можно создать хост и с другим названием. Просто в дальнейшем нужно будет использовать не "newsite.local", а другую директорию для загрузки файлов и иное имя домена при открытии страниц сайта.
При этом создавать в этом хосте папку "www", которая необходима для работы сайта на Денвере, в данном случае не обязательно. Так как для упрощения импорта, исходные материалы сформированы таким образом, что все содержимое помещено в одной общей папке "www". И при импорте она будет переноситься на веб-сервер вместе со всеми файлами сайта.
В итоге после создания нового хоста в перечне каталога "home" должна присутствовать вновь созданная папка "newsite.local", как показано на следующем скриншоте.
Рис.2 Содержимое папки home веб-сервера Denwer
Следует отметить, после внесения этих изменений в файловую структуру Денвера, его следует снова запустить указанным выше способом, либо использовать для этого ярлык "Restart Denwer" или исполняемый файл "Restart.exe", находящийся в то же папке "denwer".
Если сейчас попытаться при пустой папке "newsite.local" открыть на локальном веб-сервере сайт, введя в адресной строке адрес, соответствующий имени виртуального хоста "newsite.local", то мы должны увидеть страницу Денвера с информационным сообщением об ошибке, как показано на скриншоте. С указанием того, что Денвер не может найти необходимый файл.
Рис.3 Информационным сообщением об ошибке
И это естественно, так как на данный момент в папку "newsite.local" пока ничего не загружено.
Теперь перейдем к вопросу базы данных MySQL.
Для того, что бы импортировать таблицы MySQL необходимо иметь соответствующую базу данных. Ранее при создании базы данных MySQL мы создали БД под именем "avtobezugona". Которая необходима для работы сайта и соответственно, куда мы должны будем импортировать данные.
Поэтому, в том случае, если этой базы данных нет, то нужно ее создать. В приведенной статье показано, как просто это можно сделать используя веб-приложение phpMyAdmin.
При этом указанное здесь имя изменять нельзя. В противном случае импорт таблиц MySQL будет невозможен, ведь дамп базы данных предназначен именно для БД "avtobezugona".
На этом все подготовительные работы, относящиеся к локальному веб-серверу можно считать законченными. Теперь перейдем к непосредственно к загружаемым файлам.
Скачивание и распаковка исходных материалов
Получить исходные файлы в том виде, который позволит их без труда импортировать, довольно просто. Для этого достаточно сначала по соответствующим ссылкам скачать, а затем распаковать два архива:
- "www_docs(n).rar", с размещенными в папке "www" файлами сайта;
- "mysql_docs(n).rar" с таблицами базы данных MySQL,
где n - идентификационный номер статьи.
Следует учесть, что база данных MySQL стала использоваться в создаваемом сайте не сразу, а только с определенного этапа. Поэтому на ранних этапах в исходных материалах может находиться только по одному архивному файлу "www_docs(n).rar" без "mysql_docs(n).rar".
Ниже показан скриншот созданной для этих целей отдельной папки "Исходные файлы сайта", в которой находятся скаченные и распакованные файлы из предыдущей статьи с идентификационным номером 55.
Рис.4 Скаченные и распакованные исходные файлы
Как видно после извлечения из архивов оказалось две папки:
- "www_docs53" - с файлами сайта;
- "mysql_docs53" - с дампом базы данных MySQL (файл "avtobezugona.sql").
Таким образом исходные файлы получены, осталось их только разместить в нужном месте.
Перенос файлов на локальный веб-сервер
Данная операция очень проста. Для этого нужно лишь изменить название папки на "www" и далее обычным способом перенести ее со всем содержимым в созданную директорию хоста "newsite.local". Ниже показана размещенная в "newsite.local" папка "www" (рис.5) и ее содержимое на данный момент (рис.6).
Рис.5 Размещенная в newsite.local папка www
Рис.6 Содержимое папки www
Попробуем теперь снова открыть сайт, введя в адресной строке браузера адрес "newsite.local". В результате в открывшейся странице мы должны увидеть сообщение об ошибке MySQL с указанием ее кода.
Рис.7 Сообщение об ошибке MySQL
В данном случае здесь говорится о не существующей таблице MySQL, которая необходима для извлечения записей при работе PHP-скрипта. Что и отражает реальное положение, так как дамп базы данных в локальный веб-сервер пока еще не импортирован. Чем сейчас мы и займемся.
Импорт таблиц MySQL в базу данных текущего хоста
Для упрощения импорта, резервная копия базы данных (дамп) сформирована с учетом следующего:
- В случае отсутствия в базе данных таблиц, в которые должны загружаться данные, при выполнении импорта будут созданы в этой базе новые таблицы с соответствующими именами.
- При наличии существующих одноименных таблиц, сначала они будут удалены, а затем заменены на аналогичные из загрузочного дампа.
Поэтому мы проверим импорт в двух вариантах. Сначала зальем таблицы в пустую вновь созданную базу данных, а затем то же самое проделаем со вторым вариантом, при котором в ней будут находиться существующие одноименные таблицы.
Ну а теперь перейдем непосредственно к самому импорту. Для этого будем использовать веб-приложение phpMyAdmin.
Ниже показан скриншот интерфейса phpMyAdmin со вновь созданной базой на момент отсутствия в ней каких-либо таблиц, и в которую сейчас будем загружать данные.
Рис.8 Пустая вновь созданная база данных
Сначала выберем файл, который мы хотим импортировать, выполнив следующие действия:
- Перейдем на вкладку "Импорт".
- Откроем окно обзора.
- Найдем и выделим импортируемый файл "avtobezugona.sql".
- Выполним выбор.
При поиске импортируемого файла нужно иметь в виду, что он должен находиться в папке "mysql_docs", ранее полученной после извлечения из архива "mysql_docs55.rar".
Для наглядности ниже приведен поясняющий скриншот.
Рис.9 Выбор файла для импорта базы данных MySQL
И после того, как нужный файл выбран, его можно импортировать нажав на соответствующую кнопку, как показано на следующем скриншоте.
Рис.10 Выполнение импорта
При успешном выполнении импорта должно отобразиться соответствующее сообщения и появиться таблицы с импортируемыми данными (на данном этапе для работы сайта используется только одна таблица MySQL с именем "url").
Рис.11 Завершение импорта
Через вкладку "Обзор" можно также посмотреть содержимое импортированной таблицы.
Рис.12 Содержимое импортированной таблицы
Ну а теперь проверим, как будет открываться сайт после того, как на локальный веб-сервер были загружены все исходные файлы.
Рис.13 Открытие страницы сайта
Как видно, теперь сайт работает. На скриншоте показана страница "Статистика угонов", размещенная именно в той статье, в которой были использованы исходные материалы.
Поэтому, для того, чтобы проверить второй вариант импорта, при наличии в базе данных существующих одноименных таблиц, мы сейчас аналогичным образом воспользуемся дополнительными материалами, сформированными на более раннем этапе создания сайта - когда эта страница еще не была размещена. К примеру используем предыдущие архивные файлы "www_docs54.zip" и "mysql_docs54.zip".
После завершения импорта снова откроем эту же страницу и посмотрим, что изменилось.
Рис.14 Проверка сайта после импорта при существующих одноименных таблицах
Как видно, сайт также работает, но только эта страница пока не оформлена. Что подтверждает выполнение импорта с заменой данных в существующей таблице.
Таким образом мы достаточно подробно рассмотрели все вопросы, связанные с загрузкой исходных файлов сайта на локальный веб-сервер.
Надеюсь, что этот материал поможет пользователям в полной мере использовать дополнительные материалы, предоставляемые в данном цикле статей.
С уважением,