Top.Mail.Ru
КОНФИГУРАТОР Серверы ▶
Сетевое оборудование ▶
СХД ▶
IP-телефоны IP-камеры Источники бесперебойного питания (ИБП) Комплектующие Готовые решения Серверы под задачу
О компании Купить в лизинг Блог Отзывы Доставка Гарантия Контакты Работа у нас Реквизиты Спецпредложения Игровые ПК на ISKRAPC Заявка в тех поддержку
Эксперты в подборе IT-оборудования

Как создать локальный сервер

28 октября 2026

Локальный сервер - это веб-сервер, который работает на вашем собственном компьютере и отдаёт сайт по адресу localhost, без хостинга и без интернета. На нём проверяют сайт перед публикацией и спокойно отлаживают код. Создать его в 2026 году можно тремя путями: поставить готовую сборку вроде Open Server Panel или XAMPP, собрать окружение в Docker или, если нужен только просмотр HTML-страниц, запустить встроенный сервер Python или PHP одной командой.

Чем поднятьОСЧто внутриКогда братьОграничения
Open Server Panel 6Windows 10 и новее, 64 битана выбор версии PHP, Apache, Nginx, MySQL, MariaDB, PostgreSQL, Redis, MongoDBсайты на PHP под Windows, нужно несколько версий PHPтолько Windows; минимум 4 ГБ памяти и 15 ГБ на SSD
XAMPPWindows, Linux, macOSApache, MariaDB, PHP 8.2, phpMyAdminбыстрый старт, учебный проектпоследняя сборка вышла в ноябре 2023 года, версии компонентов старые
LaragonWindowsApache или Nginx, MySQL, PHP, Node.jsразработчикам на Laravelс версии 7 для коммерческого использования нужна платная лицензия
Docker (Compose)Windows, Linux, macOSлюбые сервисы из образов, как на продакшенекомандная разработка, одинаковое окружение у всехпорог входа выше; Docker Desktop платный для компаний от 250 человек или с выручкой от $10 млн, Docker Engine на Linux бесплатен
Встроенный сервер языкалюбаяpython -m http.server, php -Sпоказать статичную страницу, быстро проверить скриптне для постоянной работы и не для продакшена

Зачем нужен локальный сервер

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

Под локальным сервером иногда понимают и другое - компьютер в офисной сети, на котором лежат общие папки или база 1С. Это отдельная задача, о ней ниже, в разделе про сервер из компьютера. Если нужен разбор самого понятия, он есть в статье что такое локальный сервер.

Задачи локального сервера

Чаще всего локальный сервер нужен разработчику на время. Собрать новую версию сайта, проверить, не сломает ли обновление CMS какой-нибудь плагин, прогнать миграцию базы. Когда всё работает, изменения переносят на хостинг или рабочий сервер.

Реже его держат постоянно. Например, как внутренний сайт или справочник для сотрудников, доступный только из офисной сети. Тут на первый план выходят надёжность и доступ с других компьютеров.

Установка

Сначала определитесь с инструментом. Пишете на PHP под Windows и не хотите разбираться с контейнерами - берите Open Server Panel. Нужно, чтобы окружение у всех в команде и на продакшене совпадало до версии, - Docker. XAMPP подойдёт для учебного проекта, но версии в нём застыли на 2023 годе.

Open Server Panel 6

Шестая версия панели в 2024 году была переписана с нуля и устроена иначе, чем привычная многим пятая. Порядок такой:

  1. Скачайте установщик с сайта ospanel.io и установите панель на диск с файловой системой NTFS. Сетевые диски не поддерживаются.
  2. Создайте папку проекта в каталоге home, например home\example.local. Внутри - папку .osp для настроек и папку public для файлов сайта.
  3. Перезапустите панель. Она найдёт проект сама и создаст в .osp файл project.ini с базовыми настройками.
  4. В меню панели выберите для проекта версию PHP и веб-сервер, затем включите модули проекта. По умолчанию все модули выключены, и сайт не откроется, пока вы их не запустите.
  5. Откройте в браузере http://example.local.

