Под локальным сервером в веб-разработке обычно понимают набор ПО, которое позволяет запускать сайты на своём компьютере, реже — сам компьютер. Доступ к этим сайтам есть только на одном устройстве (потому-то он и локальный), но этого достаточно, чтобы программист мог всё протестировать.
Из этой статьи вы узнаете, как установить сервер на Windows.
Чаще всего используются локальные серверы Denwer (джентльменский набор веб-разработчика), Xampp и Open Server — все три бесплатны.
Первый (Denwer) прошёл проверку временем и любим многими специалистами. Однако он уже достаточно давно не поддерживается разработчиками, поэтому придётся самостоятельно обновлять некоторые модули — например, версию PHP и СУБД (система управления базами данных).
Также сам он не совсем удобен: интерфейс установщика — консоль, а все настройки нужно вносить в специальные файлы с помощью «Блокнота».
Я бы посоветовал новичкам этот вариант, потому что тогда они на практике узнают, как всё устроено. Но время движется вперёд, поэтому лучше концентрироваться на изучении чего-то более современного.
В этой статье мы рассмотрим Open Server. Его преимущества:
- Не требует установки — достаточно скачать и распаковать архив.
- Удобные настройки — можно открыть меню и выбрать всё, что нужно.
- Обновления — регулярно выходят новые версии.
Главный недостаток, пожалуй, — большой вес:

Почти 900 МБ тут занимают версии PHP:

Их можно оставить, чтобы потом в настройках выбрать любую версию и писать на ней. Или удалить, чтобы освободить место. То же самое касается и СУБД:

Тут уже занято около 5 ГБ, поэтому можно смело удалять то, что вы не будете использовать. Например, я могу избавиться от всего, кроме MariaDB 10.3 и PHP 7.3.
Xampp весит гораздо меньше, но и выбор версий там скуднее (в основном последние). Также придётся использовать MySQL или самостоятельно настраивать другую СУБД. В принципе, вы можете выбрать и его — он используется так же, как Open Server, а установка немногим сложнее.
Перейдите на страницу скачивания и ознакомьтесь с дистрибутивами.

Не смущайтесь из-за их названий, потому что все они бесплатны. Например, можно выбрать версию Basic:

После завершения загрузки извлеките содержимое архива в любую удобную папку. Желательно, чтобы в адресе не было пробелов. Также не стоит помещать сервер в папку, которая лежит в папке, которая лежит в папке (вы поняли).
Затем зайдите в этот каталог и запустите файл Open Server x64.exe (или x86, если у вас 32-битная система).
Чтобы запустить первый сайт, зайдите в папку Domains и создайте каталог с адресом сайта. Не стоит давать имя вроде google.com, поэтому что тогда вы не сможете зайти в Google. Вместо этого лучше использовать вымышленный домен .loc. Например, mysite.loc.
Теперь нужно в трее кликнуть иконку Open Server и нажать Run server:

Когда сервер запустится, флажок станет зелёным и можно будет ввести в браузере адрес сайта.
Вы увидите вот такую страницу:

Она означает, что на сайте нет файла index.html или index.php. Давайте создадим index.html и выведем надпись «Hello, World!».

Готово! Теперь можно использовать сервер, чтобы тестировать сайты.
- 18 дек 2019
Пошагово объясняем, как установить Xampp на Linux и настроить доступ для редактирования сайтов.
vlada_maestro / shutterstock

Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Под локальным сервером в веб-разработке обычно понимают набор ПО, которое позволяет запускать сайты на своём компьютере, реже — сам компьютер. Доступ к этим сайтам есть только на одном устройстве (потому-то он и локальный), но этого достаточно, чтобы программист мог всё протестировать.
Из этой статьи вы узнаете, как установить сервер на Linux.
Инструкция для ОС Windows.
На мой взгляд, лучший вариант — Lampp. Название этого локального сервера расшифровывается так:
- X или L — операционная система (X — общее название, L — Linux).
- A — Apache (HTTP-сервер).
- M — MySQL или MariaDB (система управления базами данных).
- P — PHP (скриптовый язык программирования).
- P — Perl (язык программирования).
Серьёзных альтернатив у Lampp нет. Это не критично, потому что у него есть большое сообщество, а обновления выходят регулярно. Из минусов можно отметить разве что отсутствие (хотя для Linux это не недостаток).
Команды из этой статьи протестированы на Ubuntu 19.04, но для других дистрибутивов действия будут аналогичными.

После завершения загрузки откройте терминал и перейдите в папку со скачанным файлом.
Затем измените режим доступа к файлу:
chmod xampp-linux-*-installer.run
Вместо звёздочки нужно подставить версию файла и разрядность системы. Должно получиться так:
chmod xampp-linux-x64-7.-installer.run
Теперь установщик можно запустить:
sudo ./xampp-linux-*-installer.run
После завершения установки сервер будет находиться по адресу /opt/lampp.
Чтобы запустить Lampp, нужно ввести в терминале следующую команду:
sudo /opt/lampp/lampp start
sudo /opt/lampp/lampp stop
Чтобы проверить, что всё работает, перейдите по адресу http://localhost/. Вы должны увидеть вот такую страницу:

Чтобы не вводить полные команды для запуска и остановки сервера каждый раз, можно настроить . Для этого откройте файл .bashrc с помощью удобного редактора:
Затем добавьте в конец файла следующее:
#aliases
alias lampp_start='sudo /opt/lampp/lampp start'
alias lampp_stop='sudo /opt/lampp/lampp stop'
После сохранения файла перезагрузите систему, и вы сможете управлять Lampp с помощью команд lampp_start и lampp_stop.
Файлы сайтов находятся по следующему адресу:
Но редактировать их нельзя, потому что они установлены от имени суперпользователя. Чтобы это исправить, используйте следующую команду:
sudo chmod /opt/lampp/htdocs
После этого можно создать в этой папке файл test.html и написать в нём «Hello, World!». Открыть его можно будет по адресу http://localhost/test.html.



