Код Икс Пи ☆ Центр автоматизации, сопровождения и поддержки
Для кого предназначена эта статья: новичкам сайтостроителям посвящается, статья познакомит с основами настройки веб-сервера, на примере сервиса Apache, также мы установим на локальной машине PHP, что в связке с Apache представляет мощный и современный комплекс для разработки сайтов любой сложности.
Сначала небольшое вступление. Замечу что, в свое время, отсутствие простой и понятной новичкам информации, по казалось бы элементарным вещам, частенько ставило меня в тупик, будь то изучение языков программирования или администрирование серверов. Дам простой совет, никогда не начинайте изучать детали, пока не уложили в голове общую картину предмета. Например, не старайтесь изучить особенности поведения какого нибудь тега в HTML, пока не уясните что такое «HTML» в принципе (теперь без запинки произнесите расшифровку аббревиатуры и вдумайтесь в каждое слово).
И так, что такое web-server. В общем все просто, это может быть обычный компьютер, имеющий сетевую карту и подключенный к сети интернет. Единственное отличие «сервера» от вашего компьютера (уверен он у вас подключен к интернету), это то что на этом компьютере установлена специальная программа, которая посылает ответы всем другим компьютерам «клиентам», каждый раз когда клиенты запрашивают с него данные специальным образом.
Что значить «запросить данные» = «запрос». Рассмотрим на примере работы одного из сайтов, например, «ya.ru». Для начала разберемся что физически представляет из себя этот «ya.ru». Для начала запустим командную строку — пуск — выполнить — «cmd» и пропингуем сайт (ввести «ping ya.ru»), на что мы получим ответ от одного из серверов Яндекс вида:
Ответ от 213.180.204.3: число байт=32 время=71мс TTL=51 Ответ от 213.180.204.3: число байт=32 время=71мс TTL=51.
Ясно что в каком-то населенном пункте (который, к слову, можно выяснить по IP через какой-нибудь открытый сервис), стоит абсолютно материальная машина, имеющая как минимум одну сетевую карту, карта имеет IP-адрес 213.180.204.3. С нашего компьютера был послан «запрос» программой «ping.exe» к этому серверу, через 71 миллисекунду программа ping получила ответ от сервера Яндекс, о чем и сообщила нам на экране.
Двигаемся дальше, «пинговать» можно любой компьютер находящийся в сети, конечно если на нем нет запрета на подобные запросы. Отличие web-сервера от обычного компьютера — он может отвечать на так называемые «HTTP-запросы». Как сделать HTTP-запрос к серверу Яндекс? Открываем браузер, я например, Firefox, в строке «адрес» вверху пишем «http://ya.ru», жмем Enter — в этот момент браузер установил сеанс связи с сервером ya.ru по общепринятому для протокола http порту 80, полученный ответ был выведен браузером на экран. Надо заметить, что http перед именем сайта писать в наше время уже необязательно, браузер сам подставит спереди эти четыре буквы перед именем сайта, т.к. подавляющее число web-серверов общается с клиентами именно по протоколу HTTP.
Думаю вы знакомы и с другим протоколом, который сейчас не очень активно используется рядовыми пользователями, это протокол FTP. Этот протокол предназначен для обмена файлами м\у клиентом и сервером. С помощью браузера можно задействовать и его. Например, введя в строку адреса ftp://mirror.yandex.ru/ мы получим список файлов хранящихся на указанном сайте именно по протоколу ftp.
По этому протоколу могут работать и многие файловые менеджеры, например открыв FAR можно добавить этот же ресурс и видеть похожую картинку.
Это я к тому, чтобы вы поняли, что браузер не единственная программа которая может использовать интернет-протоколы.
Разбираемся с аббревиатурой HTTP — HyperText Transfer Protocol — «протокол передачи гипертекста». «Протокол» — некий общепринятый механизм передачи данных, который, как и все другие протоколы, к тому же зафиксирован документально. Читать пока не обязательно, да и в будущем вряд ли понадобится полное описание спецификации, скорей всего какого-нибудь FAQ будет достаточно. Главное уяснить себе, что когда то, несколько лет назад, группа людей (весьма продвинутых в компьютерах и сетях) решила что неплохо было бы всем компьютерам в сети обмениваться информацией по единому стандарту, что облегчит жизнь и разработчикам сайтов и пользователям. Решили что обмен этот будет идти по принципу клиент-сервер, «клиент» (ПК пользователя) создает текстовый «запрос» и направляет его на определенный порт «сервера», назад клиент получает «ответ» в виде текста.
Разберем что такое «запрос» подробней. Запрос в http это одна или несколько строк текста, например, «GET http://www.ya.ru HTTP/1.0» это один из запросов по протоколу http (кстати в т.ч. его и отправляет браузер серверу когда в адресе вы пишите «ya.ru» в строке браузера). Теперь надо как то отправить этот запрос на сервер. Воспользуемся программой которая умеет общаться с серверами telnet.exe, запускается так пуск — выполнить — cmd —> пишем строчку «telnet ya.ru 80» —> enter, чтобы установить сеанс связи с сервером.
Далее вписываем запрос и два раза жмем Enter, в ответ сервер ya.ru передает нам полный текст главной страницы сайта www.ya.ru:
Если запрос вписать не удалось не расстраивайтесь, у меня так же, почему то буквы не прорисовывались в telnet, текст надо или вписывать вслепую или «скопировать — правой в telnet — вставить», и не забываем про двойной enter после того как вставили команду. Замечание: к сожалению описанный пример с сайтом ya.ru теперь не работает, по причине того что сайт как и многие другие теперь работает по протоколу https (последняя буква «s» значит защищенный), поэтому найдите любой другой сайт который еще не на https или поверьте скринам.

