Как сделать локальный веб сервер
8 лучших локальных серверов
Локальные серверы позволяют запускать свой сайт без использования хостинга, прямо на домашнем компьютере. Это может пригодиться для детального тестирования, а также в процессе разработки. Ничего не помешает накатить туда CMS и взаимодействовать с базами данных. Вся сложность заключается в выборе самой программы, которая и выполняет роль локального сервера. Подходящих вариантов существует огромное количество, и каждый из них обладает своими особенностями, так что сказать, какой локальный сервер лучше других, достаточно сложно.
Давайте детально разберемся в этом вопросе, рассмотрев несколько самых популярных представителей. Итак, топ лучших локальных серверов.
OpenServer
Начать стоит с программы под названием OpenServer. При ознакомлении сразу же бросается в глаза дружелюбный продуманный интерфейс, который и является одним из главных плюсов этого решения. Среди других преимуществ можно отметить простую установку, удобное управление с добавленными сайтами и отсутствие необходимости долгой настройки, чтобы все работало как надо. OpenServer отлично помещается на обычную флешку и не состоит из множества компонентов, поэтому прекрасно подходит для портативной работы.
Если минусы в OpenServer и есть, то они связаны только с небольшими проблемами во время функционирования сайтов, но решаются за несколько секунд банальным перезапуском программы. В остальном же это один из лучших вариантов для тех, кто давно хотел развернуть локальный сервер на своем компьютере или всегда иметь его под рукой, записав на флешку.
Распространяется OpenServer бесплатно, а разработчики предлагают лишь добровольно поддержать проект. Перейти к скачиванию этой программы для Windows можно на официальном сайте.
Denwer
Denwer – один из самых популярных в свое время локальных серверов, считавшийся монополистом на отечественном рынке, поскольку ни одно из существующих на тот момент решений не смогло составить ему конкуренцию. Этот веб-сервер прост в установке и практически не занимает места на компьютере. С управлением программой разберется даже начинающий пользователь.
WampServer
Следующий доступный веб-сервер называется WampServer. Он тоже популярен в определенных кругах пользователей. Его преимущество заключается в простоте установки и нетребовательности к системе, что позволяет нормально взаимодействовать с программой на любом компьютере. Присутствует поддержка всех необходимых компонентов, поэтому с настройкой и запуском локального сервера проблем не возникнет.
Однако есть у WampServer и ряд недостатков, которые в большинстве своем связаны с настройкой. Для этого придется редактировать локальные файлы, а также заморочиться с правильным конфигурированием MySQL. Распространяется этот инструмент бесплатно.
XAMPP
XAMPP – полноценный комплект всего программного обеспечения, которое необходимо для развертывания локального сервера на домашнем компьютере. Плюсами этого инструмента можно считать бесплатное распространение и поддержку абсолютно всех пакетов, включая PHP, MariaDB и Perl.
Из минусов можно отметить только медленную работу в сравнении с аналогами, однако при правильной настройке эта проблема ликвидируется. Для начала использования XAMPP нужно перейти на официальный сайт и скачать исполняемый файл.
AMPPS
AMPPS будет сложнее использовать как полноценный веб-сервер из-за тонкостей в настройке, однако здесь есть перечень всех требуемых приложений, позволяющих разрабатывать на PHP, подключая при этом MySQL.
The Uniform Server
Одна из самых легких версий локального сервера, предназначенная для компьютеров под управлением Windows. Это ее главное преимущество, ведь пользователю не придется скачивать огромное количество файлов, которые занимают дисковое пространство.
К недостаткам The Uniform Server относится то, что с самой программой придется взаимодействовать практически всегда через консоль, а в графическом интерфейсе выполняется всего несколько действий.
Если вы решили попробовать это решение, загрузите его с официального сайта и начните бесплатное использование.
Devilbox
Devilbox тоже подходит для локальной разработки, ведь он поддерживает полное взаимодействие с LAMP, разработчики не ставят ограничений по одновременно запущенным проектам, а настройка док-стека происходит при помощи PHP.
Winginx
Если вы давно искали веб-сервер, который функционировал бы в среде NGINX, но не могли найти подходящий вариант, обратите внимание на Winginx. Это комплексный инструмент, поддерживающий разные языки программирования и несколько систем управления базами данных.
Из недостатков стоит выделить необходимость ручной сборки, а также ограниченную гибкость в сравнении с конкурентами, функционирующими на Apache. Winginx доступен на сайте разработчика.
Это далеко не все популярные локальные серверы, но именно эти, я считаю, заслуживают большего внимания. К тому же все они распространяются бесплатно. Какой из этих локальных серверов лучше, решать вам.
Домашний веб-сервер, или сам себе хостинг-провайдер
Для того, чтобы сделать свой веб-сервер дома, нам понадобится компьютер и постоянный доступ в интернет с внешним IP-адресом, как это проверить описано дальше.
Делать сервер буду из старого нетбука Samsung N102SP со сломанной клавиатурой, для небольших нагрузок его вполне достаточно, к тому же он маленький и совсем не шумит. Интернет дома у меня раздаётся wifi роутером tp-link TL-WR840N, через него и буду подключать свой сервер.
Ставить буду Centos 7, качаем отсюда минимальный образ (Minimal ISO), образ записываю на флешку с помощью программы Rufus. Теперь надо загрузить нетбук с флешки, и тут возникает первая проблема, так как клавиатура не работает, не могу войти в биос, внешнюю usb клавиатуру он не видит, сброс биоса решает проблему (в нетбуке Samsung N102SP биос сбрасывается замыканием контактов rtc reset под крышкой memory, замыкать надо на 30 секунд), выбираем в биосе приотритетную загрузку с флешки и начинаем установку, даже при минимальной версии Centos 7 устанавливается в графическом режиме. Никаких сложностей с установкой возникнуть не должно, удаляем все старые разделы на диске и отдаём все под Centos, устанавливаем пароль root и прописываем настройки сети, в моем случае подключаемся к домашней сети wifi (это можно сделать и потом с помощью команды nmtui), несколько минут и Centos 7 установлен.
Заходим под root. Останавливем firewall командой «systemctl stop firewalld», отключаем firewall из автозагрузки командой «systemctl disable firewalld». Пока он нам не нужен, настроим firewall позже. Еще надо обязательно отключить спящий режим при закрытии крышки нетбука, для этого надо в файле /etc/systemd/logind.conf заменить строку «#HandleLidSwitch=suspend» на строку «HandleLidSwitch=ignore», затем перезапустить командой «systemctl restart systemd-logind».
Теперь можно мой нетбук поставить в удаленный угол и забыть про его физическое существование, все дальнейшие действия со своим домашним веб-сервером можно произвоить через ssh.
Теперь нужно настроить wifi роутер, в случае с tplink открываем tplinkwifi.net логин и пароль по умолчанию admin, в разделе «Состояние» смотрим состояние WAN, IP адрес должен быть статическим и не должен начинаться с 192.168.х.х, 172.х.х.х, 10.х.х.х, в противном случае свяжитесь с провайдером и попросите предоставить внешний IP, скорее всего это можно сделать и через личный кабинет, мой провайдер предоставил мне IP за 90 рублей в месяц. Все новые настройки нужно прописать в разделе «Сеть/WAN». Теперь нужно зарезервировать внутренний IP адрес на роутере для нашего сервера, заходим в раздел «DHCP/Список клиентов DHCP» и находим там наш сервер (чтобы узнать IP на сервере наберите команду ifconfig), после копируем MAC-адрес и переходим в раздел «DHCP/Резервирование адресов» и добавляем там MAC-адрес нашего сервера и его IP. Всё, теперь роутер всегда будет выделять для нашего сервера этот IP. Теперь надо пробросить порты, чтобы при обращении из интернета роутер отправлял запросы на домашний веб-сервер, заходим в раздел «Переадресация/Виртуальный сервер» и добавляем 80 порт. Также добавляем 22 порт, чтобы можно было подключаться к серверу через ssh. У меня при добавлении 80 порта возникала ошибка «Порт удалённого управления веб-интерфейсом конфликтует с портом виртуального сервера». Чтобы этого избежать предварительно изменим порт удалённого управления на 8080, для этого откроем вкладку «Защита/Удалённое управление». Теперь управление роутером доступно по адресу tplinkwifi.net:8080/
Для удалённого управления веб-сервером качает утили Putty с www.chiark.greenend.org.uk/
Теперь для полнофункционнальной работы веб-сервера установим необходимые компоненты, первым делом подключим репозиторий Epel, там есть практически всё необходимое для автоматической установки, вводим команду «yum install epel-release». Затем для отслеживания состояния сервера устанавливаем htop командой «yum install htop», для удобной работы с файлами усталавливаем midnight commander, командой «yum install mc», теперь ставим Apache, для этого вводим «yum install httpd», запускаем и ставим в автозагрузку командами «systemctl start httpd» и «systemctl enable httpd», теперь установим MariaDB командой «yum install mariadb-server», аналогично запускаем и ставим в автозагрузку «systemctl start mariadb» и «systemctl enable mariadb», производим первичные настройки при помощи команды «mysql_secure_installation», устанавливаем root пароль, удаляем анонимного пользователя и тестовую базу, затем нужно устанавить PHP с необходимыми модулями «yum install php php-mysql php-common php-mbstring php-mcrypt php-devel php-xml php-gd», перезагружаем httpd командой «systemctl restart httpd». Теперь при вводе в браузере IP адреса видим приветственную страницу Apache. Корневой каталог находится в «/var/www/html/». Вот теперь наш домашний веб-сервер доступен с любой точки планеты.
Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP
Скорее всего какие-то части этой статьи уже знакомы многим хаброжителям, но в связи с покупкой нового рабочего ноутбука я решил собрать все крупинки воедино и организовать удобное средство для разработки. Мне часто приходится работать со множеством маленьких проектов, с разными версиями PHP, часто переводить старые проекты на новые версии. В далёком прошлом, когда я был пользователем Windows то использовал OpenServer. Но с переходом на Linux мне нехватало той простоты создания хостов и переключений версий которые были в нём. Поэтому пришлось сделать еще более удобное решение на Linux =)
будет запущен тот же файл но уже с версией PHP 7.2.7
Другие версии доставляются аналогичным описанным ниже способом.
Для создания еще одного сайта просто создаем в /var/www/ папку имеющую окончание .loc, внутри которой должна быть папка public_html являющаяся корнем сайта
Вот собственно и все. Как без дополнительных мучений, перезапусков, и редактирований конфигов имеем автоматическую систему для работы с сайтами.
Всё это я проверну на LinuxMint19, он на базе Ubuntu18.04, так что с ним все будет аналогично.
Для начала поставим необходимые пакеты
Postfix ставим в качестве плюшки, как простое решение(в мастере установки, всё по умолчанию выбираем) для отправки почты с локальной машины.
Так как это локальная разработка и я единственный пользователь. То мне удобней перенести папку с проектами в мою домашнюю дерикторию. Она у меня маунтится отдельным диском и мигрирует при переустановке системы. Самый простой способ это создать ссылку, тогда не нужно менять пути в настройках да и путь привычный для всех.
Скопируем папку созданную апачем в домашний каталог, создадим на ее месте ссылку, не забыв поменять пользователя на себя и обменяться группами с апачем.
Создадим папку в которой будем собирать исходники PHP для разных версий
Также нам понадобится папки для CGI скриптов
И runtime папка для этих же скриптов, с правами
И так как каталог у нас находится в оперативной памяти, добавим его создание при старте системы, для этого добавим в /etc/tmpfiles.d/fcgid.conf
У меня dnsmasq-base идет с коробки, если нет то его всегда можно доставить.
Добавим правило в его конфигурацию. Найти файл конфигурации dnsmasq.conf можно так
Либо если он как и у меня является частью NetworkManager то создать новый файл конфигурации в /etc/NetworkManager/dnsmasq.d/local.conf
Добавим в него строчку для перенаправление нашего локального домена на локальную машину.
Также нужно включить необходимые модули апача
Предварительная подготовка завершена, приступаем к сборке различных локальных версий PHP. Для каждой версии PHP проделываем следующие 4 шага. На примере 5.6.36
1. Скачиваем исходники нужной версии и распаковываем их
2. Cобираем из исходников нужную версию PHP, и помещаем ее в /opt/php-5.6.36
3. Создаем CGI для обработки этой версии в /var/www/cgi-bin/php-5.6.36.fcgi
4. Делаем файл исполняемым
5. Добавляем экшен для обработки каждой версии в /etc/apache2/mods-available/fcgid.conf
6. Добавляем правило для обработки каждой версии в /etc/apache2/sites-available/000-default.conf
Ну вот и всё. Осталось только перезапустить apache и dnsmasq и пользоваться
Локальный сервер (WAMP) в 2020 году
WAMP объединяет программные продукты, предназначенные для разработки и тестирования локальных сайтов и приложений, то есть на компьютере с ОС Windows и без выхода в Интернет. При этом настройка и наполнение веб-ресурса осуществляется без аренды платных серверов. В данную платформу также входят открытое ПО Apache, СУБД MySQL, интерпретатор PHP для работы с языками программирования, автоматический установщик расширений.
Зачем нужен WAMP-сервер?
Программист обычно разрабатывает сайт на своем компьютере, а затем переносит его на хостинг. Но чтобы PHP-скрипты выполнялись правильно, на ПК должны быть те же программы, что и на хостинге. Устанавливать и настраивать каждую по отдельности долго и неудобно, поэтому необходима WAMP-платформа, которая уже включает требуемое для веб-разработки ПО.
Во время проверки сайта в браузере запускается специальный адрес localhost, и идет обращение к локальному серверу. Запрос обрабатывается, а результат передается обратно в браузер. Благодаря этому сайт выглядит так, будто загружен на хостинг.
WAMP позволяет в спокойном режиме сделать и протестировать сайт и неспешно выбрать хостинг-провайдера.
Обзор локальных серверов
Ниже представлен ТОП наиболее популярных в 2020 году платформ. Список ранжирован не по качеству, а в произвольном порядке.
Open Server
Open Server является полноценным профессиональным инструментом, самым востребованным среди разработчиков. Имеет простой и понятный интерфейс и навигацию, удобную управляющую программу. Отличается большим выбором подключаемых компонентов.
В полную версию включен необходимый набор программ для моментального старта: Opera, Sublime, WinSCP, Simplewall, Jcpicker, Bright Master. Сервер регулярно обновляется, что говорит о стабильности его работы.
Пользователям предлагается на выбор несколько HTTP-модулей (Apache или Nginx), различные версии модулей PHP и СУБД. К тому же между ними работает быстрое переключение.
Установка стационарная и портативная.
Недостаток один – не предусмотрено автообновление сервера.
Denwer
Это – джентльменский набор веб-разработчика, одна из самых первых на IT-рынке программ. Содержит базовые компоненты: Apache, MySQL, PHP, phpMyAdmin, но как таковая управляющая программа отсутствует. Выполняет основные простые задачи.
На официальном сайте можно скачать дополнительные модули и расширения (языки программирования Python и Parser, дистрибутив ActivePerl, СУБД PostgreSQL и FireBird, эмулятор емейл-сервера с протоколом SMTP).
Подходит для начинающих разработчиков и работает на слабых компьютерах.
Установка стационарная и портативная.
Скачать Denver можно на официальном сайте разработчика
Laragon
Laragon – молодой, но перспективный проект. Является простым и удобным, но при этом многофункциональным сервером, включает базовый набор компонентов (Apache/Nginx, MySQL, PHP, Memcached, Redis). Легко запускается, конфигурируется и работает. Главная отличительная особенность – производительность и стабильность.
Есть возможность быстро переключаться между имеющимися версиями PHP, а также добавлять другие. При создании нового проекта по умолчанию создается локальный домен. Виртуальный хостинг устанавливается автоматически за пару минут.
Подходит для начинающих разработчиков.
Установка стационарная и портативная. Представлен в версии Full и Lite (не включает Node.js 11, npm, yarn, git).
Скачать Laragon на официальном сайте разработчика »
XAMPP
Универсальный сервер, который можно использовать на Windows (но не на 2003 и XP), Mac (10.6 и выше) и Linux (многие дистрибутивы). Кроме стандартных компонентов Apache и PHP включает также СУБД MariaDB, Perl, OpenSSL, расширения и темы. Среда XAMPP очень удобна в использовании: внутри папки с рабочим окружением htdocs хранятся все локальные сайты.
При правильной настройке работает как полноценный интернет-сервер. Защита компонентов настроена, поэтому может функционировать в общественной сети.
Скачать XAMPP на официальном сайте.
WampServer
Классическая платформа WAMP, включающая последние версии Apache, MySQL и PHP. Совместима со всеми версиями Windows, кроме XP, Server 2003, SP3. Работает только на файловой системе NTFS. Отличается производительностью и стабильностью.
Поддерживает большое количество языков и разные версии модулей. Конфигурация сервера легко настраивается через интерфейс.
UwAmp
UwAmp – удобный инструмент для разработки. Помимо базовых компонентов включает СУБД SQLite и панель phpMyAdmin, поддерживает несколько версий PHP и UNICODE, контролирует использование процессора. Интерфейс оснащен удобным меню с различными конфигурациями и командами.
Установка стационарная и портативная.
Недостаток – англоязычный интерфейс.
Скачать UwAmp на сайте производителя.
AMPPS
Представляет собой не просто сборку, а мощную платформу для создания веб-ресурсов с полноценной библиотекой приложений. Поддерживает распространенные CMS, блоги, форумы, доски объявлений, фотогалереи и т.д. Включает Apache, СУБД MySQL и MongoDB, PHP, Perl, Python. AMPPS – отличный инструмент изучения CMS, форумов и других скриптов для создания сайтов.
Подходит для начинающих разработчиков.
Скачать AMPPS на сайте производителя.
Winginx
Интересная сборка с управляющей программой и обширным базовым комплектом, куда входят Nginx, MongoDB и Node.js. Дополнительное ПО можно загрузить из магазина, включая популярные CMS и фреймворки. Есть возможность выбирать между СУБД MySQL, MongoDB и Redis. Работает с разными версиями PHP. Благодаря встроенному Центру обновления пользователь сможет проверять актуальность установленных компонентов.
Подходит для начинающих разработчиков.
Установка стационарная и портативная.
Недостаток – сложность работы с логами.
Скачать Winginx на сайте производителя.
Vertrigo
Функциональный сервер с обычным WAMP-комплектом, также включает SQLite, SQLiteManager и PhpMyAdmin. Благодаря наличию опции Zend Optimizer увеличивается производительность запущенных процессов на 40%. Предоставляет хорошие возможности по настройке PHP и Apache.
Подходит для начинающих разработчиков и нетребовательных пользователей.