- XAMPP
- Что такое XAMPP (Apache + MariaDB + PHP + Perl)?
- OpenServer
- Denwer
- WampServer
- AMPPS
- Devilbox
- Winginx
- Laragon
- BitNami Application Stacks
- MAMP
- Denwer
- OpenServer
- XAMPP
- WampServer
- AMPPS
- The Uniform Server
- Devilbox
- Winginx
- Заключительный совет
- Локальный сервер — что это?
- Local server и localhost
- ПО для локального сервера
- Для чего может понадобиться локальный сервер
- Заключение
- Пошаговые действия
- Установка веб-сервера, размещение файлов сайта
- Настройка Open Server для доступа к сайту по локальной сети (по IP и по доменному имени)
- Как открыть доступ к сайту из сети Интернет по IP и по доменному имени
- Установка движка (например, WordPress) в Open Server
- Оглавление
- Веб-сервер на компьютере
- Из чего состоит веб-сервер
- Скачать веб-сервер под Windows
- Установка веб-сервера в Windows
- Установка Apache 2. 4 в Windows
- Установка MariaDB в Windows
- Установка PHP в Windows
- Установка phpMyAdmin в Windows
XAMPP

Что такое XAMPP (Apache + MariaDB + PHP + Perl)?
XAMPP является самой популярной средой разработки PHP
XAMPP полностью бесплатный и простой в установке дистрибутив Apache, содержащий MariaDB, PHP и Perl. XAMPP создан с открытым исходным кодом, чтобы быть невероятно простым в установке и в использовании. Существует версия под Windows, Linux, OS X. Бесплатно.
OpenServer

Open Server — это портативный локальный WAMP/WNMP сервер, имеющий многофункциональную управляющую программу и большой выбор подключаемых компонентов. Представленный пакет программ не является очередной любительской сборкой собранной «на коленке», это первый полноценный профессиональный инструмент, созданный специально для веб-разработчиков с учётом их рекомендаций и пожеланий. Существует версия под Windows. Бесплатно.
Denwer