Если вы только знакомитесь с принципами работы WEB, то у вас может возникнуть вопрос, как полученные кракозябры в telnet связан с сайтом который мы видим в браузере. Все очень просто, это «внутренность» главной страницы ya.ru, которую браузер представляет нам уже во вполне понятном виде. Убедимся в этом — откроем в браузере сайт ya.ru — правой — «исходный код страницы» — видим что это действительно так:
Теперь мы имеем представление о работе механизма клиент-сервер по протоколу HTTP и подошли вплотную к нашей цели. Наш компьютер должен уметь отвечать на запросы, которые шлют ему клиенты по сети, по протоколу HTTP, на порт 80. Для этого необходимо установить на нашем ПК программу, которая умеет это делать, мы будем ставить программу (она же web-сервер) «Apache». Замечу что это не единственный веб-сервер, есть поклонники windows IIS или nginx и т.п.
Краткое описание компонент
- Apache — собственно сам web-server, программа, которая устанавливается как «служба» windows, контролирует общепринятый для web порт 80, при поступлении запроса (обычно от браузера) — выдает клиенту исходный текст страницы.
- PHP (Hypertext Preprocessor — препроцессор гипертекста) — набор библиотек, позволяющий существенно расширить возможности обычного сайта на HTML. С помощью него реализуются такие важные вещи как авторизация, работа с базами данных, динамическое наполнение страниц информацией, интерфейс администратора сайта. Суть подхода заключается во включении в «исходный код» страницы специальных конструкций, на языке PHP. Web-server перед выдачей «исходного кода» клиенту передает текст на обработку PHP модулю, тот в свою очередь выполняет свои скрипты и отдает обратно уже готовую страничку, которая притерпела изменения согласно этих скриптов. Например, модуль может разместить на страничке последние новости или свежий анекдот.
- MySQL — СУБД (система управления базами данных), специальная программа для хранения различных таблиц с моментальным доступом на чтение и запись. PHP может задействовать эту программу для хранения логинов\паролей, новостей, сообщений с форума и т.д., вплоть до хранения исходного кода страниц и картинок. Можно конечно хранить сообщения с форума в обычном текстовом файле, но когда сообщений будет не 20-30 а 2-3 тысячи — ваш сайт может просто зависнуть. Тут то и приходят на помощь скоростные и отлаженные механизмы доступа к данным, такие как MySQL.
Для простого сайта без авторизации, достаточно поставить только Apache, если же надо реализовать авторизацию — без PHP уже не обойтись. Установку производим в обратном порядке — MySQL, затем PHP, затем Apache, затем запускаем web-server, делаем тестовую страничку и проверяем работу сервера «извне».
Установка MySQL
- Приступаем к установке. Нажмите в данном окне выборочную установку компонентов «Custom».