XAMPP

Установите XAMPP в C:\xampp, откройте XAMPP Control Panel и нажмите Start напротив Apache и MySQL. Файлы сайта кладут в C:\xampp\htdocs, сайт открывается по адресу http://localhost, а база - через phpMyAdmin по адресу http://localhost/phpmyadmin. Учтите, что в последней сборке MariaDB 10.4, поддержка которой закончилась в 2024 году, и PHP не новее 8.2.

Docker Compose

Docker поднимает каждый компонент в отдельном контейнере, а описание всего окружения помещается в один файл. Ниже минимальная связка Nginx + PHP + MySQL. В папке проекта создайте три файла и папку site с файлами сайта.

Файл docker-compose.yml:

services:

  web:

    image: nginx:1.27

    ports:

      - "8080:80"

    volumes:

      - ./site:/var/www/html

      - ./nginx.conf:/etc/nginx/conf.d/default.conf

    depends_on:

      - php

  php:

    build: .

    volumes:

      - ./site:/var/www/html

  db:

    image: mysql:8.4

    environment:

      MYSQL_ROOT_PASSWORD: secret

      MYSQL_DATABASE: app

    volumes:

      - db_data:/var/lib/mysql

volumes:

  db_data:

Файл Dockerfile (в официальном образе PHP нет расширений для MySQL, их надо доустановить):

FROM php:8.3-fpm

RUN docker-php-ext-install pdo_mysql mysqli

Файл nginx.conf:

server {

  listen 80;

  root /var/www/html;

  index index.php index.html;

  location ~ \.php$ {

    fastcgi_pass php:9000;

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    include fastcgi_params;

  }

}

Запуск - командой docker compose up -d в папке проекта, сайт откроется по адресу http://localhost:8080. Из PHP к базе подключаются по имени сервиса db, а не по localhost. Порт 8080 выбран специально: он реже занят, чем 80.

В мае 2024 года Docker Hub на время закрывал доступ с российских IP-адресов. Если образы не скачиваются, пропишите в настройках Docker зеркало реестра - их держат российские облачные провайдеры и платформы для разработчиков.

Первичное тестирование

Положите в корень сайта файл index.php с одной строкой и откройте сайт в браузере. Появилась таблица с версией PHP и списком расширений - сервер работает и выполняет код. Страница с исходным текстом вместо таблицы означает, что веб-сервер не передаёт файлы PHP интерпретатору.

После проверки файл удалите: phpinfo() показывает пути, версии и настройки, и на сервере, доступном из сети, это лишняя подсказка взломщику.

Если сайт не открывается, причина почти всегда одна из этих:

СимптомПричинаЧто сделать
Apache или Nginx не стартует, ошибка про порт 80порт занят другой программой: IIS, другой службой Windows или Skype старых версийвыполните netstat -ano | findstr :80, найдите программу по номеру процесса или переведите сервер на порт 8080
Браузер показывает «Не удаётся получить доступ к сайту» по имени site.localдомен не прописан в файле hostsпроверьте C:\Windows\System32\drivers\etc\hosts или откройте сайт по localhost
MySQL не запускаетсяна компьютере уже работает другая MySQL или MariaDB на порту 3306остановите лишнюю службу или смените порт
Docker: ошибка при скачивании образанет доступа к Docker Hubнастройте зеркало реестра

Установка Nginx

Nginx ставят локально по одной причине: чтобы окружение повторяло боевое. Если на хостинге или рабочем сервере сайт обслуживает Nginx, правила перенаправлений и кэширования лучше проверять на нём же. В Open Server Panel Nginx выбирается как веб-сервер проекта, в Docker это отдельный контейнер, как в примере выше.