Denwer — джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») — проект Дмитрия Котерова, локальный сервер (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет. Главная особенность Денвера — удобство при удаленной работе сразу над несколькими независимыми проектами и возможность размещения на Flash-накопителе. Существует версия под Windows. Бесплатно.
WampServer

AMPPS

AMPPS — это набор решений, включающий в себя Apache, MySQL, MongoDB, PHP, Perl & Python для Windows, Linux и Mac. AMPPS поставляется с более 300 готовыми PHP веб-приложениями и с различными версиями PHP. AMPPS был создан компанией Softaculous Ltd, которая была основана в 2009 году и разработала Softaculous Auto installer. AMPPS доступен на платформах WIndows и Macintosh. AMPPS используется для разработки на PHP с использованием MySQL.
Devilbox

Winginx

Winginx — это комплекс локального веб-сервера под Windows для разработки на PHP и Node.js с использованием баз данных MySQL, MongoDB, Redis, memcached.
Laragon

Laragon — легкий, быстрый и удобный современный LAMP-сервер с Redis и Memcached, чрезвычайно высокая производительность. Laragon превратит ваш компьютер в мощный сервер за минуту, чтобы вы могли быстро и легко размещать WordPress, Joomla, Magento, Drupal и Prestashop.
BitNami Application Stacks
Проект BitNami позволяет легко и быстро создавать сайты людям, которые не обладают особыми знаниями языков программирования и не представляют как настраивать сервер.
BitNami Application Stacks — это единственный исполнимый файл, содержащий web-сервер Apache, СУБД MySQL, язык web-разработки PHP и систему управления контентом (CMS). Все компоненты BitNami уже настроены и готовы к работе сразу после простой установки. С сайта проекта можно загрузить пакет, содержащий на выбор:
- WordPress 2.3.2 (блог);
- Joomla 1.0.13-4 (CMS);
- Drupal 5.6; (CMS)
- MediaWiki 1.11.0-7(wiki);
- phpBB 2.0.22-5 (форум);
- и многое другое.
Основные преимущества BitNami перед аналогичными проектами:
- Простота установки. Всего несколько щелчков мыши и CMS установлена и настроена;
- Мультиплатформенность. Работает в Linux, Windows и Mac OS X;
- Интеграция. После установки все компоненты настроены и корректно взаимодействуют;
- Отсутствие зависимостей. Для работы BitNami не требуется установки дополнительных программ;
- Open source. Пакет распространяется бесплатно, доступны исходные коды.
MAMP

MAMP за считанные секунды устанавливает локальную серверную среду на вашем компьютере с системой ОС MacOS или Windows. MAMP — бесплатное и простое в установке приложение. MAMP не ставит под угрозу существующую установку Apache в вашей системе. Вы можете установить Apache, Nginx, PHP и MySQL без запуска скрипта и изменения конфигурационных файлов. Если MAMP больше не требуется, просто удалите папку MAMP и все вернется в исходное положение (т.е. MAMP ничего не изменит в системе).

В процессе разработки сайта необходимо средство просмотра и тестирования продукта. Разработчику нужно понимать, как будет выглядеть верстка на запущенном сайте, как будут работать различные функции и скрипты: формы, корзина, фильтры и т. п. Однако покупать место на хостинге для этого дорого; кроме того, придется закрывать сайт, находящийся в разработке, от внешнего мира.
Поэтому многие предпочитают разрабатывать и запускать сайт для тестирования на своем компьютере. Для этого созданы специальные пакеты программ – локальные серверы или веб-серверы. В них входит такое же ПО, какое устанавливается на хостингах. Локальные веб-серверы еще называют платформами WAMP, по первым буквам названий входящих в них приложений: A – Apache, M – MySQL, P – PHP. Буква W означает, что платформа инсталлируется на Windows.
Локальный сервер устанавливается на компьютер, на нем размещают файлы сайта. После этого к страницам сайта можно обращаться через браузер, почти так же, как это делается в сети интернет, только в URL будет указываться localhost.
Разновидностей платформ WAMP создано довольно много. Чтобы помочь вам с выбором, мы коротко рассмотрим преимущества и недостатки самых популярных локальных серверов.
Denwer

Denwer был лидером на рынке платформ для веб-разработки в 2002-2013 годах. Сейчас многие по-прежнему используют именно этот локальный сервер – особенно те, кто с него начинал. Название программы расшифровывается как «Джентельменский набор для веб-разработчика». Автор дистрибутива – россиянин Дмитрий Котеров.
- бесплатность;
- простая установка и удаление программы. Требуется только распаковать архив – дальше компоненты устанавливаются автоматически. А чтобы удалить сервер, достаточно переместить его папки в корзину;
- совсем небольшой объем занимаемого на компьютере места;
- экономное использование ресурсов машины;
- возможность размещения на флешке.
Основной недостаток сервера – отсутствие обновлений. Последняя версия программы была выпущена в 2013 году.
Кроме того, управляется эта платформа через консоль, тогда как многие пользователи предпочитают GUI.
OpenServer

Основным конкурентом Denwer стал OpenServer. Сейчас это, пожалуй, один из лучших веб-серверов. В его составе не только основные программы, но и множество полезных инструментов для разработчика: FTP FileZilla, Ghostscript, NNCron, Sendmail, Wget и т. п.
- имеет приятный и дружелюбный интерфейс;
- прост в установке;
- бесплатный;
- портативный – его можно запускать даже с флешки;
- помимо Apache имеет в составе модуль Ngnix;
- предлагает на выбор несколько видов СУБД (в том числе NoSQL) и других компонентов.
К недостаткам OpenServer с большой натяжкой можно отнести:
- отсутствие поддержки 32-битных систем. Но сейчас их мало кто использует;
- объем занимаемого места – он больше, чем у Денвер. С другой стороны, гигабайт на диске для современных машин – это мелочи.
XAMPP
Еще один локальный сервер с полным набором модулей для полноценной работы.
- кроссплатформенность (именно это обозначает буква X в названии). Программа может устанавливаться на Windows, Linux и MacOS;
- дополнительно к PHP в сборке есть Perl;
- бесплатность и открытый код;
- легкая установка;
- дружелюбный интерфейс.
XAMPP более медленный в работе, чем, к примеру, OpenServer. Это можно отнести к недостаткам. Но скорость работы можно увеличить правильной настройкой веб-сервера.
Еще один минус – нет русскоязычного интерфейса.
WampServer
- бесплатность;
- простая установка;
- есть русскоязычный интерфейс;
- наличие 64-разрядной и 32-разрядной версий;
- в архиве доступны старые версии – для Windows XP, например;
- есть активное действующее сообщество, в котором можно получить помощь по проблемам с настройками.
Главный недостаток WampServer – более сложная настройка по сравнению с аналогами. Часто для этого приходится вносить изменения в конфигурационные файлы.
Кроме того, для установки программе понадобятся библиотеки Microsoft C/C++, что также нельзя назвать преимуществом.
AMPPS
AMPPS – это мощная бесплатная платформа для веб-разработки. Стандартные локальные серверы обычно предлагают только необходимые компоненты и небольшой набор дополнительных инструментов. В AMPPS вы найдете более 400 различных программ и приложений. Создатели платформы также позаботились о том, чтобы любое приложение можно было установить всего в несколько кликов.
Этот веб-сервер обладает целым рядом преимуществ:
- кроссплатформенностью. AMPPS – это не только WAMP, но и LAMP, MAMP – платформа может устанавливаться также на Linux и macOS системах;
- встроенным FTP-сервером;
- минимумом действий пользователя при установке;
- простотой использования даже для новичков;
- быстрой и простой установкой компонентов – CMS, форумов, вики;
- возможностью развернуть несколько баз данных;
- возможностью одновременной установки приложений сразу в нескольких доменах.
К недостатку сервера можно отнести отсутствие поддержки русского языка в интерфейсе.
The Uniform Server
Этот локальный сервер отличается:
- предельной легкостью – весит всего около 24 МБ;
- простой установкой;
- минималистичным интерфейсом.
Есть и недостатки. Все действия в The Uniform Server выполняются, в основном, через консоль. Кроме того, язык интерфейса только английский.
Devilbox
Локальный сервер Devilbox предоставляет разработчику не только обычный пакет приложений (WAMP, LAMP). В сборке есть программы, которые нужны для развертывания MEAN-платформы: MongoDB, Express.js, Angular.js, Node.js. Такая среда используется для разработки, ориентированной на JavaScript.
- поддержка https;
- работает на всех типах операционных систем – Windows, Linux, MacOS;
- после установки почти ничего не нужно настраивать – все сразу работает;
- можно запускать сколько угодно проектов, ограничений нет;
- много дополнительных инструментов – DNS-сервер Bind, просмотрщик отправленных писем, утилита для подключения SSL-сертификата и т. п.
- Devilbox – это докер-стек, поэтому предварительно понадобится установить Docker;
- не самый простой процесс установки.
Winginx
Этот локальный сервер характеризуется неплохим разнообразием модулей, входящих в сборку. В нем есть Ngnix, несколько видов СУБД на выбор (MySQL, MongoDB, Redis), есть Node.js.
- в магазине приложений можно бесплатно скачать популярные CMS и фреймворки;
- автоматическая проверка актуальности установленных компонентов и их обновление;
- интерфейс на русском языке;
- есть просмотрщик локальной почты;
- есть система управления задачами и контроля рабочего времени.
Основной недостаток Winginx – сложность работы с логами.
Заключительный совет
Выберите несколько локальных серверов с подходящими вам параметрами, поочерёдно установите и протестируйте их. Удобство и понятность интерфейса, наличие нужных для ваших задач инструментов – все это, по нашему мнению, можно оценить только при использовании.
При разработке веб-сайтов часто удобнее работать не с «настоящим» веб-сервером Интернет-провайдера, а сделать его программную копию, эмулировать этот веб-сервер на компьютере разработчика. Такую эмуляцию и называют локальным сервером.
Локальный сервер — что это?
Локальный сервер – это набор программного обеспечения, который выполняет функции сервера, работающий на локальном компьютере или в локальной сети предприятия.
Такой подход может быть полезен, например, для разработчиков веб-сайтов, чтобы вначале создать общую структуру сайта, отладить его работу и отработать его дизайн у себя на компьютере, а затем перенести готовый к использованию веб-сайт на внешний веб-сервер, где он станет доступным для широкого круга пользователей.
Локальный сервер содержит, в принципе, то же программное обеспечение, что и обычный веб-сервер, только работает в пределах локальной сети или отдельного компьютера.

Local server и localhost
Иногда локальный сервер (local server) могут называть localhost, хотя это не совсем верно. Localhost – это компьютер пользователя в сети, на котором осуществляется доступ к удалённому веб-сайту или приложению. Однако, этот веб-сайт или приложение могут физически располагаться на компьютере пользователя и работать по тем же протоколам, как и при удалённом доступе.
ПО для локального сервера
ПО локального сервера обозначается аббревиатурой xAMP, от его самых необходимых компонентов: Apache, MySQL, PHP. Данным сокращением описывается комплектация пакетов программ под соответствующую операционную систему, обозначаемую буквой «х». Например, для Windows это будет WAMP, для Linux – LAMP, для Mac OS – MAMP.
Системы xAMP представляют собой пакеты программ (сборки), которые не нужно устанавливать и настраивать по отдельности.
Для WAMP наиболее популярны локальные серверы: OpenServer, Денвер, XAMPP. В платформу WAMP также входят открытое ПО Apache, СУБД MySQL, интерпретатор PHP для работы с языками программирования, автоматический установщик расширений.
Open Server — многофункциональный инструмент, очень популярный среди разработчиков. Имеет простой и понятный интерфейс и навигацию, удобную управляющую программу, а также большой выбор подключаемых компонентов. В полную версию включён необходимый набор программ для быстрого начала работы с ним (Opera, Sublime, WinSCP, Simplewall, Jcpicker, Bright Master). В состав входит несколько HTTP-серверов (Apache или Nginx), различные версии модулей PHP и СУБД.
Преимущества Open Server: многофункциональность, поддержка многих языков интерфейса, подробная инструкция пользователя, возможность работы через командную строку, быстрота запуска, просмотр логов в реальном времени.
К недостаткам следует отнести невозможность автоматического обновления пакета программ (только вручную).
Название «Денвер», как ни странно, имеет российское происхождение. Это сокращение фарзы «джентльменский набор Web-разработчика», ДНВР). В английском варианте используется название Denwer. Денвер представляет собой набор дистрибутивов и программную оболочку, предназначенные для создания и отладки сайтов, веб-приложений и прочего динамического содержимого интернет-страниц на локальном ПК без необходимости подключения к сети Интернет под управлением ОС Windows.
К достоинствам Денвера можно отнести простоту и небольшой объём, к недостаткам – в целом не очень широкий функционал, который, однако, каждый разработчик может «добирать» для себя самостоятельно.
XAMPP (читается как «Зэмп») — кроссплатформенная сборка локального веб-сервера, которая состоит содержащая сервер Apache, систему управления баз данных Maria SQL (либо MySQL), интерпретатор скриптов PHP, язык программирования Perl и большое количество дополнительных библиотек, позволяющих запустить полноценный веб-сервер.
Достоинства XAMPP – широкой функционал. К недостаткам можно отнести требовательность к квалификации разработчика, который должен хорошо ориентироваться, как правильно работать со всеми его компонентами.
Другие варианты сборок локальных серверов
Есть также много других вариантов наборов программ локального сервера: EasyPHP, VertrigoServ, WampServer, MoWeS Portable, AppServ, Bitnami, Endels, Uniform Server, Usbwebserver, EleanorServer, VVV.
Для чего может понадобиться локальный сервер
Локальный сервер может быть полезен, например для следующих случаев:
- Установка различных систем управления контентом (CMS) для знакомства с их интерфейсом и административной панелью.
Сейчас уже практически никто не создаёт веб-сайты с нуля, как никто, например, не шьёт костюм, начиная с изготовления ткани на ткацком станке. Для этого, в основном, используются различные т.н. «системы управления контентом» CMS (Content Management System), как WordPress, или многие другие.
Однако, чтобы убыстрить знакомство с ними, понять различные аспекты взаимодействия и сэкономить время, усилия и стоимость удалённого доступа, можно установить CMS как локальный сервер, и отработать в такой лаборатории все требуемые детали.
- Для обучения программированию, работе в различных программах вёрстки, обработки изображений и пр.
Разработки программ часто ведётся удалённо на облачных платформах PaaS (Platform as a Service). Это даёт возможность коллективу разработчиков ПО значительно сэкономить на начальных инвестициях, поскольку в этом случае не нужно закупать дорогостоящее серверное оборудование, чтобы развернуть аппаратную среду разработки у себя в офисе или дома. Вместо этого, можно воспользоваться облачными услугами PaaS, которые предоставят разработчику весь необходимый спектр сервисов.
Однако, эту среду разработки нужно вначале изучить, и понять все её особенности. Если сразу начать работать с облачным провайдером PaaS, это может быть чревато нерациональными затратами на удалённый доступ, возможностью приобретения функционала, который в дальнейшем не потребуется, да и время будет тратиться больше.
Поэтому, рациональным решением будет развёртывание среды PaaS в минимальной конфигурации в виде локального сервера, а затем, после получения необходимого опыта можно будет переходить на взаимодействие с полнофункциональной платформой в удалённом режиме.
- Для тестирования корректности работы систем резервирования и катастрофоустойчивости
При использовании систем резервного копирования необходимо проверять их работоспособность. Если этого не делать, то возможны ошибки, например при кодировке или форматировании данных. Поэтому, корректность работы системы резервного копирования лучше вначале проверять на локальном сервере.
- Для корректировки структуры веб-сайта
Изменение какой-либо информации на сайте, например, при установке новых модулей, изменение вёрстки, импорт и экспорт большого количества информации лучше вначале делать на локальной копии сайта, которая работает в среде локального сервера. Иногда крупные изменения структуры сайта могут приводить к искажению его внешнего вида, скрытию на экране важной для пользователя информации и даже к нарушению его нормальной работы.
Конечно, если необходимо поменять, скажем, только номер контактного телефона ила добавить пункт меню, то это безбоязненно можно сделать и прямо на веб-сервере, без того, чтобы тратить время на проверку результата такого элементарного действия на локальном сервере.
Однако, более глубокие изменения структуры сайта лучше в начала тестировать на локальной копии веб-сайта, а потом уже запускать её «в производство».
Заключение
Итак, локальный сервер – один из самый востребованных инструментов веб-разработчика. Локальный сервер для него – это и «производственный станок», и «нагрузочный стенд» (подобный стенду для настройки режимов двигателя в гараже) и «мольберт» дизайнера.
Хотя Денвер является старейшим из наборов ПО локального сервера, многие разработчики продолжают используют Денвер, и не желают его менять на что-то другое. Его достоинством является простота, стабильность работы и нетребовательность к системным ресурсам. Некоторые недочёты или недостающие функции Денвера разработчики предпочитают исправлять или дополнять самостоятельно.
Например, для создания лендинг-страниц применим и Денвер, и OpenServer и другие платформы. При изменении круга задач, разработчик часто не меняет всю платформу, а изменяет уже используемые инструменты. Для новичка в разработке, в плане иллюстрации работы настоящего веб-сервера, ни одна программа не будет иметь преимуществ.
В целом, можно сказать, что все платформы хороши для того или иного применения. Большую роль играет задача, для которой используется локальный сервер. Рекомендовать какую-то платформу, как наилучшую для локального сервера – некорректно, как нельзя рекомендовать универсальный двигатель автомобиля, который подойдёт и для гонок, и для поездок в супермаркет.
Некоторые разработчики используют довольно редкие виды локальных серверов: WampServer, EasyPHP, AppServ и др. Однако, повторим, что идеального и универсального решения для выбора локального сервера не существует. Всё зависит от круга задач, который необходимо решать в той или иной ситуации.