- Здесь вы можете выбрать дополнительные компоненты и сменить установочную директорию программы.

- Теперь приступим к настройке MySQL сервера.

- Выбираем детализированную настройку — «Detailed Configuration».

- Отмечаем пункт «Developer Machine».

- Выбрав пункт «Multifunctional Database», вы сможете работать как с таблицами типа InnoDB (с возможностью использования транзакций), так и с высокоскоростной MyISAM (как правило для веб-разработок используется именно этот тип таблиц).

- Выбор диска и директории для хранения таблиц типа InnoDB.

- В данном диалоговом окне выбирается максимально возможное количество подключений к серверу MySQL. При выборе «Decision Support (DSS)/OLAP», максимальное количество подключений будет ограничено двадцатью, чего более чем достаточно при установке сервера на домашнем компьютере и отсутствии большого количества одновременных подключений.

- Отметив «Enable TCP/IP Networking» мы включаем поддержку TCP/IP соединений и выбираем порт, через который они будут осуществляться. Стандартным для сервера MySQL является порт 3306. Отметив «Enable Strict Mode», мы задаем режим строгого соответствия стандарту SQL (данную опцию рекомендуется оставлять включенной).

- Обратите внимание на выставление настроек данного окна. Отметив «Manual Selected Default Character Set / Collation» и выбрав из ниспадающего меню «cp1251» определяем, что изначально для таблиц будет использоваться кодировка Cyrillic Windows (cp1251), что означает корректную работу с русским языком в данной кодировке.

- Если отметить «Install As Windows Service», сервер будет запускаться в виде сервиса, что является рекомендуемым способом запуска. Ниже, в ниспадающем списке, задается имя сервиса. Далее, уберите галочку рядом с «Launch the MySQL Server automatically» — мы будем запускать сервер вручную. Также поставьте галочку рядом с «Include Bin Directory in Windows PATH» — это позволит установить видимость директории «bin», для командной строки.

- Установите пароль пользователя «root». Советую сделать это. Поставьте хотя бы какой-нибудь простенький пароль, только не оставляйте поле пустым, это убережёт вас от возможных неприятностей в дальнейшем.

- В данном окне обратите внимание на строку «Write configuration file», которая указывает на месторасположение конфигурационного файла MySQL — «my.ini», далее, его необходимо будет немного отредактировать.