Сам по себе Nginx PHP не выполняет. Он отдаёт статику и передаёт запросы к PHP-файлам процессу PHP-FPM. Поэтому в связке всегда два компонента.

Установка Apache

Apache удобен там, где сайт опирается на файлы .htaccess. Их понимает только Apache, и большинство CMS на виртуальном хостинге рассчитаны именно на него. В XAMPP Apache уже внутри, в Open Server Panel его выбирают так же, как Nginx. Часто их ставят вместе: Nginx принимает запросы и отдаёт картинки и стили, Apache обрабатывает PHP. Чем они отличаются и что выбрать для проекта, сравнивали в статье Apache или Nginx, а пошаговая установка Apache на Linux и Windows разобрана отдельно.

Что добавить к базовому стеку

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

Memcached и Redis

Memcached и Redis - это кэш в оперативной памяти. Сайт кладёт туда результаты тяжёлых запросов к базе и сессии пользователей, и следующая страница собирается быстрее. Локально кэш ставят, если он есть на боевом сервере: иначе ошибки, связанные с кэшем, всплывут только после публикации. В Open Server Panel Redis подключается как модуль, в Docker - ещё одним сервисом в docker-compose.yml. Для PHP понадобится соответствующее расширение.

MongoDB

MongoDB - документная база данных, её берут, когда данные плохо ложатся в таблицы. В Open Server Panel она есть модулем, в Docker - официальный образ mongo. Чтобы PHP-код мог работать с MongoDB, нужно расширение mongodb для PHP (его и называют PHP-драйвером). Смотреть и править данные удобно в бесплатной программе MongoDB Compass от разработчиков базы.

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

Денвер много лет был стандартным локальным сервером под Windows, и инструкции по нему до сих пор находятся в поиске. Проект давно не развивается: в нём старые 32-битные сборки, Perl-скрипты управления и PHP 5-й версии, поддержка которой закончилась ещё в 2010-х. Актуальные версии CMS на таком PHP не запускаются, а обновить компоненты внутри Денвера руками - отдельный квест без гарантии результата.

Если у вас старый проект на Денвере, перенесите файлы сайта и дамп базы в Open Server Panel или XAMPP и проверьте сайт на актуальной версии PHP. Ошибки, которые всплывут, всё равно пришлось бы исправлять при переезде на любой хостинг с актуальным PHP.

Статический локальный HTTP-сервер

Для сайта из HTML, CSS и JavaScript без серверного кода сборка не нужна. Достаточно встроенного сервера, который есть в Python и PHP. Перейдите в папку сайта и выполните одну из команд:

python -m http.server 8000

php -S localhost:8000

Сайт откроется по адресу http://localhost:8000. Зачем вообще сервер, если HTML открывается и так? Браузер по-разному относится к файлам, открытым с диска и полученным по HTTP: часть скриптов, загрузка данных через fetch и модули JavaScript без сервера не работают.

Тестовый сервер для серверных языков

Для PHP, Python, Node.js и других языков, где страницы собирает код, сервер должен этот код выполнять. С PHP это делают сборки и Docker из раздела про установку. У Python и Node.js встроенные средства для разработки есть в самих фреймворках: в Django - команда python manage.py runserver, во Flask - flask run. Python, вопреки распространённому мнению, давно и широко используют для динамических сайтов.

Встроенные серверы и php -S рассчитаны только на разработку. Нагрузку и одновременные подключения они держат плохо, поэтому сайт для людей так не публикуют.

Как сделать сервер из компьютера

Если под локальным сервером вы понимаете компьютер, к которому будут подключаться коллеги, - для общих папок, внутреннего сайта или базы, - обычный ПК справится, но с оговорками.