Благо, что настраивается это всё достаточно легко (самые большие сложности — обеспечить ему стабильность, ведь далеко не каждый из нас сможет ежедневно/ежечасно контролировать работу компьютера, его подкл. к Интернет, нагрузку ЦП и пр. Но об этом я пару слов скажу в итогах).
Еще пара важных нюансов: способ, изложенный ниже, актуален для ОС Windows 10/11; компьютер должен быть подключен или к локальной сети / или к Интернет (в моем примере ПК подкл. к обычному дом. Wi-Fi роутеру, а он в свою очередь к Интернет).
- Пошаговые действия

→ Задать вопрос | дополнить
Пошаговые действия
Установка веб-сервера, размещение файлов сайта
В качестве веб-сервера я бы порекомендовал остановиться на 📌Open Server. Он достаточно удобный, надежный, имеет кучу опций (можно выбрать версию PHP, MySQL, настроить авто-выполнение скриптов и пр.). Весь перечень функций приведен на офиц. сайте.
После установки (стандартная, поэтому ее не описываю) и запуска Open Server — у вас в трее должен появиться зеленый флажок (значит веб-сервер работает и с ним все в порядке!). 👇
Кстати, часто Open Server не хочет запускаться из-за отсутствия 📌Microsoft Visual C++ (при установке веб-сервера — не отказывайтесь от загрузки этих пакетов).