- Откройте для редактирования файл «my.ini».
- В раздел [client], после строки:
port=3306
Добавьте строку определяющую каталог содержащий файлы описания кодировок:
character-sets-dir=»C:/Program Files/MySQL/MySQL Server 5.5/share/charsets» - В раздел [mysqld], после строки:
port=3306
Добавьте следующие две строки, первая из которых вам уже известна, вторая – устанавливает кодировку в которой данные передаются MySQL:
character-sets-dir=»C:/Program Files/MySQL/MySQL Server 5.5/share/charsets»
init-connect=»SET NAMES cp1251″ - Далее, найдите строку:
default-storage-engine=INNODB
Замените изначально устанавливаемый тип таблиц на MYISAM:
default-storage-engine=MYISAM
- В раздел [client], после строки:
- Сохраните изменения и закройте файл «my.ini».
Установка и настройка сервера MySQL завершена. - Найдите строку:
post_max_size = 8M
Увеличьте до 16 Мбайт максимальный размер данных принимаемых методом POST, изменив ее на:
post_max_size = 16M - Найдите строку:
;include_path = «.;c:\php\includes»
Раскомментируйте ее, убрав перед строкой символ точки с запятой.
(Внимание исключение! Обратные косые черты при указании пути):
include_path = «.;c:\php\includes»
Создайте пустой каталог «C:\php\includes», для хранения подключаемых классов. - Найдите строку:
extension_dir = «./»
Установите значением данной директивы путь к папке с расширениями:
extension_dir = «C:/php/ext» - Найдите строку:
;upload_tmp_dir =
Раскомментируйте ее и укажите в значении следующий путь:
upload_tmp_dir = «C:/php/upload»
Создайте пустую папку «C:\php\upload», для хранения временных файлов загружаемых через HTTP. - Найдите строку:
upload_max_filesize = 2M
Увеличьте максимально допустимый размер загружаемых файлов до 16 Мбайт:
upload_max_filesize = 16M - Подключите, расскомментировав, данные библиотеки расширений:
extension=php_bz2.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll - Найдите строку:
;date.timezone =
Раскомментируйте и установите значением часовой пояс вашего местоположения (список часовых поясов можно найти в документации):
date.timezone = «Europe/Moscow» - Найдите строку:
;session.save_path = «/tmp»
Раскомментируйте и установите значением данной директивы такой путь:
session.save_path = «C:/php/tmp»
Создайте пустую папку «C:\php\tmp» для хранения временных файлов сессий. - Сохраните изменения и закройте файл php.ini.
- Распакуйте архив дистрибутива в каталог C:\Apache2.
- Откройте в текстовом редакторе файл «C:\Apache2\conf\httpd.conf», являющийся основным конфигурационным файлом сервера Apache.
- Правка файла httpd.conf:
- Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ «#») данную строку:
LoadModule rewrite_module modules/mod_rewrite.so - Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:
LoadModule php5_module «C:/php/php5apache2_4.dll» - Определите каталог содержащий конфигурационный файл PHP, добавив ниже следующую строку:
PHPIniDir «C:/php» - Найдите и раскомментируйте строку:
ServerName www.example.com:80
Отредактируйте ее следующим образом установив изначальное имя сервера:
ServerName localhost:80 - Найдите строку:
DocumentRoot «c:/Apache2/htdocs»
Назначьте корневую директорию управления сайтами (немного позже мы ее создадим):
DocumentRoot «C:/apache» - Найдите данный блок:
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
И замените его на нижеследующий:
Options Includes Indexes FollowSymLinks
AllowOverride All
Allow from all - Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all - Найдите блок:
DirectoryIndex index.html
Замените его на:
DirectoryIndex index.html index.htm index.shtml index.php - Найдите строку:
ErrorLog «logs/error.log»
Замените на нижеследующую (в этом случае просматривать глобальный файл ошибок сервера будет удобнее):
ErrorLog «C:/apache/error.log» - Найдите строку:
CustomLog «logs/access.log» common
Замените на:
CustomLog «C:/apache/access.log» common - Для работы SSI (включения на стороне сервера) следующие строки, находящийся в блоке
, необходимо найти и раскомментировать:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml - Добавьте ниже, в тот же блок
, две строки:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps - И, наконец, найдите и раскомментируйте строки:
Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-manual.conf
Include conf/extra/httpd-default.conf - Сохраните изменения и закройте файл «httpd.conf»
- Существующие блоки примеров виртуальных хостов необходимо удалить, и вставить только нижеследующее:
DocumentRoot «C:/apache/localhost/www»
ServerName localhost
ErrorLog «C:/apache/localhost/error.log»
CustomLog «C:/apache/localhost/access.log» common - Сохраните изменения и закройте файл «httpd-vhosts.conf»
- Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ «#») данную строку:
- Запускаем командную строку и вводим в ней «C:\Apache2\bin\httpd.exe -k install»

- Вот что мы должны увидеть при успешной установке сервиса Apache.