Для тестового стенда, домашней лаборатории или общей папки на двух-трёх человек старого компьютера хватит. Проблемы начинаются, когда от него начинает зависеть работа офиса. В десктопной Windows 10 и 11 к общим ресурсам одновременно могут подключиться не больше 20 устройств, а поддержка Windows 10 закончилась в октябре 2025 года. В типичном офисном ПК нет памяти с коррекцией ошибок, дисков с горячей заменой, второго блока питания и удалённого управления на уровне железа: если компьютер завис ночью, перезагружать его придётся руками. Как собрать такую машину своими силами и на что смотреть в железе, разобрали в статье про домашний сервер.

Когда сервер нужен на годы и работает круглосуточно, проще сразу взять сервер башенного типа. Внешне он похож на системный блок, стоит под столом без серверной стойки, но внутри у него всё перечисленное выше.

Как открыть локальный сервер для других компьютеров

По умолчанию локальный сервер доступен только с того компьютера, где он запущен. Чтобы сайт открывался у коллег в той же сети, серверу разрешают принимать подключения не только с localhost, открывают порт в брандмауэре Windows, а на других компьютерах заходят по IP-адресу сервера или прописывают домен в их файл hosts. Подробно, с разбором типовых ошибок подключения, это описано в статье про то, как зайти на локальный сервер.

Открывать локальный сервер в интернет пробросом портов на роутере не стоит: сборки для разработки не настроены для работы снаружи. Если сайт должен быть доступен из интернета, ему нужен нормальный хостинг или выделенный сервер. Пошаговый разбор, как создать свой сервер для сайта - от установки до публикации в интернет, - в отдельной инструкции.

Частые вопросы

Какой локальный сервер лучше для Windows?

Для сайтов на PHP - Open Server Panel 6: актуальные версии PHP и баз данных, несколько проектов с разными настройками. Если в команде несколько разработчиков на разных системах, удобнее Docker.

Можно ли создать локальный сервер без установки программ?

Для статичного сайта - да, если на компьютере уже есть Python или PHP: хватит команды python -m http.server. Для сайта на CMS понадобится сборка или Docker.

Почему сайт на локальном сервере работает, а на хостинге нет?

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

Безопасно ли открыть локальный сервер в интернет?

Нет. Сборки для разработки работают с упрощёнными настройками, часто с пустым паролем администратора базы. Для публикации нужен отдельно настроенный сервер или хостинг.

Сайт вырос из локального сервера, а компьютер под столом уже работает на весь офис?

Подберём сервер под ваши задачи: внутренний сайт, общие папки, базу 1С или тестовый стенд для разработчиков. Соберём конфигурацию и протестируем её перед отгрузкой. Посмотрите, сколько стоит сервер для офиса, или напишите нам: +7 (800) 551-80-12, info@ittelo.ru. Серверами мы занимаемся больше 11 лет и за это время накопили серьёзную экспертизу. Даём гарантию до 5 лет, берём сервер на постпродажное обслуживание и не пропадаем после отгрузки.

ПОДПИСКА

НА РАССЫЛКУ
ПОЛЕЗНЫЕ СТАТЬИ, АКЦИИ
И ЗАКРЫТЫЕ РАСПРОДАЖИ
Котик подписка
Похожие статьи
Вам также может быть интересно

ТОП-5 ошибок при выборе сервера
Товар добавлен в список сравнения
Перейти в сравнение
Продолжить просмотр
Заявка в тех поддержку
Загрузка формы…
Не удалось загрузить форму. Обновите страницу или свяжитесь с нами по телефону.
Консультация
ИТ-специалиста
Оставьте контакты — свяжемся с вами в течение нескольких минут и подготовим коммерческое предложение
IT-архитектор подберет сервер под вашу задачу
Заполните форму — наш специалист свяжется с вами в течение 15 минут, уточнит задачу и подготовит коммерческое предложение
Заказать сервер
Отправим конфигурацию вам на почту. Менеджер перезвонит в течение 15 минут
Зарегистрироваться в бонусной программе
Консультация
ИТ-специалиста
Оставьте контакты — свяжемся с вами в течение нескольких минут и подготовим коммерческое предложение