Open Server установлен и запущен! Горит зеленый флажок в трее, рядом с часами
Далее нужно зайти в папку установки Open Server и открыть каталог (в моем случае весь путь такой: ).
В этом каталоге нужно создать папку с именем вашего домена , например: (можно использовать и , и , и даже т.д.*). 👇
📌* Но крайне желательно: выбрать такой домен/адрес сайта, который никем не занят, чтобы в последствии вы могли его зарегистрировать у регистратора, если надумаете открывать сайт для доступа из Интернет. Проверку домена на занятость можно выполнить у Рег.ру.

Папка = имя домена (в ней файл index.php, движок сайта)
Настройка Open Server для доступа к сайту по локальной сети (по IP и по доменному имени)
Чтобы открыть настройки у Open Server — сделайте правый клик мышки по его значку в трее, и в появившемся меню выберите соотв. пункт. См. скрин ниже. 👇

Настройки Open Server — клик по значку в трее, в меню выбрать оное

Можно выбрать версию PHP, MySQL и пр. — модули в Open Server
В меню нужно изменить парочку опций:
- разрешить запуск сервера в агрессивном режиме (чтобы допустить его работу, если возникнут незначительные ошибки);
- установить пункт «Все доступные IP» в пункте ;
- затем нужно нажать по меню .

Все доступные IP, перезагрузка
Далее нам нужно узнать 📌локальный IP адрес компьютера, на котором запущен Open Server (по нему можно будет открывать сайт).
Самый простой способ узнать его — 📌открыть настройки роутера и посмотреть список подключенных устройств (впрочем, есть и др. способы). В моем случае напротив имени ПК «alex-pc» значится адрес 192.168.1.2 (он и нужен!). 👇👇