- Переименуйте index.txt в index.php (обратите внимание на расширение!).
- Проверьте страничку запросив ее с сервера по адресу localhost.
- Создание структуры каталогов виртуальных хостов В корне диска необходимо создать каталог «apache» — в нем будут лежать ваши виртуальные хосты (домены), глобальный файл журнала ошибок «error.log» (создается программой при первом запуске, автоматически), глобальный файл доступа «access.log» (создается автоматически). В каталоге «apache» создаем еще одну пустую папку — «localhost», в которой, в свою очередь, создаем папку «www», именно в последней и надо будет держать наше добро в виде локальных скриптов. Такая, казалось бы странная структура каталогов, продиктована схожей схемой построения каталогов в системах Unix, и призвана упростить в дальнейшем ее понимание и использование.
- Вопрос задан более трёх лет назад
- 2774 просмотра
- ← Установка веб-сервера XAMPP в Windows 7
- Установка NetBeans в Windows 7 →
- Создаем здесь сайт (папку), допустим test.local.
- Копируем туда все файлы сайта, скачанные и разархивированные ранее.
-
Скачиваем пакет по ссылке
-
, скачивайте последнюю версию.
Установка PHP
-
Скачиваем пакет по ссылке
-
, обратите внимание что нам нужен ‘VC9 x86 Thread Safe’ вариант.
-
Распакуйте архив в желаемый каталог (изначально предлагается «C:\php»). Откройте конфигурационный файл содержащий рекомендуемые настройки — «php.ini-development» (находящийся в корне дистрибутива), переименуйте его в php.ini и произведите следующие изменения.
php_bz2.dll – С помощью данного расширения PHP сможет создавать и распаковывать архивы в формате bzip2.
php_curl.dll – Очень важная и нужная библиотека, позволяющая соединяться и работать с серверами, с помощью огромного количества интернет-протоколов.
php_gd2.dll – Ещё одна незаменимая библиотека, позволяющая работать с графикой. Вы думали на PHP можно только HTML странички генерировать? А вот и нет! С помощью PHP можно почти всё, в том числе и рисовать.
php_mbstring.dll – Библиотека содержит функции для работы с много-байтными кодировками, к которым относятся кодировки восточных языков (японский, китайский, корейский), Юникод (UTF-8) и другие.
php_mysql.dll – Имя библиотеки говорит само за себя — она необходима для работы с сервером MySQL.
php_mysqli.dll – Данная библиотека является расширением предыдущей и содержит дополнительные функции PHP для работы с сервером MySQL версии 4.1.3 и выше.
Установка Apache
-
Скачиваем пакет по ссылке
-
, обратите внимание что нам нужен ‘Apache 2.4 win32 binaries’.
Проверка работы сервера
В файле httpd-vhosts.conf мы задали каталог DocumentRoot, который и будет являться хранилищем для нашего первого сайта. Наш сайт, для начала, будет состоять всего из одной страницы. Делаем страничку: создайте в каталоге www текстовый файл ‘index.txt’, в файл скопируйте код HTML:
Моя первая страничка Это моя страничка! Apache work!!
Сохраните и закройте файл, затем смените ему расширение, чтобы получилось ‘index.html’.

Пришло время проверить работоспособность нашего web-сервера. Заходим в браузер и делаем HTTP запрос на свой ПК, а именно, в поле «адрес» пишем вместо названия сайта свой локальный IP адрес (например у вас он может быть 192.168.0.1), а можно просто написать «localhost».
Наш web-сервер ответил на запрос и выдал нам нашу первую страничку.
Проверка работы PHP
Для проверки php необходимо сделать следующее:
-
Во первых удалите index.html, вместо него создайте текстовый файл index.txt следующего содержания:
Моя первая страничка Это моя страничка! Apache work!!

Дополнительные настройки
Пример создания виртуального хоста
При необходимости установки собственных виртуальных хостов сделайте следующее:
Откройте файл «httpd-vhosts.conf», и создайте в нём блок, примерно, следующего содержания:
# Папка, в которой будет корень вашего хоста.
DocumentRoot «C:/apache/test.ru/www»
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru
# Алиас (добавочное имя) домена.
ServerAlias www.test.ru
# Файл, в который будут записываться ошибки.
ErrorLog «C:/apache/test.ru/error.log»
# Файл журнала доступа к хосту.
CustomLog «C:/apache/test.ru/access.log» common
Затем в каталоге «apache», создайте папку «test.ru» (прямо так, с точкой), в которой, в свою очередь, создайте папку «www».
Следующий шаг создания виртуального хоста – это изменение файла C:\WINDOWS\system32\drivers\etc\hosts операционной системы. Откройте данный файл и добавьте в него две строки:
127.0.0.1 test.ru
127.0.0.1 www.test.ru
Теперь запустите сервер Apache выполнив в командной строке «C:\Apache2\bin\httpd.exe -k start», откройте браузер, введите в адресной строке «test.ru» или «www.test.ru» и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста («www.test.ru», если таковой существует), только закомментировав либо удалив строку: «127.0.0.1 www.test.ru», в вышеупомянутом файле «hosts».
Документация Apache, при запущенном сервере, доступна по адресу http://localhost/manual/
Остановить работу Apache можно выполнив в командной строке «C:\Apache2\bin\httpd.exe -k stop». При необходимости перезагрузить Apache, выполните в командной строке «C:\Apache2\bin\httpd.exe -k restart».
Согласитесь, что вручную редактировать файл «hosts» при каждом запуске сервисов – это не удобно, поэтому для более удобного, одновременного запуска сервисов Apache, MySQL, и изменения файла «hosts» мы создадим два пакетных файла: на запуск и остановку, которые будут выполнять всю рутинную работу автоматически.
При использовании виртуальных хостов необходимо создать в директории C:\apache два файла: vhosts-off.txt – содержащий изначальное содержимое файла «hosts» и vhosts-on.txt – содержащий все виртуальные хосты. Обратите внимание, что при создании новых виртуальных хостов вам необходимо будет добавлять их в файл vhosts-on.txt, а не в C:\WINDOWS\system32\drivers\etc\hosts. Посмотрите на примеры ниже.
Файл vhosts-off.txt (может содержать одну единственную строку):
127.0.0.1 localhost
Пример файла vhosts-on.txt с виртуальными хостами www.test.ru и test.ru:
127.0.0.1 localhost 127.0.0.1 www.test.ru 127.0.0.1 test.ru
В той же директории C:\apache, создайте два пакетных файла: start-webserver.bat – для запуска сервисов и подмены файла «hosts», и stop-webserver.bat – для остановки сервисов и очистки файла «hosts».
Файл запуска start-webserver.bat:
@echo off echo. if not exist C:\apache\vhosts-on.txt goto no_vhosts echo Create virtual hosts: copy /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts echo. :no_vhosts NET start Apache2.2 NET start MySQL
Файл остановки stop-webserver.bat:
@echo off echo. if not exist C:\apache\vhosts-off.txt goto no_vhosts echo Restore hosts file: copy /v /y C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts echo. :no_vhosts NET stop Apache2.2 NET stop MySQL
В случае если вы не используете виртуальные хосты или хотите запустить сервисы без подмены файла «hosts», просто уберите из директории C:\apache файлы vhosts-on.txt и vhosts-off.txt.
Одновременно с сервисами удобно запускать программу Apache Monitor, отображающую в системном лотке состояние сервера Apache, для чего можно создать еще один пакетный файл «start-webserver-monitor.bat», содержание которого аналогично файлу «start-webserver.bat» с добавлением в самый конец следующей строки:
start "" "C:\Apache2\bin\ApacheMonitor.exe"
На этом все, успехов в покорении HTML и PHP!
Как запускать php скрипты на компьютере?
Доброго времени суток.
Подскажите, можно ли как-нибудь запускать php без всяких Denwer или OSPanel?
У меня папка с веб-проектом лежит в GitHub папке на пк. (я использую GitHub Desktop). PHP не работает, если я просто открою файл index.php.
Почему я не использую OSPanel и Denwer: придётся в папке domain создавать projectName.com, копировать туда все файлы и так запускать. Немного костыльный метод. Как решить данную проблему? Может быть, кто сталкивался?
Решение
В настройках OSPanel на вкладке «Сервер» можно поменять пункт «Корневая папка с домена». Я выставил C:/users/username/GitHub и теперь мой проект спокойно открывается по http://projectname
1 комментарий
Простой 1 комментарий
Установка веб-сервера XAMPP в Windows 8
Для того чтобы начать создавать сайты нам потребуется провести некоторые подготовительные действия.
Первое что нам нужно — это установить и настроить локальный веб-сервер.
Веб-сервер это — программное обеспечение (или так можно назвать компьютер) которое принимает HTTP запросы, формирует HTML страницы и возвращает их браузеру.
Есть множество способов установить на свой ПК веб-сервер. Это можно сделать отдельно установив Apache, MySql и тд.
Либо можно воспользоваться готовыми решениями. Например Denwer, WAMP, XAMPP и тд.
В нашем обучении основам PHP мы будем использовать пакет XAMPP
Загрузка пакета XAMPP
Скачать XAMPP можно с официального сайта https://www.apachefriends.org/ru/download.html. После того как архив скачан — распакуйте его в корень диска (в идеале в корень диска C:).
Создание локального домена в XAMPP
Переходим в папку \htdocs\
И создаем папку нашего будущего сайта. Название папки должно соответствовать названию сайта.
В результате у нас получится такой путь:
:\xampp\htdocs\site.local
Теперь создадим папку www (или htdocs — как наиболее частое название папки веб-пространства)
:\xampp\htdocs\site.local\www
Для того чтобы проверить работоспособность нашего сайта создадим тестовый скрипт
:\xampp\htdocs\site.local\www\phpinfo.php
Со следующим кодом:
phpinfo();
При переходе по адресу http://site.local/phpinfo.php
мы должны будем увидеть информацию о PHP. Но пока переходить на данный урл еще рано так как мы выполнили не все настройки.
Настройка Apache в пакете XAMPP
Переходим в папку:
:\xampp\apache\conf\extra\
И открываем для редактирования файл httpd-vhost.conf
Переходим в самый низ файла и добавляем следующий код:
ServerAdmin admin@site.local
DocumentRoot «/xampp/htdocs/site.local/www»
ServerName site.local
ServerAlias www.site.local
ErrorLog «logs/site.local.log»
CustomLog «logs/site.local.log» combined
Настройка Windows
Переходим в папку:
C:\windows\system32\drivers\etc\
Открываем для редактирования файл hosts
(Windows не позволит редактировать его в текущей папке, по этому перенесите его на рабочий стол, отредактируйте и верните на место.)
Переходим в самый низ файла и добавляем следующий код:
127.0.0.1 site.local
127.0.0.1 www.site.local
Тестирование веб-сервера
:\xampp\xampp-control.exe
В появившемся окне стартуем Apache. Теперь можно в браузере открыть страницу http://site.local/phpinfo.php
Если вы все настроили правильно и не допустили опечаток, то откроется страница с информацией о PHP
Как запустить сайт на компьютере без хостинга?
Рассмотрим часто возникающий вопрос: Как запустить сайт на компьютере без хостинга? Нам понадобятся всего две вещи:
1 — скачанный с хостинга сайт (средствами файл-менеджера или Filezilla),
2 — Openserver для запуска его локально на компьютере.
FileZilla — программа для передачи файлов сайта через FTP на сервер.
Openserver — программа для запуска сайтов локально на компьютере.
Установка FileZilla и подключение к серверу
Скачиваем установщик для Windows. Устанавливаем, соглашаясь с тем, что нам предлагается во время установки. Далее открываем программу и переходим в меню «Менеджер сайтов».