Настройки роутера — узнаем свой локальный IP
Затем в настройках Open Server в разделе «Алиасы» нужно добавить:
- в строку свой локальный IP (192.168.1.2 в моем случае);
- в строку адрес/домен своего сайта (testforme.site в моем случае). 👇

Алиасы — привязываем IP к домену
👉 По IP 192.168.1.2 — сайт теперь будет доступен со всех ПК/ноутбуков/телефонов в локальной сети (т.е. тех, которые подключены к Wi-Fi сети вашего роутера, например).
👉👉По доменному имени — сайт будет доступен только с того компьютера, на котором запущен Open Server. Чтобы сайт был доступен по доменному имени на другом ПК/ноутбуке в локальной сети — нужно на нем открыть блокнот и изменить 📌системный файл hosts (добавить в него строку вида: ).

Пример. Из файла hosts
Как это выглядит на примере приведено ниже 👇 (обратите внимание на адресную строку браузера — т.е. сайт доступен одновременно и по IP, и по домену).

Теперь сайт доступен в локальной сети, достаточно указать его IP в адресной строке браузера
Как открыть доступ к сайту из сети Интернет по IP и по доменному имени
В любом случае — попробовать нижеописанное труда не составит (даже, если вы ничего не поняли из вышесказанного и не знаете какой у вас IP)! 🙂
Сначала нужно узнать свой 📌внешний IP адрес. Для этого достаточно, как уже говорил выше, открыть 📌настройки роутера и посмотреть вкладку «Состояние / инф. о подключении» (в моем примере внешний IP: 92.252.216.210). Запоминаем его!
Далее нам нужно в настройках роутера пробросить порты 80 и 443 на тот ПК, на котором расположен сайт (эти порты по умолчанию используются для подкл. к сайту по http\https). Более простой вариант — ничего вручную не пробрасывать, а просто включить DMZ-хост для вашего ПК (т.е. DMZ для вашего локального IP). Ссылка ниже в помощь! 👇
📌
Как пробросить порты на роутере: перенаправление. Вкл. DMZ-хост — https://ocomp.info/kak-probrosit-portyi-na-routere.html

Затем в настройках Open Server необходимо открыть вкладку и связать там свой внешний IP с доменным именем. См. скрин ниже. 👇

Добавляем внешний IP в алиасы — Open Server
Попробуйте после этого набрать свой внешний IP в адресной строке браузера (с любого ПК/телефона/ноутбука, подкл. к Интернет). Должен открыться ваш сайт! 👇
Половина задачи выполнена!?🙂

Сайт открывается по IP
Если вы хотите, чтобы сайт был доступен по сети Интернет с любого устройства по доменному имени — понадобиться его зарегистрировать. Сделать это можно у спец. 📌регистраторов, например, 📌Бегет / 📌Рег-ру (и при усл., что ваше желаемое имя никем не занято!).
После регистрации доменного имени (покажу на примере Бегет и Рег-ру) — необходимо открыть управление DNS записями и создать запись вида (разумеется, указать нужно свой внешний IP!). Т.е. мы этой операцией «говорим» какой IP открывать при обращении к домену!

Меняем A-запись в настройках DNS (у регистратора доменов или у DNS-хостинга)
Кстати, у Рег-ру нужно выбрать беспл. DNS серверы (их), а затем появится возможность добавить A-запись.

Затем останется подождать 15-60 мин. (обычно). Сначала при попытке открыть «наш» сайт по доменному имени будет появл. заглушка регистратора, но когда записи обновятся — предстанет сайт!

Через 15 мин. сайт стал открываться по указанному IP — всё работает!
Установка движка (например, WordPress) в Open Server

3) После нужно создать базу данных, я для примера ввел «test1» и нажал кнопку . См. ниже. 👇

Создать базу данных (пользователь root, пароля нет)
4) Затем в папке (она в каталоге с файлами Open Server) нужно создать папку с доменным именем вашего сайта и извлечь в нее архив с файлами движка WordPress (в моем случае путь получился таким: ).
У WordPress за подключение к БД отвечает файл — переименовываем его в и открываем для редактирования!

Распаковываем файлы WordPress в папку-домен нашего сайта

Как выглядит открытый wp-config.php в блокноте — редактируем файл

7) Сайт заработал на WordPress! Панелька появилась сверху — вы можете открыть ее для смены темы, добавления новостей и заметок, и пр.

На ПК работает!

В общем-то, рассмотренный вариант в заметке позволяет относительно просто и быстро развернуть свой сайт и дать доступ к нему пользователям из лок. сети и Интернет.
Однако, есть свои минусы, которые могут любое удобство и экономию превратить в прямо-противоположное:
- , нужен статический «белый» IP адрес (как правило, это отдельная услуга у вашего Интернет-провайдера. Иногда цена на него стоит дороже, чем 📌арендовать платный хостинг/сервер);
- , ПК с веб-сервером и сайтом должен работать 24 часа в сутки (либо посетители должны знать, когда на него заходить 🙂);
- , желательно подкл. 📌к двум Интернет-провайдерам, чтобы обеспечить бесперебойный доступ;
- , сайт желательно разместить на SSD накопителе (так он будет открываться быстрее);
- , если у вас будет много посетителей, или сайт будет предлагать какую-то ресурсоемкую услугу — то ваш ЦП может начать «испытывать» высокую нагрузку. За ПК работать может стать не комфортно…
- , вам нужно на регулярной основе следить за всем этим «добром»: чтобы Интернет работал, IP не менялись, ПК не перегревался (и работал 24 часа в сутки) и пр.
📌 Взвесив все «За» и «Против» получается, что заниматься этим для экономии средств — практически бессмысленно (по крайней мере, во многих случаях).
Другое дело, если вам требуется сделать небольшой форум в лок. сети для друзей, или вы проводите испытания своего сайта перед «большим заплывом» — то почему нет?! 🙂
За сим откланяюсь, успехов!