Данные логин, ftp и пароль вы должны знать от хостинга. В различных хостингах меню находится в разных местах интерфейса.

Заполняем здесь новый сайт. Если все заполнено верно, вам откроется ваш сайт с правой стороны экрана. С левой будут папки вашего компьютера. Или корневой каталог со всеми сайтами. Смотря, куда вы открыли доступ.
Теперь вы свободно можете скачивать/закачивать файлы на сервер и на компьютер.
Запуск сайта БЕЗ базы данных MySQL (лендинги, статические сайты)
Для запуска статического сайта (это сайт без базы данных, хранящий все свои данные в HTML-файлах) не требуется ничего специального. Скачайте его на компьютер с помощью файл-менеджера хостинга или FileZilla. На компьютере просто откройте любую нужную страницу, сайт должен запуститься в рабочем режиме через браузер.

Создаем архив сайта на хостинге
Чтобы скачать сайт, рекомендуем сделать его архив на хостинге и скачать базу данных. Для этого идем на хостинг в файл-менеджер и архивируем ресурс.

Скачиваем дамп (файл) базы данных. Для этого идем в phpMyAdmin и экспортируем базу данных на компьютер. Это позволит скачать актуальную свежую базу данных с сайта.

Экспортируем базу данных:

Альтернативный метод, это сделать бэкап сайта и скачать его. Любой из этих хостингов, поможет это сделать бесплатно.
Скачиваем файлы сайта на компьютер
Теперь у нас есть актуальная база данных. Можем скачать файлы на компьютер. Для этого открываем FileZilla и заходим на сервер и скачиваем наш архив на компьютер.