Оглавление
1. Веб-сервер на компьютере
2. Из чего состоит веб-сервер
4. Установка веб-сервера в Windows
5. Установка Apache 2.4 в Windows
6. Установка MariaDB в Windows
7. Установка PHP в Windows
9. Как обезопасить веб-сервер на Windows
Веб-сервер на компьютере
Веб-сервер на своём компьютере это очень удобный способ работы с веб-приложениями в любых целях:
- тестирование новых CMS и других программ
- написание и отладка PHP скриптов
- организация своего собственного рабочего окружения (разные полезные программы запущенные на веб-сервере — органайзеры, агрегаторы)
- организация ресурсов локальной сети (файловые обменники, чаты, потоковое видео и другие сервисы для всех устройств в квартире)
- создание лаборатории (обучение тестированию на проникновение со специальными уязвимыми веб-приложениями)
Из чего состоит веб-сервер
В большинстве случаев сервер включает в себя четыре основные компонента:
- Apache — это сам веб-сервер, который обрабатывает пришедшие от пользователей запросы и показывает страницы сайтов. Без дополнительных модулей Apache преимущественно предназначен для показа статичных страниц, в которых не происходит изменений на стороне сервера
- PHP — это среда для работы PHP скриптов. PHP скрипты позволяют делать очень функциональные веб-сайты, динамичные веб-приложения, сохранять данные в базу данных и запрашивать данные оттуда
- MariaDB — это система управления базами данных. Чтобы было проще понять — это и есть база данных, в которой хранится вся информация. До недавнего времени самой, пожалуй, популярной СУБД была MySQL. Что касается MariaDB, то она основана на MySQL, но с некоторыми доработками. Если вам интересно, в чём отличие, то смотрите подробности здесь. Если для приложения в требованиях стоит MySQL, то MariaDB также подойдёт, так как они совместимы друг с другом
- phpMyAdmin — это пример веб-приложения, которое работает на PHP. С помощью phpMyAdmin можно просматривать базы данных, создавать новые базы данных и таблицы, наполнять их и удалять, делать резервные копии баз данных и восстанавливать из бэкапов. phpMyAdmin очень популярно, поэтому многие считают его частью веб-сервера
Установку сервера я покажу на примере Windows 10.
Скачать веб-сервер под Windows
Установите скаченный vc_redist — к нему больше не будет возвращаться.

Для скачивания MariaDB под Windows перейдите на страницу downloads.mariadb.org. Там нажмите на зелёную кнопку последнего выпуска. На открывшейся странице найдите файл, имеющий вид mariadb-xx.x.xx-winx64.zip или mariadb-xx.x.xx-win32.zip — они также различаются битностью. При клике на файл, откроется другая страница, там просто найдите и нажмите кнопку с надписью «No thanks, just take me to the download».
Установка веб-сервера в Windows
Создадим структуру каталогов нашего сервера. Главная идея – разделить исполнимые файлы от файлов данных. Это удобно для обслуживания сервера, в том числе для резервного копирования.
В корне диска C:\ создайте каталог Server. В этом каталоге создайте два подкаталога: bin (для исполнимых файлов) и data.
Перейдите в каталог C:\Server\data\ и там создайте подпапки DB (для баз данных) и htdocs (для сайтов).
В папке C:\Server\data\DB\ создайте подпапку data.
Карта важных папок, которые упоминаются в данной инструкции:
C:. ├───bin │ ├───-Apache24 │ │ └───conf │ ├───-mariadb │ ├───-PHP │ └───-Sendmail ├───certs ├───data │ ├───DB │ │ └───data │ └───htdocs │ └───-phpmyadmin └───manage
Установка Apache 2. 4 в Windows
Из архива со скаченным веб-сервером httpd-x.x.xx-win64-VC15.zip распакуйте папку Apache24 в C:\Server\bin\.
Для установки правильной корневой папки сервера строку
Define SRVROOT "c:/Apache24"
Define SRVROOT "c:/Server/bin/Apache24"
Пролистываем до списка модулей — это список всех доступных расширений (плагинов) сервера. Те, которые закомментированы — отключены. Для их включения уберите знак # в начале строки.
Для начала рекомендую включить только mod_rewrite (по ссылке целый учебник по этому расширению!), для этого строку
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule rewrite_module modules/mod_rewrite.so
#ServerName www.example.com:80
и поменяйте на
ServerName localhost
Этой директивой устанавливается имя сервера, которое ни на что не влияет. Но если не прописать это имя, то будет выводиться предупреждение (что имени нет) — некоторых пользователей это путает, так как они принимают это сообщение за ошибку.
Найдите идущие подряд строки
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">и замените их на
DocumentRoot "c:/Server/data/htdocs/" <Directory "c:/Server/data/htdocs/">
Если коротко, то DocumentRoot — это основная директория, в которой будет размещены файлы всех виртуальных хостов и сайтом. А Directory в данном случае устанавливает настройки основного хоста (при необходимости можно создать несколько виртуальных хостов с разными настройками).
# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride None
И замените на (меняется только последняя строка):
# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All
Этой настройкой мы включили поддержку файла .htaccess. Он нужен для работы mod_rewrite и других возможностей. С помощью файла .htaccess можно запрещать доступ к конкретной папке и менять некоторые настройки сервера на уровне папок.
DirectoryIndex index.html
и поменяйте на
DirectoryIndex index.php index.html index.htm
Последней настройкой мы добавили варианты индексных файлов. Индексный файл — этот тот файл, который показывается, когда запрос делается без указания файла. Например, если вы открываете адрес https://hackware.ru/, то не указываете, какой именно файл вы хотите увидеть. Поэтому сервер показывает вам индексный файл. Если указать конкретный файл, например, https://hackware.ru/names.txt, то будет показан именно он (если он существует). В дополнении к имеющемуся индексному файлу index.html, мы добавили ещё два: index.php (обычно веб-приложения на PHP используют этот файл) и index.htm (тоже популярный вариант).
Сохраните файл конфигурации.
Теперь откройте командную строку Windows, для этого нажмите клавиши Win+x и выберите там Windows PowerShell (администратор):