Теперь разархивируем файлы в папку и у нас на компьютере будет полная версия нашего сайта + база данных. Лежать пусть будет в этой же папке.
Устанавливаем Open server на Windows
Для запуска нам достаточно версии Open Server Basic. Скачивание программы займет какое-то время. Или можете отправить донат в 60 рублей и скачать программу быстро. Программа является бесплатной, поэтому нет ничего зазорного в том, чтобы поддержать разработчиков.
Запускаем установку. Выбираем диск для установки программы.

После установки мы идем в папку, находим .exe файл. Запускаем его, после чего увидим красный флажок справа-внизу панели Windows и загрузка Microsoft VC ++. Придется подождать какое-то время, пока система загрузит компоненты. Потом следует перезагрузить компьютер.

Запускаем Openserver и сайт на нем
Нажимаем «Запустить» (зеленый флажок).

Программа начинает свою работу. Теперь мы можем настроить (пункт «Настройки»), все, что нам необходимо в программе. В случае, если вы впервые смотрите на настройку веб-сервера, советуем вам выбирать все то, что было у вас на хостинге. Это либо сервер Apache, либо Nginx.
HTTP: Apache-PHP+Nignx — последней версии, PHP: 7.1+ и MySQL/MariaDB: MySQL 5.7+. Выше шанс, что сайт запустится без проблем.

Для начала работы нам нужен сайт в папке «Openserver/domains«.
ПЕРЕЗАПУСКАЕМ СЕРВЕР! (желтый флажок)
Подключаем Базу Данных
Открываем опцию «Дополнительно — PhpMyAdmin»:

Вводим логин и пароль: root и root, соответственно. Если вы не меняли логина пароля для сервера. Это не нужно, если вы работаете исключительно у себя на локальном компьютере.
Создаем базу данных. В моем случае «mysql«. Импортируем базу данных сюда, вкладка «Импорт» в меню PhpMyAdmin.

Все. Мы создали базу.
![]()
Теперь вам следует изменить все пути до конфиг файлов (в моем случае это: C:/Openserver/domains/test.local) и настройки подключения базы данных: имя базы, логин, пароль. Просто открываем конфиг файл редактором и меняем логин, пароль и название базы на: root, root, mysql (базу можете назвать, как хотите).
Где искать конфиг файлы для разных CMS?
Конфиг файла WordPress лежит в корне сайта: /wp-config.php. С WP есть особенность с путями до страниц и комментариев. Перенос WordPress и смена имени домена.
Конфиг файлы для MODX revo лежат тут: корень сайта /config.core.php, /manager/config.core.php, /connectors/config.core.php и главный с доступом в базу: /core/config/config.inc.php.
Файл для настройки Joomla в корне сайта: /configuration.php.
Как видите, сколько CMS, столько путей до конфиг-файлов.
Запускаем сайт локально на компьютере
Теперь наш сайт легко запускается по ссылке test.local.
В среднем вся процедура занимает около двух часов, когда делаешь это первый раз. Второй и третий раз будет уже гораздо проще. Тем более, вы уже будете точно знать, что вам надо.