В открывшееся окно скопируйте команды для установки и запуска Apache (после введения каждой команды нажмите ENTER):
c:\Server\bin\Apache24\bin\httpd.exe -k install c:\Server\bin\Apache24\bin\httpd.exe -k start

Откройте в веб-браузере адрес http://localhost/.

Веб-сервер работает, но в папке с документами нет ни одного файла.
Добавьте в папку C:\Server\data\htdocs\ HTML файлы, например файл hello.htm со следующим содержимым:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Мой первый файл на моём веб-сервере</title> </head> <body> <p>Ура, веб сервер работает! Пришло время изучать HTML!</p> </body> </html>

Вновь откройте http://localhost/ и вы увидите ваш файл:

Думаю, принцип работы понятен — в папке C:\Server\data\htdocs\ размещайте ваши HTML файлы и сайты. В C:\Server\data\htdocs\ вы можете делать подпапки любого уровня вложенности, они будут доступны по адресам вида http://localhost/подпапка.

Установка MariaDB в Windows
Далее мы настроим и запустим MariaDB. Начните с того, что содержимое архива mariadb-xx.x.x-winx64.zip распакуйте в папку C:\Server\bin\. Новую папку переименуйте в mariadb. Получится, что MariaDB размещена на диске в папке C:\Server\bin\mariadb\.
В папке C:\Server\bin\mariadb\ создайте файл my.cnf и скопируйте в него:
[mysqld] datadir="c:/Server/data/DB/data/" bind-address = 127.0.0.1
Сохраните и закройте этот файл.
Для установки и запуска службы выполните команды:
C:\Server\bin\mariadb\bin\mysql_install_db.exe --datadir=C:\Server\data\DB\data\ C:\Server\bin\mariadb\bin\mysqld --install net start mysql
Установка PHP в Windows
Для установки и подключения PHP к Apache в Windows, в папке c:\Server\bin\ создайте подпапку PHP и скопируйте в неё содержимое архива php-x.x.xx-Win32-VC15-x64.zip.
В каталоге C:\Server\bin\PHP\ найдите файл php.ini-development и переименуйте его в php.ini, затем откройте его текстовым редактором.
В этом файле найдите строку
;extension_dir = "ext"
и замените её на:
extension_dir = "C:\Server\bin\PHP\ext\"
Теперь найдите строки, которые начинаются на ;extension=:
;extension=bz2 ;extension=curl ;extension=fileinfo ;extension=gd2 ;extension=gettext ;extension=gmp ;extension=intl ;extension=imap ;extension=interbase ;extension=ldap ;extension=mbstring ;extension=exif ; Must be after mbstring as it depends on it ;extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client ;extension=odbc ;extension=openssl ;extension=pdo_firebird ;extension=pdo_mysql ;extension=pdo_oci ;extension=pdo_odbc ;extension=pdo_pgsql ;extension=pdo_sqlite ;extension=pgsql ;extension=shmop
Раскомментируйте нужные вам расширения. Рекомендую активировать расширения, которые почти наверняка понадобятся (просто замените предыдущие строки в конфигурационном файле на следующие):
extension=bz2 ;extension=curl extension=fileinfo extension=gd2 extension=gettext extension=gmp ;extension=intl ;extension=imap ;extension=interbase ;extension=ldap extension=mbstring extension=exif ; Must be after mbstring as it depends on it extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client extension=odbc extension=openssl ;extension=pdo_firebird extension=pdo_mysql ;extension=pdo_oci ;extension=pdo_odbc ;extension=pdo_pgsql extension=pdo_sqlite ;extension=pgsql ;extension=shmop
Также раскомментируйте строки (кроме одной):
;extension=soap ;extension=sockets ;extension=sodium ;extension=sqlite3 ;extension=tidy ;extension=xmlrpc ;extension=xsl
extension=soap extension=sockets ;extension=sodium extension=sqlite3 extension=tidy extension=xmlrpc extension=xsl
Сохраните и закройте этот файл.
Теперь нам нужно подключить PHP к Apache. Для этого в файле c:\Server\bin\Apache24\conf\httpd.conf в самый конец добавьте строчки:
PHPIniDir "C:/Server/bin/PHP" AddHandler application/x-httpd-php .php LoadModule php7_module "C:/Server/bin/PHP/php7apache2_4.dll"
Сохраните и закройте файл.
После этого в командной строке перезапустите Apache:
c:\Server\bin\Apache24\bin\httpd.exe -k restart
Для проверки, что PHP работает в Windows, в каталоге c:\Server\data\htdocs\ создадим файл с названием i.php
В этот файл скопируйте:
<?php phpinfo ();
В браузере откройте ссылку http://localhost/i.php. Если вы увидите похожую страницу, это значит, что PHP правильно настроен и успешно работает с Apache в Windows:

Установка phpMyAdmin в Windows
В этой папке создайте текстовым редактором файл config.inc.php и скопируйте в этот файл:
<?php
/* Servers configuration */
$i = 0;
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['nopassword'] = true;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
/* End of servers configuration */
$cfg['blowfish_secret'] = 'kjLGJ8g;Hj3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V';
$cfg['DefaultLang'] = 'ru';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';Сохраните и закройте этот файл.
Внизу показано сообщение:
Хранилище конфигурации phpMyAdmin не полностью настроено, некоторые расширенные функции были отключены. Узнайте причину. Или перейдите на вкладку 'Операции' любой базы данных, чтобы настроить хранилище в ней.


Там будет написано:
Конфигурация pmadb… Не готово Основные возможности связей Недоступно Создать базу данных с именем 'phpmyadmin' и настроить там хранение конфигурации phpMyAdmin.

