Готовая сборка web сервера windows server

Во времена моей юности в русскоязычном сегменте сети интернет был популярен только один единственный WAMP комплекс. Это, как вы уже догадались, старый добрый Den...

Во времена моей юности в русскоязычном сегменте сети интернет был популярен только один единственный WAMP комплекс. Это, как вы уже догадались, старый добрый Denwer. Он прочно обосновался на моём компьютере еще в далёком 2003 году. Другие альтернативы если и существовали в то время, то были известны в узких кругах и были не столь популярны.

Давайте посмотрим на то, что мы можем использовать сегодня, спустя столько лет. Я предлагаю рассмотреть, протестировать и сравнить 14! программных комплексов предназначенных для разработки сайтов под Windows.

1. AMPPS

Последняя версия: 1.7
Русский язык: есть (частично)
Portable версия: Нет
Домашняя страница: http://www.ampps.com/

AMPPS

Базовый комплект:

  • Softaculous AMPPS 1.7
  • Apache 2.2.22
  • MySQL 5.5.22
  • PHP 5.3.10 and 5.2.17
  • PERL 5.10.1
  • Python 2.7.2
  • MongoDB 2.0.4

AMPPS — это не просто WAMP сборка, это целая библиотека приложений, где каждое из них можно быстро установить, повертеть и поковырять не отходя от кассы. Всё это хозяйство кропотливо каталогизировано и подробно описано.

Несомненным плюсом данной сборки является поддержка многих распространенных CMS, блог-платформ, веб-форумов, досок объявлений, фотогалерей и проч. Всего доступных приложений более 200! Набор включённых в пакет компонентов так же не отстает от жизни, все модули довольно свежие и, что примечательно, здесь мы можем найти такую экзотику как Python и MongoDB.

Из минусов я хочу отметить частичный русский перевод, который присутствует только в каталоге скриптов, да и то не везде. После перезапуска Apache трей-меню отказалось работать, перезагрузка Windows не помогла. Еще одним минусом является отсутствие портативности. На мой взгляд AMPPS больше пригодится новичкам для изучения скриптов, нежели серьёзным разработчикам. Работать с этим программным пакетом мне было не очень комфортно, есть варианты и получше.

2. AppServ

Последняя версия: 2.5.10
Русский язык: Нет
Portable версия: Нет
Домашняя страница: http://www.appservnetwork.com/

AppServ

Базовый комплект:

  • Apache 2.2.8
  • PHP 5.2.6
  • MySQL 5.0.51b
  • phpMyAdmin-2.10.3

Apache и MySQL устанавливаются как сервисы. Никакой управляющей программы нет, только страница сомнительного дизайна со ссылкой на PhpMyAdmin. По своей сути AppServ является графическим установщиком Apache, PHP, MySQL и более ничем. Если тот же Denwer сам запускает компоненты, то здесь они просто устанавливаются в качестве сервисов и управляются самой Windows.

3. Denwer

Последняя версия: 3.2010-11-07
Русский язык: Есть
Portable версия: Да
Домашняя страница: http://www.denwer.ru/

denwer

Базовый комплект:

  • Apache 2.2
  • PHP 5.3.3
  • MySQL 5.1.40
  • phpMyAdmin 3.2.3

Denwer… старый добрый Denwer. Мы видим всё тот же скудный набор не очень свежих компонентов (урезанных по самые яйца), чёрное окно и никакого GUI. К плюсам этого пакета можно отнести его предельно малый размер и хорошую «базу знаний» на форуме, накопленную за многие годы. Фактически управление сервером осуществляется через выполнение .BAT скриптов по запуску и остановке модулей, как таковой управляющей программы нет вообще.

Denwer предельно прост и понятен, а потому имеет самую большую армию поклонников среди «чайников». Наиболее полным описанием данной платформы будет следующая фраза, сказанная одним из пользователей: «Денвер выполняет основные задачи и ладно, а чем больше примочек тем больше заморочек (никто ими на все 100 не пользуется)».

4. EasyPHP

Последняя версия: 5.3.9
Русский язык: Да
Portable версия: Да
Домашняя страница: http://www.easyphp.org/

EasyPHP

Базовый комплект:

  • PHP 5.3.9
  • PhpMyAdmin 3.4.9
  • Apache 2.2.21
  • MySQL 5.5.20

Довольно простая и ничем не примечательная сборка. Нам предлагают обычное трей-меню без излишеств, незамысловатые настройки и запутанную стартовую страницу без русского языка. Данный программный комплекс не произвел на меня какого-либо впечатления, работает и то хорошо. EasyPHP вполне подходит в качестве замены Denwer на «версию с окошками» (если не пугает стартовая страница).

Замечу, что EasyPHP управляет сервером самостоятельно, никаких пугающих черных окон не выскакивает, запуск и остановка сервера выполняются довольно быстро.

5. EleanorServ

Последняя версия: 2.0.2.0
Русский язык: Есть
Portable версия: Да
Домашняя страница: http://eleanor-cms.ru/server

EleanorServ

Базовый комплект:

  • Apache 2.2.19
  • PHP 5.3.6
  • MySQL: MariaDB 5.2.6
  • PhpMyAdmin 3.4.2
  • SlimFTPd 3.1.81
  • DNS Unbound 1.4.10

EleanorServ сперва показался мне тёмной лошадкой, а точнее неким специализированным сервером для одноименной Eleanor CMS. После рассмотрения оказалось что это обычный WAMP комплект.

В этой сборке мне понравилось оформление меню, которое оказалось довольно привлекательным, что большая редкость среди такого рода программ. Так же мне приглянулась панель управления, а точнее стартовая страница, которая имеет довольно необычное исполнение.

После создания нового домена панель управления просто исчезла

. Оказалось, что в менеджере доменов ошибка, и он открывает некорректный адрес, но это мелочи. Еще одним огорчением была невозможность открыть папку с доменами из трей-меню, мне пришлось искать куда же я установил EleanorServ…

В целом EleanorServ мне понравился, особенно возможность старта/остановки сервера прямо из браузера.

6. Nimp

Последняя версия: 1.5.0
Русский язык: Есть
Portable версия: Да
Домашняя страница: http://nimpbox.ru/

Nimp

Базовый комплект:

  • Apache 2.2.17
  • Nginx 0.9.3
  • MySQL 5.5.8
  • PHP 5.3.5
  • Sendmail 31
  • phpMyAdmin 3.3.9
  • Sypex Dumper 2.0.8
  • FileZilla 0.9.37 beta
  • Memcached 1.2.4

Здесь мы видим некрасивую реализацию панели управления с элементами порнографии, но есть довольно интересное трей-меню. Самое странное в этой сборке — это аж целых 4! иконки в трее с абсолютно одинаковым меню. Заставить работать сервер мне удалось далеко не с первого раза. Как оказалось Nimp может работать только из корня диска, что без сомнения является ещё одним жирным минусом этого программного комплекса.

Во время использования этой сборки постоянно что-то сбоило, FileZilla никогда сам не останавливался (пришлось убивать через диспетчер задач), а Memcached вообще не запускался. Некоторое недоумение вызвали слова автора программы о том, что «данная сборка прекрасно подойдет для высоко нагруженных сайтов в корпоративных и городских сетях», программе явно далеко до использования в корпоративной среде.

«Фишка» этой платформы в том, что Nginx работает как frontend и предназначен для раздачи статического контента, а Apache работает в качестве backend для генерации динамического контента. В целом моё впечатление от этой сборки осталось двояким, оно плавно менялось от резко негативного вначале до нормально-приемлемого в процессе работы с программой.

7. Open Server

Последняя версия: 4.5.2
Русский язык: Есть
Portable версия: Да
Домашняя страница: http://open-server.ru/

Open Server

Базовый комплект:

  • Apache 2.2.22;
  • Apache 2.4.2;
  • Nginx 1.2.0;
  • MySQL 5.1.63;
  • MySQL 5.5.24;
  • PostgreSQL 9.1.2;
  • PHP 5.2.17 (IMagick 2.2.1, Zend Optimizer 3.3.3, IonCube Loader 4.0.7, Memcache 2.2.4);
  • PHP 5.3.13 (IMagick 2.3.0, Xdebug 2.2.0, IonCube Loader 4.0.14, Memcache 2.2.6);
  • PHP 5.4.3 (Xdebug 2.2.0);
  • SlimFTPd 3.181;
  • Fake Sendmail 32;
  • NNCron Lite 1.17;
  • Memcached 1.2.6;
  • Adminer 3.3.4;
  • HeidiSQL 7.0;
  • Webgrind 1.0;
  • PHPMyAdmin 3.5.1;
  • PHPPgAdmin 5.0.4;
  • PHPMemcachedAdmin 1.2.1;

В противовес другим участникам нашего обзора Open Server имеет наиболее приятный и продуманный интерфейс, обладает мощными возможностями по настройке и администрированию компонентов. К несомненным плюсам можно отнести поддержку профилей настроек, переключение HTTP/MySQL/PHP модулей, планировщик заданий (cron), удобное управление доменами и алиасами, а для «чайников» имеется толковое руководство пользователя.

Приятной особенностью Open Server является возможность использовать программу в качестве портативного персонального стартового меню. Можно установить сервер на USB накопитель, перенести туда свои portable программы, создать закладки для часто посещаемых сайтов и везде, где бы вы не находились, вы будете иметь удобное меню быстрого доступа к своим любимым сайтам и программам.

8. Server2go

Последняя версия: 1.8.2
Русский язык: Нет
Portable версия: Да
Домашняя страница: http://www.server2go-web.de/

Server2go

Базовый комплект:

  • Apache 2.2
  • PHP 5.3.2
  • SQLITE
  • MYSQL 5.1.46
  • PERL 5.8

От этой гадости я долго плевался и несколько минут занимался поиском и убийством дочерних процессов. Оказалось что при запуске программы Server2go веб-сервер просто стартует и всё. ВСЁ — в прямом смысле этого слова, нет никакой управляющей программы, никакого монитора, сервер нельзя ни остановить, ни даже просто перезапустить. Всё что есть у этого программного комплекса — это стартовая страница, где можно посмотреть безобидную информацию на подобие вывода PHP Info.

Впечатление крайне отрицательное, хотя казалось бы: сервер стартует, PhpMyadmin открывается, а что ещё надо? Нет, сервер который нельзя остановить — это не для меня. Гори оно в аду!

9. Uniformserver

Последняя версия: 8.5.4
Русский язык: Да
Portable версия: Нет
Домашняя страница: http://www.uniformserver.com/

Uniformserver

Базовый комплект:

  • Apache 2.4.2
  • PHP 5.4.0
  • MySQL 5.5.24
  • phpMyAdmin 3.5.1

Uniformserver — это очередная поделка на коленке и сказать хоть что-либо хорошее о ней я не могу. Кривой русский перевод, огромный уродский логотип в трей-меню, само меню совершенно не продумано, а из-за кривого перевода вообще невозможно что-либо понять. Все что может эта сборка — запуститься и открыть PhpMyadmin. С помощью меню еще можно добраться до логов и файлов конфигурации. Единственной приятной неожиданностью было найти там Сron.

10. USBWebserver

Последняя версия: 8.5
Русский язык: Нет
Portable версия: Да
Домашняя страница: http://www.usbwebserver.net/

USBWebserver

Базовый комплект:

  • Apache 2.2.21
  • MySQL 5.5
  • PHP 5.3.9
  • PhpMyAdmin 3.4.9.0

Простой и лёгкий WAMP комплект. Панель управления незамысловатая, её можно спрятать в трей. Русского языка к сожалению нет. Сборку можно порекомендовать нетребовательным пользователям и новичкам. Каких-либо особенностей или плюшек, о которых я мог бы рассказать, в этом программном комплексе нет.

По своей функциональности USBWebserver напоминает Denwer, разве что Perl не хватает. В панели управления можно выполнить запуск/остановку модулей, открыть логи, еще есть парочка полезных функций и настроек, на этом всё. Я бы рекомендовал эту сборку как GUI замену Denwer-а для тех, кому необходима схожая функциональность, но хочется иметь панель управления с кнопочками и рюшечками.

11. Vertrigo

Последняя версия: 2.27
Русский язык: Нет
Portable версия: Нет
Домашняя страница: http://vertrigo.sourceforge.net/

Vertrigo

Базовый комплект:

  • Apache 2.2.22
  • PHP 5.3.10
  • MySQL 5.5.20
  • SQLite 3.7.10
  • Smarty 3.1.7
  • PhpMyAdmin 3.4.9
  • Xdebug 2.1.3
  • SQLiteManager 1.2.4

Хороший и функциональный программный комплекс, довольно известный, простой в освоении. Имеет удобное меню, хорошие возможности по настройке PHP и Apache. Сборка мне очень понравилась, в своё время я использовал Vertrigo довольно длительное время.

Но не всё так радужно в нашем королевстве, конечно же есть и минусы. Самый главный и существенный минус — Vertrigo не портативен, его нельзя установить на флешку и использовать на разных машинах. Из других проблем хочу отметить трудности с созданием домена или алиаса, а так же отсутствие русского языка.

12. Wampserver

Последняя версия: 2.2d
Русский язык: Да
Portable версия: Нет
Домашняя страница: http://www.wampserver.com/

Wampserver

Базовый комплект:

  • Apache 2.2.21
  • Php 5.3.10
  • Mysql 5.5.20
  • XDebug 2.1.2
  • XDC 1.5
  • PhpMyadmin 3.4.10.1
  • SQLBuddy 1.3.3
  • webGrind 1.0

Как и XAMPP, эта сборка широко известна на западе. Возможно причиной тому является поддержка большого количества языков, возможность установить любую версию Apache, MySQL и PHP в качестве аддона и привлекательная домашняя страница, чего нельзя сказать о самой управляющей программе.

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

13. Winginx

Последняя версия: 0.4.0.4
Русский язык: Есть
Portable версия: Да
Домашняя страница: http://winginx.ru/

Winginx

Базовый комплект:

  • Nginx 1.2.0;
  • PHP 5.3.13;
  • PHP 5.4.3;
  • Node.js 0.6.17;
  • MySQL 5.1.62;
  • MongoDB 2.0.5;
  • memcached 1.2.6;
  • phpMyAdmin 3.5.0;
  • Adminer 3.3.3;
  • RockMongo 1.1.1;
  • phpMemcachedAdmin 1.2.1;
  • Xdebug 2.2.0.5, Zend Guard Loader 5.5, ionCube 4.0.14

Данная сборка может похвастаться наличием MongoDB и Node.js, а так же быстро набирающего популярность веб-сервера Nginx. Меня так же порадовало наличие нормального трей-меню и раздела настроек, однако в процессе работы оказалось что окно с настройками имеет 3 вкладки где всего по 1-2 опции (зачем?).

Довольно странно в Winginx выглядит работа с логами. Для их просмотра нам предлагается меню выбора файлов вида error.log, access.log и так далее, однако к какому именно модулю относятся эти логи понять невозможно: Nginx, PHP, а может Node.js?

Хоть Winginx и имеет управляющую программу, однако командование самим веб-сервером, так же как и в Denwer, осуществляется через .BAT файлы. Я сделал такой вывод по всплывающим из ниоткуда чёрным окнам во время запуска или остановки сервера.

Возможно, что кому-то (в первую очередь новичкам) будет очень полезна функция автоматической установки скриптов (PhpBB, WordPress, Joomla и т.д.) при создании домена, особенно если учитывать что скрипты сконфигурированы для работы с Nginx (переписывать правила реврайта самому довольно сложно). Однако лично я такими функциями никогда не пользуюсь и предпочитаю выполнять инсталляцию сам, поскольку никогда не знаешь что и как там устанавливается и какие сюрпризы могут поджидать тебя в будущем.

14. Xampp USB Lite

Последняя версия: 1.7.7
Русский язык: Нет
Portable версия: Да
Домашняя страница: http://www.apachefriends.org/en/xampp-windows.html

Xampp

Базовый комплект:

  • Apache 2.2.21
  • MySQL 5.5.16
  • PHP 5.3.8
  • phpMyAdmin 3.4.5

XAMPP — это очень популярный за рубежом пакет программ. Думаю популярность обусловлена тем, что эта сборка довольно надёжна и имеет версии под все основные операционные системы: Windows, Linux, Mac OS X и даже Solaris.

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

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

Сравнение

Portable Русский язык Наличие GUI Полезный GUI Просмотр логов
AMPPS + + +
AppServ
Denwer + +
EasyPHP + + + + +
EleanorServ + + + + +
Nimp + + + +
Open Server + + + + +
Server2go +
Uniformserver + + +
USBWebserver + +
Vertrigo + + +
Wampserver + + + +
Winginx + + + + +
Xampp USB Lite + +

Лучшие результаты: EasyPHP, Open Server, Winginx.

Тестирование

Тест №1 — Ложный запуск

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

Тест №2 — Сложные пути

Суть теста заключается в преднамеренной установке сервера в папку со сложным именем, в нашем тесте мы будем использовать папку с именем «C:testMys$ka!._-()zlo{}+~%&2% Files». Если PhpMyAdmin (он взят просто для удобства, поскольку есть в каждой сборке) не откроется, то тест соответственно будет провален. Каждый человек — это индивидуальность, папки порой называют самыми неожиданными именами. Название папки, выбранное для теста, корректно для Windows и должно быть правильно обработано.

Тест №3 — SSL из коробки

Тест предельно простой — запускаем сервер и пытаемся открыть PhpMyAdmin по SSL протоколу.

Обозначения: «+» означает что тест пройден успешно, «-» означает что тест провален.

Ложный запуск Сложные пути SSL из коробки
AMPPS + + +
AppServ +
Denwer + +
EasyPHP + +
EleanorServ + +
Nimp +
Open Server + + +
Server2go +
Uniformserver +
USBWebserver +
Vertrigo + +
Wampserver + +
Winginx
Xampp USB Lite + +

Лучшие результаты: AMPPS, Open Server.

Заключение

Рассмотрев и протестировав столько программных комплексов возникает вопрос — а что же в итоге выбрать для повседневной работы? Ответить на этот вопрос не так-то просто, каждая сборка будет хороша для определённого типа задач.

Для новичков я предлагаю использовать Denwer, как самый простой и проверенный временем WAMP комплект. Всем остальным веб-разработчикам, а так же и тем новичкам, кому недостаточно функциональности Denwer, я рекомендую использовать Open Server.

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

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

P.S. Мнение автора основано на поверхностном общении с каждой сборкой и может не отражать некоторые не выявленные в процессе работы достоинства или скрытые недостатки любой из платформ.

P.P.S Хочу предостеречь комментаторов, которые ратуют за виртуальную машину с Linux на борту и больше ничего не признают в качестве альтернативы. Отчасти я с вами согласен, при переносе сайта на реальный хостинг могут возникнуть некоторые проблемы: потоки, права fs, симлинки, консоль и т.д.

Однако посмотрите на это с другой стороны. Подобные проблемы — частные случаи и возникают они довольно редко. В реальности всё наоборот — верстальщику шаблонов на движке Smarty совершенно не нужно что-то знать про потоки, симлинки и консоль, а разработчики CMS уже 100 лет как научились устанавливать правильные права записи на загружаемые файлы.

Как итог хочу сказать — WAMP платформы имеют право на существование и использование виртуальных машин в большинстве случаев совершенно не оправдано.

Ещё WAMP сборки (из комментариев):
Z-WAMP
UwAmp
Bitnami WAMP Stack

Web Server for Windows

A simple web server for windows with Nginx, PHP, MariaDB/PostgreSQL and phpMyAdmin

  • Nginx 1.xx
  • PHP 7.x
    • cURL
    • OPCache
    • APCu
    • Sendmail
    • Composer
  • MariaDB 10.x
    • phpMyAdmin 5.x
      • With config for phpMyAdmin configuration storage
  • PostgreSQL 12.x
    • pgAdmin 4.xx

Getting

cmd
cd C:
git clone https://gitlab.com/breithbarbot/web-server-windows.git server

Download

  • Download the source files and extract to the each respective folder
    • C:servernginx: Nginx
    • C:serverphp: [Minimum recommended version 7.4.2] PHP (x64 Thread Safe)
      • The VC15 builds require to have the Visual C++ Redistributable for Visual Studio 2017 x64
    • C:servermariadb: MariaDB (ZIP file — Windows x86_64)
    • C:serverphpmyadmin: [Minimum recommended version 5.0.1] phpMyAdmin
    • C:serverpgsql: PostgreSQL

Configuration

General

  1. Update your PATH system variable

    • C:servermariadbbin
    • C:serverpgsqlbin
    • C:servernginx
    • C:serverphp
  2. Restart your system (or just restart all open terminals).

Nginx

nginx-1.X.X.zip in: C:servernginx.

Execute: cp C:servernginxconfnginx.conf C:servernginxconfnginx.conf.bak

Configuration

  • Edit nginx files:
    • nginx documentation
    • Edit:
      # C:servernginxconfnginx.conf
      
      #user  nobody;
      # Calcul: grep processor /proc/cpuinfo | wc -l
      worker_processes  auto;
      
      error_log  C:/server/var/log/nginx/error.log warn;
      pid        C:/server/var/log/nginx/nginx.pid;
      
      events {
          # Definition of the maximum number of simultaneous connections (Use the command to know the maximum value of your server: `ulimit -n`)
          worker_connections  1024;
          multi_accept        on;
      }
      
      http {
          ##
          # ngx_http_charset_module
          ##
          charset  utf-8;
          
          
          ##
          # ngx_http_core_module
          ##
          client_max_body_size  500M;
          include               mime.types;
          default_type          application/octet-stream;
          keepalive_timeout     65s;
          sendfile              on;
          #tcp_nopush           on;
          
          
          ##
          # ngx_http_gzip_module
          ##
          gzip             on;
          gzip_proxied     any;
          gzip_comp_level  6;
          gzip_types       text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
          
          
          ##
          # ngx_http_log_module
          ##
          #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
          #                  '$status $body_bytes_sent "$http_referer" '
          #                  '"$http_user_agent" "$http_x_forwarded_for"';
          #access_log        C:/server/var/log/nginx/http_access.log  main;
          error_log          C:/server/var/log/nginx/http_error.log  warn;
          
          
          ##
          # Virtual Host Configs
          ##
          include  C:/server/nginx/conf/conf.d/*.conf;
      }
Virtual Host

Place your configuration files in the conf.d directory.

  • Create:
    # C:servernginxconfconf.ddefault.conf
    
    # HTTP Server
    server {
        listen       80;
        server_name  localhost;
        
        
        root   c:/server/www;
        
        
        location / {
            index  index.html index.htm index.php;
        }
        
        
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        
        
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ .php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $realpath_root$fastcgi_script_name;
            include        fastcgi_params;
        }
        
        
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /.ht {
            deny  all;
        }
        
        
        #access_log  C:/server/var/log//nginx/localhost.access.log;
        error_log   C:/server/var/log//nginx/localhost.error.log warn;
    }

PHP

php-7.X.X-Win32-VC15-x64.zip in: C:serverphp.

Execute: cp C:serverphpphp.ini-development C:serverphpphp.ini

Configuration

  • List of Supported Timezones
  • Edit:
    ; C:serverphpphp.ini
    
    [PHP]
    realpath_cache_size = 10M
    realpath_cache_ttl = 300
    memory_limit = 512M
    error_log = "C:servervarlogphp_errors.log"
    post_max_size = 50M
    include_path = ".;C:serverphppear"
    extension_dir = "ext"
    sys_temp_dir = "C:servervartmp"
    upload_tmp_dir = "C:servervartmp"
    upload_max_filesize = 10M
    extension=bz2
    extension=curl
    extension=fileinfo
    extension=gd2
    extension=intl
    extension=mbstring
    
    [Date]
    date.timezone = Europe/Paris
    
    [Session]
    session.save_path = "C:servervartmp"
    session.gc_maxlifetime = 86400
    
    [soap]
    soap.wsdl_cache_dir="C:servervartmp"

PEAR

  • Create folder: mkdir C:serverphppear
  • PEAR Packages

cURL / SSL

  • Download: https://curl.haxx.se/docs/caextract.html
  • Save file in: C:serverphpextrassslcacert.pem
  • Edit:
    ; C:serverphpphp.ini
    
    [PHP]
    extension=openssl
    
    [curl]
    curl.cainfo = "C:serverphpextrassslcacert.pem"
    
    [openssl]
    openssl.cafile="C:serverphpextrassslcacert.pem"

OPCache (Optional)

  • Edit:
    ; C:serverphpphp.ini
    
    [opcache]
    zend_extension=opcache
    opcache.enable=1
    opcache.enable_cli=1
    opcache.memory_consumption=256
    opcache.interned_strings_buffer=16
    opcache.max_accelerated_files=30000
    opcache.error_log="C:servervarlogphp_opcache_errors.log"

APCu (Optional)

  • Download 7.4 Thread Safe (TS) x64
  • Save file in: C:serverphpextphp_apcu.dll
  • Edit at the end:
    ; C:serverphpphp.ini
    
    [apcu]
    extension=apcu
    apc.enabled=1
    apc.enable_cli=1
    apc.shm_size=64M
    apc.ttl=3600

Sendmail (Optional)

  • Download: https://www.glob.com.au/sendmail/
    • Copy all files in: C:serversendmail
  • Edit:
    ; C:serverphpphp.ini
    
    [mail function]
    sendmail_path = ""C:serversendmailsendmail.exe" -t"
  • Edit file: C:serversendmailsendmail.ini

Composer

  • Download and install: https://getcomposer.org/download/
    • The default installation folder/file is: C:ProgramDataComposerSetupbincomposer.phar
    • If you have this error during install: Signature mismatch, could not verify the phar file integrity
      • Comment temporarily: zend_extension=opcache in C:serverphpphp.ini, run Composer install and after, uncomment.

Xdebug (Optional)

  • Download PHP 7.4 VC15 TS (64 bit)
  • Save file in: C:serverphpextphp_xdebug.dll
  • Add at the end:
    ; C:serverphpphp.ini
    
    [Xdebug]
    zend_extension=xdebug
    xdebug.profiler_enable_trigger = 1
    xdebug.profiler_output_dir = "C:/server/var/tmp/profiler"
    xdebug.remote_host=127.0.0.1
    xdebug.remote_port=9001
    
    ; Display all the tree
    xdebug.var_display_max_depth = -1
    xdebug.var_display_max_children = -1
    xdebug.var_display_max_data = -1

MariaDB

mariadb-10.X.X-winx64.zip in: C:servermariadb.

  • Documentation

Installation (In admin)

# Create windows service
C:/server/mariadb/bin/mysql_install_db.exe --datadir=C:/server/mariadb/data --service=MariaDB

# Start and stop the new service
net start MariaDB
net stop MariaDB

Configuration

  • Edit:

    ; C:servermariadbdatamy.ini
    
    [mysqld]
    datadir=C:/server/mariadb/data
    
    socket=C:/server/var/tmp/mariadb.sock
    
    tmpdir=C:/server/var/tmp
    
    long_query_time=10
    
    key_buffer_size=256M
    sort_buffer_size=4M
    read_buffer_size=2M
    table_open_cache=400
    
    query_cache_limit=16M
    query_cache_size=64M
    
    collation-server=utf8mb4_general_ci
    character-set-server=utf8mb4
    
    [client]
    socket=C:/server/var/tmp/mariadb.sock
    plugin-dir=C:/server/mariadb/lib/plugin
  • Edit:

    ; C:serverphpphp.ini
    
    [PHP]
    extension=mysqli
    extension=pdo_mysql

Various

  • Default login: root
  • Default password: EMPTY
  • For set or unset password?
    1. Start mariadb server in admin in safe mode.
      • C:/server/bin/start-mariadb-safe-mode.bat
    2. Run commands:
      • For set password:
         USE mysql;
         UPDATE user SET `password` = PASSWORD('YOUR_PASSWORD') WHERE `User` = 'root';
         FLUSH PRIVILEGES;
         quit;
      • For unset password:
         UPDATE user SET password = '' WHERE User = 'root';
    3. Restart MariaDB

Debug?

C:/server/mariadb/bin/mysqld.exe --defaults-file=C:/server/mariadb/data/my.ini --log-error=C:/server/var/log/mariadb/ --console

Remove service (In admin)

C:/server/mariadb/bin/mysqld.exe --remove

phpMyAdmin

phpMyAdmin-5.X.X-all-languages.zip in: C:serverphpmyadmin.

  • Creation of a symbolic link
    • Execute (In cmd in Administrator): mklink /D C:serverwwwphpmyadmin C:serverphpmyadmin

Configuration (Automatique)

  • Using Setup script

Configuration (Manual)

  • Execute:

    • cp C:/server/phpmyadmin/config.sample.inc.php C:/server/phpmyadmin/config.inc.php
  • phpMyAdmin Blowfish Secret Generator

  • Edit/create:

    // C:serverphpmyadminconfig.inc.php
    
    /**
    * This is needed for cookie based authentication to encrypt password in
    * cookie. Needs to be 32 chars long.
    */
    $cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
    
    /**
    * Servers configuration
    */
    $i = 0;
    
    /**
    * Server: localhost
    */
    $i++;
    /* Authentication type */
    $cfg['Servers'][$i]['auth_type'] = 'config';
    /* Server parameters */
    $cfg['Servers'][$i]['hide_db'] = 'information_schema|mysql|performance_schema|phpmyadmin';
    $cfg['Servers'][$i]['host'] = 'localhost';
    $cfg['Servers'][$i]['compress'] = false;
    $cfg['Servers'][$i]['user'] = 'root';
    // $cfg['Servers'][$i]['password'] = '';
    $cfg['Servers'][$i]['AllowNoPassword'] = true;
    
    /**
    * phpMyAdmin configuration storage settings.
    */
    
    /* User used to manipulate with storage */
    // $cfg['Servers'][$i]['controlhost'] = '';
    // $cfg['Servers'][$i]['controlport'] = '';
    $cfg['Servers'][$i]['controluser'] = 'pma';
    $cfg['Servers'][$i]['controlpass'] = 'pmapass';
    
    /* Storage database and tables */
    $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
    $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
    $cfg['Servers'][$i]['relation'] = 'pma__relation';
    $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
    $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
    $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
    $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
    $cfg['Servers'][$i]['history'] = 'pma__history';
    $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
    $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
    $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
    $cfg['Servers'][$i]['recent'] = 'pma__recent';
    $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
    $cfg['Servers'][$i]['users'] = 'pma__users';
    $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
    $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
    $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
    $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
    $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
    $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
    
    /**
    * End of servers configuration
    */
    
    /**
    * Directories for saving/loading files from server
    */
    $cfg['UploadDir'] = 'import';
    $cfg['SaveDir'] = 'save';
    
    $cfg['MaxRows'] = 50;
    
    $cfg['DefaultLang'] = 'fr';
    
    $cfg['ShowPhpInfo'] = true;
    $cfg['ForceSSL'] = false;
    $cfg['Import']['charset'] = 'utf-8';
    $cfg['Export']['compression'] = 'gzip';
    $cfg['Export']['charset'] = 'utf-8';
    $cfg['NavigationTreeEnableGrouping'] = false;

    • Run:

      mkdir C:serverphpmyadminimport
      mkdir C:serverphpmyadminsave

    • Run: C:/server/mariadb/bin/mysql.exe -u root < C:/server/phpmyadmin/sql/create_tables.sql
    • Create a new user/password in phpMyAdmin for phpMyAdmin configuration storage with full privileges (without GRANT access) for the phpmyadmin database.
      • Update $cfg['Servers'][$i]['controluser'] and $cfg['Servers'][$i]['controlpass'] variables in config.inc.php
    • Delete DB (optional): test

    • Optimisation
      • http://localhost/phpmyadmin/server_status_advisor.php

PostgreSQL

postgresql-11.X-X-windows-x64-binaries.zip in: C:serverpgsql.

  • Documentation

Installation (In admin)

# Create data DB folder
mkdir C:serverpgsqldata

# Place the cuseur
cd C:serverpgsqlbin
initdb.exe -U postgres -A password -E utf8 -W -D ../data

# Create Windows service
cd C:serverpgsqlbin
pg_ctl register -D C:/server/pgsql/data -N PostgreSQL

# Start and stop PostgreSQL server
net start PostgreSQL
net stop PostgreSQL

Configuration

  • Edit:
    ; C:serverphpphp.ini
    
    [PHP]
    extension=pdo_pgsql
    extension=pgsql

Debug?

# Place the cuseur
cd C:serverpgsqlbin

# Start server
pg_ctl -D ../data -l trace_file start

# Stop server
pg_ctl -D ../data -l trace_file stop

Remove service (In admin)

pg_ctl unregister -N PostgreSQL

Start & Stop all servers

  • Start (In admin): C:/server/_start.bat
  • Stop (In admin): C:/server/_stop.bat

For future update ?

  1. Execute:
  2. Comparison between your config and the README.md doc

Uninstall

  1. Backup your DB(s) and project(s)
  2. Kill all services
  3. Remove entry your PATH system variable:
    • C:servermariadbbin
    • C:servernginx
    • C:serverphp
  4. Remove MariaDB service (in admin): C:/server/mariadb/bin/mysqld.exe --remove
  5. Restart your system.

Для разработки и тестирования сайтов или веб-приложений обычно используют локальный Web-сервер, а после разработки переносят уже на рабочий сервер. Поэтому сегодня я предлагаю рассмотреть возможность установки локального web-сервера на операционную систему Windows 7, и так как у нас сайт для начинающих разработчиков, мы будем использовать готовую сборку web-сервера на примере XAMPP.

И начнем мы с основ, т.е. узнаем, что же это такое сборка web-сервера, из чего она состоит, зачем она нужна, в частности разберем сборку XAMPP, установим ее и, конечно же, проверим ее работу.

Содержание

  1. Что такое сборка Web-сервера?
  2. Что такое XAMPP?
  3. Где скачать XAMPP?
  4. Установка XAMPP
  5. Шаг 1
  6. Шаг 2
  7. Шаг 3
  8. Шаг 4
  9. Шаг 5
  10. Запускаем и проверяем работу Apache, PHP и MySQL

Сборка Web-сервера – это некий комплект приложений необходимых для функционирования сайтов, после развертывания которого, можно сразу переходить к их разработке, не отвлекаясь и не вникая в настройки каждого компонента web-сервера.

В сборку web-сервер обычно входит как минимум 3 компонента: это непосредственно сам HTTP сервер, средство разработки сайтов, т.е. библиотеки языка программирования, интерпретатор и т.д., и система управления базами данных. Для таких сборок используется бесплатное программное обеспечение, поэтому самыми распространенными компонентами являются веб сервер Apache, СУБД MySQL, языки программирования PHP и Perl.

Если говорить о том, для чего вообще нужна такая сборка, так как Вы сами понимаете, что все это в отдельности устанавливается и настраивается, то она нужна в основном для того, чтобы облегчить жизнь начинающим разработчикам, чтобы они могли просто установить одну программу и сразу начать, скажем, учиться программировать (создавать сайты). Для примера в качестве операционной системы нашего локального web сервера мы будем использовать Windows 7, так как именно ОС Windows от компании Microsoft широко используется у нас в России.

Конечно же, после того как разработка сайта или веб приложения окончена, необходимо перенести все на рабочий сервер, который скорей всего будет использовать операционную систему на базе Linux. Например, мы с Вами уже рассматривали возможность установки и настройки полноценного, рабочего web-сервера на CentOS 7.1, где мы как раз по отдельности устанавливали и настраивали каждый из компонентов web-сервера, там мы использовали Apache, PHP и MySQL. Также если кому интересна установка СУБД MySQL на Windows, то это мы подробно рассмотрели вот здесь.

Примечание! Использовать сборку веб сервера на продакшн хостинге для сайтов не рекомендуется, тем более что сами разработчики предупреждают, что эти сборки не предназначены для внедрения в производство.

В число самых популярных сборок web-сервера входят: Denwer, Open Server, XAMPP, WampServer. Как видно из названия статьи, сегодня мы будем рассматривать XAMPP.

Скриншот 1

Что такое XAMPP?

XAMPP —  это бесплатная, кроссплатформенная сборка веб-сервера, которая включает Apache, MySQL PHP и Perl.

Как не трудно догадаться XAMPP — это аббревиатура:

  • X – означает, сборка есть под все операционные системы (Windows, Linux, OS X);
  • A – Apache;
  • M – MySQL;
  • P – PHP;
  • P – Perl.

Официальный сайт — https://www.apachefriends.org/ru/index.html

В последнюю, на сегодняшний день (Июнь 2015), сборку XAMPP для Windows включено следующее программное обеспечение: Apache 2.4.12, MySQL 5.6.24, PHP 5.6.8, phpMyAdmin 4.3.11, OpenSSL 1.0.1, XAMPP Control Panel 3.2.1, Webalizer 2.23-04, Mercury Mail Transport System 4.63, FileZilla FTP Server 0.9.41, Tomcat 7.0.56 (with mod_proxy_ajp as connector), Strawberry Perl 7.0.56 Portable.

Где скачать XAMPP?

Загрузить данную сборку можно со страницы загрузки официального сайта — https://www.apachefriends.org/ru/download.html

И так как мы будем устанавливать XAMPP на Windows, то соответственно и скачиваем дистрибутив под эту операционную систему, например, я хочу скачать версию XAMPP с PHP 5.6.8 для этого, и жму соответствующую ссылку.

Скриншот 2

После чего у нас загрузится дистрибутив размером 107 мегабайт.

Данная сборка поддерживает операционные системы Windows, начиная с Vista.

Установка XAMPP

Приступаем к установке сборки Web-сервера XAMPP, она простая, поэтому проблем возникнуть не должно.

Шаг 1

Запускаем скаченный файл xampp-win32-5.6.8-0-VC11-installer.exe. Первое окно программы установки — это окно приветствия, жмем «Next».

Скриншот 3

Шаг 2

Далее, выбираем компоненты, которые нужно установить, по умолчанию выбрано все, но если Вы не хотите что-то устанавливать, т.е. Вам это не нужно, то можете снять галочку с соответствующего пункта, например, мне не нужен Perl, жмем «Next».

Скриншот 4

Заметка! Преимущества разных видов хостинга: выбираем оптимальный вариант для своего сайта.

Шаг 3

Затем выбираем каталог, в который мы будем устанавливать XAMPP, я оставлю по умолчанию, жму «Next».

Скриншот 5

Курс по SQL для начинающих

Шаг 4

На этом шаге мы можем оставить или убрать галочку «Узнать больше о Bitnami для XAMPP», я галочку убрал, жму «Next».

Скриншот 6

Шаг 5

Все готово к установке, жмем «Next».

Скриншот 7

Установка началась.

Скриншот 8

После того как установка будет завершена, нам предложат сразу запустить «Control Panel», жмем «Finish».

Скриншот 9

Вот и все, у нас запустилась панель управления XAMPP.

Скриншот 10

Запускаем и проверяем работу Apache, PHP и MySQL

Как мы видим, сразу после установки все сервисы не запущены, поэтому мы запускаем их кнопкой «Start».

Скриншот 11

Зеленым выделены те сервисы, которые в данный момент запущены.

Сначала давайте проверим работу Apache, для этого просто в браузере набираем localhost, и если мы увидим следующую картину, то значит все в порядке.

Скриншот 12

Для проверки MySQL и PHP давайте напишем простой скрипт на PHP, который проверит подключение к базе данных MySQL. Для этого создаем в каталоге C:xampphtdocs папку test, кстати, все, что находится в папке htdocs, можно удалить. В папке test создаем файл index.php со следующим кодом;

<?php
        ini_set('display_errors', 1); //Включаем вывод ошибок на страницу
        $dbServer = "127.0.0.1"; //Адрес сервера БД
        $dbname = "mysql"; //База данных (тестовая по умолчанию)
        $dbuser = "root"; //Имя пользователя БД
        $dbpass = ''; //Пароль пользователя БД (по умолчанию его просто нет)
        //Подключаемся к серверу
        $dbconn = @mysql_connect($dbServer, $dbuser ,$dbpass);
        //Проверка доступности сервера
        if (!$dbconn){
                echo "<p>Сервер баз данных недоступен</p>";
                exit();
        }
        //Проверка доступности базы данных
        if (!@mysql_select_db($dbname,$dbconn)){
                echo "<p>База данных недоступна</p>";
                exit();
        }
        //Простой запрос, узнаем версию MySQL 
        $VERSION = mysql_query("SELECT VERSION()");
        if(!$VERSION){
                echo "<p>Ошибка в запросе</p>";
                exit();
        }
        echo mysql_result($VERSION, 0);
?> 

Сохраняем и в браузере обращаемся по адресу http://localhost/test/ в ответ мы должны получить версию MySQL.

Скриншот 13

Если Вы это удивили, значит и Apache и PHP и MySQL запущены и работают.

Теперь немного расскажу о панели управления XAMPP. Запустить ее можно через меню «Пуск->Все программы->XAMPP».

Скриншот 14

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

Скриншот 15

Заметка! ТОП 5 популярных CMS для блога.

На этом предлагаю заканчивать, так как все готово для разработки сайтов на базе Apache, MySQL и PHP, еще раз замечу, что данная сборка подходит исключительно для разработки и тестирования веб приложений, использовать ее в качестве рабочей платформы для сайтов не рекомендуется. Удачи!

Browse free open source HTTP Servers and projects for Windows below. Use the toggles on the left to filter open source HTTP Servers by OS, license, language, programming language, and project status.

  • Authentication Cloud faster, easier, and more user-friendly. Icon

    Nevis lets you wow your customers, partners, and employees with excellent authentication and authorization convenience. Nevis offers a single, all-encompassing identity and access management solution for all your identity use cases. With its comprehensive CIAM functions, you can offer your privacy-minded consumers an exceptional user experience, personalized interactions, and the level of secure access to your services that is essential for today’s disruptive, digital transformation demands.

  • The #1 trusted childcare software Icon

    HiMama Preschool & Child Care App is an easy-to-use software solution for savvy child care programs. Providing powerful reporting and management tools for parents, directors, and educators, HiMama Preschool & Child Care Appoffers a quick and easy way to document and share children’s activities, from funny moments to learning and development achievements. Key features of HiMama Preschool & Child Care App include attendance management, child daily reports, meals tracking, events calendar, lesson planning, child development report, parent text messaging, real-time parent communications, and more.

  • 1

    XAMPP

    XAMPP

    An easy to install Apache distribution containing MySQL, PHP, and Perl

    XAMPP is a very easy to install Apache Distribution for Linux, Solaris, Windows, and Mac OS X. The package includes the Apache web server, MySQL, PHP, Perl, a FTP server and phpMyAdmin.

    Leader badge

    Downloads:
    433,709 This Week

    Last Update:
    2022-12-29

    See Project

  • 2

    WampServer

    WampServer

    A Windows Web development environment for Apache, MySQL, PHP databases

    WampServer is a Web development platform on Windows that allows you to create dynamic Web applications with Apache2, PHP, MySQL and MariaDB. WampServer automatically installs everything you need to intuitively develope Web applications. You will be able to tune your server without even touching its setting files. Best of all, WampServer is available for free (under GPML license) in both 32 and 64 bit versions. Wampserver is not compatible with Windows XP, SP3, or Windows Server 2003.

    Leader badge

    Downloads:
    44,464 This Week

    Last Update:
    3 days ago

    See Project

  • 3

    ESP32-S2-MINI

    ESP32-S2-MINI

    Arduino ESP32-S2-Mini v1.00 Wemos | Firmware PS4 900x HOST Wifi AP

    Firmware para placa de desarrollo Arduino ESP32-S2 Mini v1.0.0 LOLIN-WIF WEMOS
    ESP32S2 Dev para Montar Servidor Host AP Playstation 4
    Para conectar con la placa ESP32-S2 Mini
    WiFi SSID: PS4-Host-AP
    Password: password
    Página del administrador
    http://10.1.1.1/admin.html
    http://ps4.local/admin.html
    Nota Importante 1:
    En la sección configuración General en Conexión WIFI marcar la casilla INICIAR WIFI:
    y conectar a su wifi local para poder administrar desde una PC,
    Así podrá subir archivos, borrarlos y Actualizar el Firmware de la placa
    Nota Importante 2:
    La herramienta NodeMCU-PyFlasher solo la necesita cuando su placa ESP32-S2 este vacía,
    es decir, sin ningún firmware, luego que cargue este firmware,
    no volverá a necesitarla y para actualizar solo requerirá descargar la última versión fwupdate.bin
    Información de la Placa:
    https://www.wemos.cc/en/latest/s2/s2_mini.html
    La placa se puede adquirir en el siguiente link
    https://es.aliexpress.com/item/

    Leader badge

    Downloads:
    45,562 This Week

    Last Update:
    2022-12-25

    See Project

  • 4

    GeoServer

    GeoServer

    GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. Designed for interoperability, it publishes data from any major spatial data source using open standards: WMS, WFS, WCS, WPS and REST

    Leader badge

    Downloads:
    10,650 This Week

    Last Update:
    2023-01-28

    See Project

  • The First B2B Checkout Platform Icon

    Balance is the first self-serve checkout that accepts 100% of the B2B payment complexities — from milestone payments to net terms, wires to checks, SaaS subscriptions to automatic vendor payouts — and more

  • 5

    AppServ

    The easy way to configure Apache, PHP, and MySQL!

    AppServ is an merging open source software installer package for Windows and Linux.

    Leader badge

    Downloads:
    6,313 This Week

    Last Update:
    2019-11-08

    See Project

  • 6

    HFS ~ HTTP File Server

    HTTP server designed for file transfer. Very easy to use, just drag&drop your files in it. It automatically copies in the clipboard the full url of the file, so you just have to paste in your preferred chat. Standalone executable.

    Leader badge

    Downloads:
    3,906 This Week

    Last Update:
    2021-08-15

    See Project

  • 7

    Certbot

    Certbot

    Get free HTTPS certificates forever from Let’s Encrypt

    Certbot is a fully-featured, easy-to-use, extensible client for the Let’s Encrypt CA. It fetches a digital certificate from Let’s Encrypt, an open certificate authority launched by the EFF, Mozilla, and others. This certificate then lets browsers verify the identity of web servers and ensures secure communication over the Web.
    Obtaining and maintaining a certificate is usually such a hassle, but with Certbot and Let’s Encrypt it becomes automated and hassle-free. With just a few simple commands, you can turn on and manage HTTPS.
    Certbot runs directly on the web server, so make sure to check with your hosting provider first if you are able to use Certbot.

    Downloads:
    109 This Week

    Last Update:
    2023-01-12

    See Project

  • 8

    Uniform Server

    Uniform Server

    A free lightweight Windows Apache MySQL and PHP Server Solution.

    Uniform Server is a free lightweight WAMP server solution for Windows.
    Build using a modular design approach, it includes the latest versions of Apache, MySQL or MariaDB, PHP (with version switching), phpMyAdmin or Adminer.
    No installation required! No registry dust! Just unpack and fire up!
    ——-
    Note: The latest version of Uniform Server requires a **64-bit version** of Windows.
    ——-

    Leader badge

    Downloads:
    1,459 This Week

    Last Update:
    2 days ago

    See Project

  • 9

    WinNMP - Windows Nginx MySql Php 8 stack

    WinNMP — Nginx MariaDB Redis Php 8 development stack for Windows
    A lightweight, fast and stable server stack for developing php mysql applications on windows, based on the excellent webserver Nginx. A lighter alternative to XAMPP and WAMP.
    Also known as WTServer and wt-nmp
    Current Package contains the latest stable versions of:
    — Nginx web server
    — MariaDB 10 database server, mysql replacement (32/64bit)
    — MongoDB 4 document-based database (64bit)
    — Redis Cache/NoSql, memcached alternative (64bit)
    — Php 5.6 & PHP 7.2 & PHP 7.3 & PHP 7.4 scripting language (32/64bit)
    — WinSCP SFTP client
    — HTTPS using free LetsEncrypt certificates
    — Composer dependency manager for php
    — Adminer web based database manager
    — Reg.php regular expressions tester
    — WTServer Manager (32/64bit), formerly known as *wt-nmp*

    Leader badge

    Downloads:
    1,217 This Week

    Last Update:
    2023-01-26

    See Project

  • Get secure and private access to the internet Icon

    We help companies keep their networks and Internet connections secure. Our VPN service adds an extra layer of protection to secure your communications. We do this by applying strong encryption to all incoming and outgoing traffic so that no third parties can access your confidential information. Protect your organization against security breaches. Secure remote team access. Simplify business network security. Access region-specific online content from anywhere in the world

  • 10

    GoProxy

    GoProxy

    High performance proxy server implemented by golang

    The GoProxy is a high-performance http proxy, https proxy, socks5 proxy, ss proxy, websocket proxies, tcp proxies, udp proxies, game shield, game proxies. Supports forward proxies, reverse proxy, transparent proxy, internet nat proxies, https proxy load balancing, http proxy load balancing , socks5 proxies load balancing, socket proxy load balancing, ss proxy load balancing, TCP / UDP port mapping, SSH transit, TLS encrypted transmission, protocol conversion, anti-pollution DNS proxy, API authentication, speed limit, limit connection. Reverse proxy to help you expose a local server behind a NAT or firewall to the internet so that you or your visitors can access it directly and easily. Chained proxies, the program itself can be used as a proxy, and if it is set up, it can be used as a secondary proxy or even an N-level proxy.

    Downloads:
    34 This Week

    Last Update:
    2023-01-26

    See Project

  • 11

    iisnode

    Hosting node.js applications in IIS on Windows

    iisnode is a native IIS module that allows hosting of node.js applications in IIS on Windows. It comes with a lot of benefits, including process management, scalability on multi-core servers, integrated debugging and many more.
    Prerequisites for using iisnode are Windows Vista, Windows 7, Windows 8, Windows Server 2008, or Windows Server 2012;
    IIS 7.x with IIS Management Tools and ASP.NET; WebSocket functionality requires IIS 8.x on Windows 8 or Windows Server 2012; URL rewrite module for IIS; and the latest node.js build for Windows.

    Downloads:
    33 This Week

    Last Update:
    2017-02-01

    See Project

  • 12

    AIOHTTP

    AIOHTTP

    Asynchronous HTTP client/server framework for asyncio and Python

    Asynchronous HTTP Client/Server for asyncio and Python. AIOHTTP supports both client and server side of HTTP protocol. A long awaited new feature is tracing client request life cycle to figure out when and why client request spends a time waiting for connection establishment, getting server response headers etc. Now it is possible by registering special signal handlers on every request processing stage. The main change is dropping yield from support and using async/await everywhere. Farewell, Python 3.4. You often want to send some sort of data in the URL’s query string. If you were constructing the URL by hand, this data would be given as key/value pairs in the URL after a question mark, e.g. httpbin.org/get?key=val. Requests allows you to provide these arguments as a dict, using the params keyword argument. aiohttp internally performs URL canonicalization before sending request.

    Downloads:
    26 This Week

    Last Update:
    2022-09-21

    See Project

  • 13

    HyperSQL Database Engine (HSQLDB)

    HyperSQL Database Engine (HSQLDB)

    HSQLDB is a relational database engine written in Java, with a JDBC driver, conforming to ANSI SQL:2016. A small, fast, multithreaded engine and server with memory and disk tables, LOBs, transaction isolation, multiversion concurrency and ACID.

    Leader badge

    Downloads:
    535 This Week

    Last Update:
    2023-01-26

    See Project

  • 14

    Ulterius

    Ulterius

    Complete control of your desktop from your browser

    Ulterius is a tool that allows easy and complete remote management of your Windows system from your browser. With Ulterius you can start and kill processes, monitor system performance, manage your files and much more, all from your web browser.

    Downloads:
    23 This Week

    Last Update:
    2021-05-04

    See Project

  • 15

    XX-Net

    XX-Net is an easy-to-use, anti-censorship web proxy tool from China. It includes GAE_proxy and X-Tunnel, with support for multiple platforms.

    Downloads:
    19 This Week

    Last Update:
    2023-01-29

    See Project

  • 16

    The Contiki Operating System

    Contiki is an open source, highly portable, networked, multi-tasking operating system for memory-constrained systems.
    Contiki current source code: https://github.com/contiki-os/contiki
    Contiki historical source code: https://github.com/adamdunkels/contiki-1.x

    Leader badge

    Downloads:
    434 This Week

    Last Update:
    2020-12-19

    See Project

  • 17

    VertrigoServ WAMP

    VertrigoServ is a complete free WAMP server allowing PHP development for Windows. It installs Apache 2.4, PHP, MySQL and PhpMyAdmin, both installing and setting up the environment. An uninstaller allows you to remove Vertrigo from hard disc.
    Vertrigo is a freeware compilation of free software (under GPL, Apache License). Main aplication has closed source code. For license details please take a look at every single component terms and conditions.

    Leader badge

    Downloads:
    334 This Week

    Last Update:
    2019-02-26

    See Project

  • 18

    Caddy

    Caddy

    Powerful, enterprise-ready, open source web server w/ automatic HTTPS

    Caddy is a powerful, extensible, enterprise-ready server platform that uses TLS by default. Everything you would require in your infrastructure, from TLS certificate renewals and OCSP stapling, to reverse proxying and ingress, Caddy simplifies it all. Its modular architecture lets you do more with just a single static binary that compiles for any platform.
    Caddy is the only web server that uses HTTPS automatically and by default. It automatically renews TLS certificates, staples OCSP responses and more. Though used mostly as an HTTPS server, Caddy can be used to run Go applications, offering automated documentation, graceful on-line config changes via API and more to these apps.
    Caddy is very extensible, with a powerful plugin system unlike any other web server.

    Downloads:
    15 This Week

    Last Update:
    2022-10-13

    See Project

  • 19

    ooRexx (Open Object Rexx)

    Home of the Open Object Rexx Project. ooRexx is the open source version of IBM’s Object REXX Interpreter. It is upwardly compatible with classic REXX and will execute classic REXX programs unchanged. The project is managed by the Rexx Language Association.

    Leader badge

    Downloads:
    259 This Week

    Last Update:
    2 hours ago

    See Project

  • 20

    MiniWeb HTTP server

    MiniWeb is a high-efficiency, cross-platform, small-footprint HTTP server implementation in C language. It implements GET and POST methods and works on multiple platforms ranging from server, desktop, game console and IoT hardware.

    Leader badge

    Downloads:
    361 This Week

    Last Update:
    2018-04-21

    See Project

  • 21

    Axios

    Axios

    Promise based HTTP client for the browser and node.js

    Axios is a promise-based HTTP client for the browser and Node.js. It makes sending asynchronous HTTP requests to REST endpoints and performing CRUD operations much easier. The Axios library can be used in plain JavaScript or with more advanced frameworks like Vue.js or React.js.

    Downloads:
    7 This Week

    Last Update:
    2 days ago

    See Project

  • 22

    FastHTTP

    FastHTTP is the fastest and reliable HTTP implementation for Go. FastHTTP is tuned for high performance, with zero memory allocations in hot paths. In benchmarks, both FastHTTP server and client have shown to be up to 10 times faster than those of net/http. However, FastHTTP does not provide an API identical to net/http, but it is better to write FastHTTP request handlers by hand so as to make use of all its advantages. One of its key advantages is that unlike net/http it does not limit many optimization opportunities, such as reusing existing objects per request and avoiding unnecessary memory allocations.

    Downloads:
    7 This Week

    Last Update:
    2023-01-10

    See Project

  • 23

    Sanic

    Sanic

    Async Python 3.6+ web server/framework

    Build fast, run fast with Sanic! Sanic is a Python 3.6+ web server and web framework designed to go fast. It provides a way to get a highly performant HTTP server up and running fast, while also making it easy to build, expand, and eventually scale.
    Sanic aspires to be as simple as possible while delivering the performance that you require. It allows the usage of the async/await syntax added in Python 3.5, so your code is guaranteed to be non-blocking and speedy. It’s also ASGI compliant, so it’s possible to deploy with an alternative ASGI webserver.

    Downloads:
    7 This Week

    Last Update:
    2022-12-28

    See Project

  • 24

    Advanced Onion Router

    Advanced Onion Router

    Advanced Onion Router is a portable client for the OR network and is intended to be an improved alternative for Tor+Vidalia+Privoxy bundle for Windows users. Some of the improvements include UNICODE paths, support for HTTP and HTTPS proxy protocols on the same Socks4/Socks5 port with HTTP header filtering that generates fake identity-dependent headers every time the identity is changed (proxy chains are also supported), support for NTLM proxies, a User Interface that makes Tor’s options and actions more accessible, local banlist for forbidden addresses, private identity isolation, a point-and-click process interceptor that can redirect connections from programs that don’t support proxies, also giving them fake information about the local system and support for .onion addresses. Also, it can estimate AS paths for all circuits and prevent AS path intersections, it can restrict circuits to be built using only nodes from different countries, can change circuit lengths and more.

    Leader badge

    Downloads:
    132 This Week

    Last Update:
    2017-05-14

    See Project

  • 25

    cpprestsdk

    cpprestsdk

    Microsoft project for cloud-based client-server communication

    The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services. cpprestsdk is in maintenance mode and we do not recommend its use in new projects. We will continue to fix critical bugs and address security issues. Once you have the library, look at our tutorial to use the http_client. It walks through how to setup a project to use the C++ Rest SDK and make a basic Http request. HTTP client/server, JSON, URI, asynchronous streams, WebSockets client, oAuth. A powerful model for composing asynchronous operations based on C++ 11 features. Windows desktop, Windows Store (UWP), Linux, OS X, Unix, iOS, and Android. Support for Visual Studio 2015 and 2017 with debugger visualizers.

    Downloads:
    6 This Week

    Last Update:
    2021-08-24

    See Project

По тематике этого сайта вполне логично, в одной из первых статей, познакомится с главными инструментами для создания локальных сайтов и программных приложений, платформами локальных серверов. В этой статье кратко ознакомимся с WAMP сборками для разработки локального сайта на машине с установленной Windows. Это основные и наиболее популярные WAMP сборки.

Зачем нужны WAMP платформы?

Ответ на этот вопрос, до банальности прост. Для создания сайтов или разработки и тестирования расширений.

Довольно популярен метод создания сайта сначала на локальной платформе, с последующем переносом сайта на хостинг. Этот способ позволяет в спокойном режиме сделать сайт, протестировать его, не торопясь выбрать хостинг для сайта, например, основывать на рейтинг хостингов для wordpress. Такой спокойный режим работы позволяет не тратится на содержание хостинга, однако требует изучения и выбора локальных платформ «под себя».

Open Server

платформа wamp open server

Данная сборка многовариантная. Установка стационарная (на домашний компьютер) и портативная (на переносной носитель).

Open Server – сборка относительно молодая, однако прочно завоевывает первые позиции в линейке локальных серверов. Причин в этом несколько, но главных три:

  1. Платформа портативна и доступна без установки на операционную систему;
  2. Open Server постоянно обновляется, и не «висит» по несколько лет без апгрейда, что говорит о постоянной работе автора над проектом;
  3. Платформа имеет пять языковых варианта (русский основной).

В сборке Open Server еще много приятных фишек, упрощающих работу разработчика. Радует простота установки, автономная подкачка недостающих программ, два сервиса HTTP (Apache и Nginx), несколько версий СУБД и PHP, наличие управляющей программы.

Оф.сайт: open-server.ru

Xampp

xampp сервер

Данная сборка расшифровывается, как: любая ось+apache+mariabd+php+perl. Установка только стационарная.

Платформа Xampp лидирует в ранге аналогичных платформ, за рубежом. Платформа интересна, возможностью работы на разных операционных системах, об этом говорит первая буква акронима [X]. Это может быть Windows, Linux и OS X. Две буквы [p] в конце акронима, означают php и perl (доступные языки). Вместо MySQL стоит более мощная СУБД MariaDB.

Сообществу XAMPP более 10 лет, как следствие, много информации по использованию платформы. За XAMPP «ухаживают», постоянно обновляют, есть версия c PHP 7.0.4. даже появился русский вариант официального сайта.

Первоисточник:  www.apachefriends.org/ru/index.html

Denver

Сборка WAMP (windows+apache+mysql+php). Установка только стационарная.

denver wamp сервер

Самая легендарная и самая противоречивая платформа локального сервера. Denver, был хорош, когда был один на Российском рынке. Время течет, а Denver никак не хочет развиваться. Пожалуй, Денвер держит первенство в сети, по вопросам о решении проблем его установки и использованию, а еще больше о проблемах при переносе локальных сайтов с него на платные хостинги.

Оф. сайт:  www.denwer.ru/

WampServer

WampSerwer

Оф. сайт:  www.wampserver.com/ru/

Из названия платформы понимаем, что это классическая платформа WAMP: сборка последних версий Apache, MySQL и PHP под Windows. Формально по сборке похожа на Денвер, однако. Денвер и WampServer просто нельзя сравнивать, это два совершенно разных уровня программного продукта, а именно:

  • WampServer ставим без танцев с бубнами в два приема (скачать/установить);
  • Wamp Server элементарно управляется из трея Windows;
  • Конфигурацию сервера можно через интерфейс, без редакции файла конфигурации;
  • На правой кнопке мыши, есть смена версий компонентов платформы, управление параметрами конфигурации сервера, доступ к файлу ошибок, и т.д. и т.п.

USB Webserver

USBVebserver-1

Оф.сайт:  www.usbwebserver.net

Эта платформа не  переведена на русский язык нет, зато есть возможность работать с переносного носителя.  Сборка простая, без излишеств: Apache, MySQL, PHP, правда, с phpMyAdmin. Основное достоинство этого сервера, вы можете использовать его с переносного носителя (USB).

Winginx

Оф. сайт:  winginx.ru

Более интересная сборка: PHP 5, Node.js, MySQL, MongoDB, Redis, memcached, CMS, Фреймворки. Однако нет Apache, а отсюда специфичные модули для ЧПУ и замена файл htaccess, характерного для apache. Вся сборка сервера на веб-сервере Nginx под Windows. Дополнительное программное обеспечение загружаются из магазина Winginx, в том числе популярные CMS.

Vertrigo

Vertigo Serv

Оф. сайт:  vertrigo.sourceforge.net

Достаточно профессиональный набор с простой установкой. Сборка достаточно объемная: сервер Apache, язык PHP, СУБД MySQL, правда с движком SQLite и утилитой для её управления, SQ Lite Manager. Не забыли авторы и про удобство PhpMyAdmin, всем известного администратора MySQL. Для ускорения работы впихнули, Zend Optimizer. На всякий случай напомню: Все собранно для работы на Windows.

Z-Wamp

zwamp.sourceforge.net

Z-WAMP представляет собой легкий пакет нулевой установки веб-сервер, который работает на Windows. Проект направлен на обеспечение последние производственные / стабильные версии Apache, MySQL, PHP, Adminer, MiniPerl, MongoDB, SQLite и альтернативной PHP Cache (APC) для повышения производительности сервера. Z-Wamp может работать с USB флешки.

UwAmp

UwAmp

www.uwamp.com/en

Free локальный сервер WAMP: Apache, MySQL, PHP, SQLite. С данной платформой можно работать на переносных носителях (USB флэшки). Стационарная установка не требуется, UwAmp доступна в виде ZIP архива. Распаковываете архив и запускаете сервер WAMP.

Bitnami WampStack

bitnami

bitnami.com/stack/wamp

Платформа от облачного сервера. Название, Bitnami WAMP Stack. В сборку включены: Apache, PHP, MySQL, OpenSSL, FastCGI, phpMyAdmin, и еще 14 дополнительных программ и все под Windows.

AMPPS

AMPPS

AMPPS одна из 7-ми WAMP платформ

Еще одна платформа под любую операционную систему. Она прочно вошла в ТОП WAMP платформ для разработки. В сборку входят: Apache-MySQL-MongoDB-PHP-Perl- Python. AMPPS мощная платформа для создания сайтов, на готовых CMS входящих в библиотеку AMPPS. Полезна не только для сайтостроения, но как инструмент изучения CMS, форумов и других скриптов для создания веб-ресурсов.

AMPPS работает только с диска, недоступна с переносного носителя.

В сборку входят: веб-сервер Apache, базы данных MySQL и MongoDB, интерпретаторы PHP, Perl, Python. Для того чтобы приступить к созданию веб-сайтов, скачиваем и ставим AMPPS с Softaculous, автоматической установки. Через несколько минут, можно ставить и изучать или создавать локальный сайт на популярных платформах: Joomla, WordPress, Magento, Dolphin при помощи библиотеки Softaculous.

Работает в средах:

  • Windows XP SP2, SP3, Vista, Windows 7,8,10 (Installer Package type: EXE);
  • Linux: Centos, Red Hat, Ubuntu, Fedora, и др. (Installer Package type: RUN)
  • MAC OC X (Installer Package type: DMG)

Официальный сайт: www.ampps.com

Выводы

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

©www.wordpress-abc.ru

Другие статьи 

Похожие посты:

Установка Apache на Windows

В статье описана портативная установка WEB сервера Apache на Windows из zip архива, включая все детали и шаги, такие как поиск и получение актуальной версии дистрибутива Apache для Windows, структура каталогов сборки, настройка Apache перед запуском, тестирование http и https соединений, инсталляция Apache как системной службы Windows. Следуя скринкасту и инструкциям из статьи вы сможете самостоятельно организовать полноценный WEB сервер Apache на Windows и использовать его как для WEB разработки, так и для хостинга своих сайтов.

Apache — наиболее распространенный WEB сервер, который используется на многих хостингах и платформах и прекрасно справляется со своими обязанности для мелких и средних проектов и WEB сайтов. Так же, Apache поддерживается практически всеми хостинг провайдерами и часто предоставляется уже преднастроенным пользователю. Apache является открытым программным обеспечением, не требует платы за использование и очень хорошо сочетается с PHP языком программирования, CMS и сайтами, написанными на PHP, за счет встроенной поддержки и интеграции с PHP,  т.к. Apache, в первую очередь, предназначен для отдачи динамического содержимого. Долгое сотрудничество Apache и PHP делает связку WEB сервера Apache с языком программирования PHP отлаженной, проверенной временем и хорошо настраиваемой платформой для веб приложений, базирующихся на PHP. Многие, достаточно крупные WEB проекты используют именно Apache в связке с PHP CMS. Особенно привлекает в Apache его доступность и простота, в сочетании с большой гибкостью и функциональностью, наличие огромного количества документации и примеров по его настройке и эксплуатации.

Перейти к скринкасту: Установка Apache на Windows

Несмотря на то, что Apache преимущественно используется на Unix и Linux системах он, с тем же успехом и без потери в функциональности, может использоваться и на Windows. Использовать Apache на Windows можно как для WEB разработки, так и для полноценного хостинга сайтов на PHP CMS. Однако, на мой взгляд, наиболее удобно использовать Apache на Windows именно тем, кто ведет PHP веб разработку и тестирование CMS и при этом работает на Windows. Например, если вы постоянно работает на Windows, но вам нужно развернуть и протестировать сайт на PHP CMS, например, WordPress, Joomla или Yii.

В таком случае у вас есть несколько выборов:

  • виртуальная машина VM с Linux, что затратно по времени развертывания и потреблению ресурсов системы;
  • различные сборки Win+AMP;
  • самостоятельно установить все необходимы компоненты Apache, MySQL, PHP на Windows  и настроить, как если бы это было на Linux.
  • Больше вариантов смотри в статье: «Как организовать среду для web разработки»

Использовать виртуальную машину с Linux это очень хороший вариант, но он не всегда удобен, т.к. сама по себе, работающая VM, будет забирать у вашей системы ресурсы, и при слабом железе вы столкнетесь с тормозами, что не добавить комфорта в работе. Так же, нужно будет полностью настроить Linux на VM как WEB сервер. Однако если ваш PC достаточно мощный для такого варианта, то такой подход будет, все же, лучшим решением.

Вариант использования уже готовых сборок Win+AMP тоже не лишен недостатков. Главный недостаток таких сборок в том, что они предлагают свою систему конфигурации Apache, MySQL и PHP, которая часто сильно отличается от нормального подхода при настройке Apache на реальном Linux сервере. Поэтому эти сборки, предлагая вроде бы как облегчение в конфигурации Apache, на самом же деле еще больше запутывают и ломают стандартный поход к конфигурации WEB сервера. Еще одни из недостатков готовых сборок Win+AMP — это привязанность к сайту разработчиков этих сборок, необходимость регистрироваться для получения дополнительных компонентов, а иногда и делать оплату или терпеть рекламу. И самое главное в том, что работая с такими сборками, трудно получить правильное представление о настройке Apache, MySQL и PHP, как это выполнялось бы на реальном Linux сервере. Соответственно, когда придется настраивать Apache и другие компоненты LAMP на реальном Linux сервере, придется заново переучиваться уже на правильные методы и подходы настройки и конфигурации Apache и других компонентов LAMP путем внесения изменений в конфигурационные файлы.

Что делать, если нет желания вникать в системы конфигурации этих сборок, a хочется настраивать и использовать web сервер Apache точно так же, как это делается на Linux сервере, т.е. использовать правильный и естественный подход правки конфигурационных файлов. Именно в этой ситуации, когда вы хотите работать с Apache на Windows точно так же, как и на Linux, самостоятельная, отдельная установка Apache и будет полезна и целесообразна, тем более, что делается это достаточно легко и стандартно, а настройка выполнятся точно также как на Linux сервере.

Как добавить поддержку PHP как обработчика сценариев в Apache на Ubuntu или Windows детально описано в статье Установка PHP7 на Windows в разделе Настройка Apache2.4 для работы с PHP.

Portable Apache на Windows

Apache не предоставляет официальных сборок под Windows, но есть исходники сервера и есть люди, которые делают и выкладывают сборки web сервера Apache для операционный системы Windows. В примерах этой статьи мною будет использоваться для получения таких сборок Apache для Windows сайт: Apache Haus — Your place for the Apache Server and Modules on Windows, на котором размещены для свободного скачивания сборки Apache для Windows на странице загрузки Apache Haus Downloads.

В целях безопасности и предотвращения заражения системы вирусами и троянами, рекомендую скачивать дистрибутивы только из официальных источников. Так же отдавайте предпочтение zip архивам для ручной инсталяции. И даже в этом случае, проверяете скачанные файлы актуальным антивирусом. На своем опыте неоднократно убедился, что в сети нередко предлагают дистрибутивы в виде .exe архива, который содержит вирусы или трояны.

Выбор сайта Apache Haus Downloads, как поставщика дистрибутива Apache, мною сделан не случайно по следующим причинам:

  • во-первых, данный сайт находится в списке рекомендованных сайтов на сайте самого Apache, что повышает доверие к нему;
  • во-вторых, дистрибутив Apache поставляется в виде zip архива, соответственно его можно легко проверить на вирусы и трояны, и быть уверенным в безопасности такой установки.

В примерах этой статьи будет выполнена инсталляция сборки Apache 2.4.23 x64, в состав которой входит: OpenSSL 1.0.2j, nghttp 1.15.0, Zlib 1.2.8 (mod_deflate), PCRE 8.39, APR 1.5.2, APR-Util 1.5.4, IPv6 and TLS SNI enabled на операционную систему Windows7 x64. Данная сборка выполнена с применением Visual Studio 2015 с использованием пакета VC14Visual C++ 2015 x64 Redistributable Package, который должен быть установлен в вашей системе. Компоненты VC14, обычно уже имеются в системе, но если они не установлены, то скачать VC14 для инсталляции можно на официальном сайте Microsoft по ссылке: Распространяемый компонент Microsoft Visual C++ 2015 Update 3 RC.

ШАГ 1 развертывание дистрибутива Apache

Выбор каталога установки Apache

Сборка Apache 2.4.23 x64 от Apache Haus поставляется в zip архиве и не имеет инсталлятора Windows, поэтому считается портативным (portable) вариантом дистрибутива Apache. Portable версия имеет ряд удобств и позволяет разместить дистрибутив в любом каталоге файловой системы и самостоятельно настроить запуск Apache так как вам нужно.

Рекомендую для разрешения дистрибутива Apache выбрать каталог, путь к которому будет содержать только EN символы и не будет иметь пробелов, т.к. этот путь станет для Apache значением ServerRoot директивы, в которой задается домашняя директория WEB сервера.

В примерах этой статьи и скринкаста дистрибутив Apache будет развернут в директорию «Z:WebDevelopmentApache24» и, соответственно, ServerRoot директива будет определена как «Z:/WebDevelopment/Apache24».

Формат значения пути в директиве ServerRoot следующий:

  • слеши прямые и одинарные;
  • завершающего слеша нет;
  • если есть пробелы, то путь должен быть в кавычках («path_to»),
  • на Linux значение чувствительно к регистру символов.

Структура дистрибутива Apache

Сборка Apache 2.4.23 x64 от Apache Haus имеет следующую структуру каталогов:

|Apache24....................Домашняя директория Apache - ServerRoot
    |-- bin..................Директория с бинарниками Apache
    |    `-- ...
    |    `-- ApacheMonitor.exe...Программа монитор для управления Apache как Windows службой
    |    `-- httpd.exe...........Главный исполняемый файл web сервера Apache
    |    `-- ...
    |-- cgi-bin.......Директория обработчика для CGI program
    |-- conf..........Директория с конфигурационными файлами Apache
    |    `-- extra....Директория с дополнительными конфигами Apache, которые подключаются в httpd.conf
    |        |    `-- httpd-ahssl.conf
    |        |    `-- httpd-autoindex.conf
    |        |    `-- httpd-dav.conf
    |        |    `-- httpd-default.conf
    |        |    `-- httpd-deflate.conf
    |        |    `-- httpd-info.conf
    |        |    `-- httpd-languages.conf
    |        |    `-- httpd-manual.conf
    |        |    `-- httpd-mpm.conf
    |        |    `-- httpd-multilang-errordoc.conf
    |        |    `-- httpd-proxy-html.conf
    |        |    `-- httpd-ssl.conf
    |        |    `-- httpd-userdir.conf
    |        |    `-- httpd-vhosts.conf
    |    `-- original........Директория исходных конфигов от Apache, добавлена в сборку для справки
    |    `-- ssl.............Директория для SSL сертификатов
    |    `-- charset.conv....Конфиг установки кодировки, подключаются в httpd.conf
    |    `-- httpd.conf......Главный конфиг Apache в данной сборке от Apache Haus
    |    `-- magic...........Конфиг скриптов для модуля mime_magic
    |    `-- mime.types......Конфиг установки MIME типов
    |    `-- openssl.cnf.....Конфиг OpenSSL
    |-- error................Директория с конфигами страниц ошибок для Apache
    |-- htdocs...............Директория и хост по умолчанию с документацией от Apache Haus
    |-- icons................Директория с иконками
    |-- include..............Директория служебных скриптов Apache
    |-- lib..................Директория вспомогательных библиотек
    |-- logs.................Директория файлов журналов Apache
    |-- modules..............Директория модулей Apache
    |-- ABOUT_APACHE.txt
    |-- CHANGES.txt
    |-- INSTALL.txt
    |-- LICENSE.txt
    |-- NOTICE.txt
    |-- OPENSSL-NEWS.txt
    |-- OPENSSL-README.txt
    |-- README.txt
|-- readme_first.html......Краткий help от Apache Haus, лежит в корне zip архива

Данная сборка Apache 2.4.23 x64 от Apache Haus для Windows является полным дистрибутивом WEB сервера и содержит все необходимые исполняемые и конфигурационные файлы для полноценной работы Apache как веб сервера, включая и использование https соединения. Соответственно, установил эту сборку и настроив ее, вы получаете полный, со всеми модулями, web сервер Apache, который можете использовать не только для разработки и тестирования, но и для продуктивного хостинга сайтов на Windows.

В zip архиве данной сборки так же вложен файл readme_first.html, который содержит краткое описание компонентов данной сборки и их версий. Так же, в этом файле приведены краткие инструкции от Apache Haus по установке Apache, VC14, инсталляции Apache как системной службы и даны необходимые ссылки.

ШАГ 2 настройка Apache

Все конфигурационные файлы WEB сервера Apache данной сборки расположены в каталоге /Apache24/conf. Главным конфигом является файл /Apache24/conf/httpd.conf.

Для успешного запуска Apache, необходимо выполнить всего одну настройку в httpd.conf конфиге сервера, в строке №38, указать директиву ServerRoot, которая определяет путь к домашней директории вашей инсталляции Apache.

Указание ServerRoot

Для примеров этой статьи директива ServerRoot будет иметь значение:

Define SRVROOT "Z:/WebDevelopment/Apache24"
ServerRoot "${SRVROOT}"

здесь в httpd.conf задание ServerRoot выполнено не напрямую, а через определение переменной SRVROOT. Это удобный способ, т.к. позволяет задавать путь единожды в начале конфига, а далее он будет уже применяться автоматически в нужных местах конфигурации через эту переменную.

После установки ServerRoot директивы WEB сервер Apache может быть успешно запущен и будет отображать страницу по умолчанию с документацией по адресу localhost. Все остальные настройки конфигурации Apache уже являются дополнительными и зависят от ваших потребностей.

Детали по конфигам Apache вы можете посмотреть в статьях «Обзор конфигурации Apache в Ubuntu» и «Главный config WEB сервера Apache в Ubuntu», т.к. вся логика, приемы настройки и значения директив будут в данном случае одинаковые как для конфигурации Apache на Windows, так и на Linux.

ШАГ 3 ручной запуск Apache

Основным исполняемым файлом WEB сервера Apache является файл Apache24binhttpd.exe. Соответственно, Apache можно запустить на исполнение как процесс, кликнув по файлу httpd.exe или выполнить команду запуска этого файла в консоли, что будет равнозначно.

Для того, что бы запустить Apache из командной строки на Windows, перейдите в проводнике в директорию с файлом Apache24binhttpd.exe и, зажав клавишу Shift, нажмите правую кнопку мыши и в контекстовом меню выберите пункт «Открыть окно команд«. Тогда командная строка Windows cmd.exe будет запущена уже в этом каталоге с бинарниками сервера и вам не нужно будет в команду включать полный путь до файла httpd.exe, а достаточно будет указать только сам файл с расширением. Если же вы запустил консоль в другом расположении, то включите, в приведенную ниже команду, полный путь к файлу httpd.exe.

Для запуска Apache необходимо набрать в консоли команду

если вы находитесь в папке с исполняемым файлом apache httpd.exe:

>httpd.exe

или, если вы находитесь вне папки с исполняемым файлом apache httpd.exe, то укажите в команде полный путь исполняемому файлу apache:

>Z:WebDevelopmentApache24binhttpd.exe

Данная команда приведет к запуску WEB сервера Apache, при этом, консоль останется запущенной и в окне командной строки исчезнет приглашение на ввод команды в виде знака >. Если при выполнении этих команд командная строка закроется, значит apache не запустился по причине каких либо ошибок в его конфигурации, для этого смотрите основной файл лога apache.

Что бы запускать Apache вручную в окне командной строки из любого места файловой системы простой командой:

> httpd

,т.е. без привязки к каталогу инсталяции Apache и при этом не указывать полный путь к файлу httpd.exe, то нужно прописать в системную переменную PATH путь до каталога с исполняемым файлом apache, т.е. добавить в переменную path строку вида:

;Z:WebDevelopmentApache24bin

Как добавить в переменную path путь к папке с исполняемым файлом детально расписано в статье Установка PHP7 на Windows в разделе ШАГ 2 размещение PHP в Windows на примере PHP.

Если Apache запустился, то в диспетчере задач Windows появятся два активных процесса с именами файлов httpd.exe и описанием для них «Apache HTP Server«. Это,собственно, и есть работающий WEB сервер Apache. То, что мы видим два процесса httpd.exe — это нормально. Это Apache модуль Multi-Processing (MPM) по умолчанию для операционных систем Windows. Он использует единый процесс управления, который запускает дочерний процесс, который, в свою очередь, создает потоки для обработки запросов.

Если же что то пошло не так и сервер не запускается, то читайте его журналы ошибок, которые расположены в каталоге: Apache24logs

Для остановки Apache, запущенного вручную, вышеописанным способом, необходимо вернуться в консоль (в окно открытой командной строки) и нажать комбинацию клавиш Ctrl+C, и через несколько секунд сервер будет остановлен, о чем будет свидетельствовать отсутствие httpd.exe процессов в Диспетчере задач Windows и в окне командной строки снова появится курсор (знак >) ожидания ввода команды. Иногда бывает, что командная строка «виснет», в этом случае повторно нажмите Ctrl+C и если курсор ввода команды не появится, то нажмите Enter. Если с использованием комбинаций клавиш Ctrl+C не получается остановить Apache в консоли, то просто закройте окно командной строки и сервер будет остановлен. Так же можно остановить Apache, выполнив завершение процессов httpd.exe в Диспетчере задач Windows, если предыдущие способы остановки не сработают.

htdocsindex.html

Теперь когда web сервер Apache запущен можно обратиться к его дефолтовый html странице, которая настроена в httpd.conf как хост по умолчанию и физически располагается в каталоге Apache24htdocsindex.html.

Для проверки работы Apache наберите в адресной строке браузера адрес:

http://localhost

Если сервер работает, то вы увидите стартовую дефолтового страницу web сервера Apache от Apache Haus с надписью IT WORKS, что будет говорить о том, что все прошло успешно и Apache полноценно функционирует.

Для проверки HTTPS соединения обратитесь в браузере по адресу:

https://localhost

Браузер запросит ваше подтверждение на использование данного сертификата. Нужно будет вручную разрешить использование этого сертификата, т.к. входящий в сборку сертификат предназначен только для тестирования https соединения и является самоподписным, поэтому он будет отклоняться браузером в начале и требовать вашего одобрения на использование. После добавления сертификата в разрешенные для браузера, откроется снова стартовая страница Apache, но соединение уже будет защищенное по https протоколу с использованием SSL шифрования.

ШАГ 4 инсталляция Apache как службы Windows

Приведенный выше способ запуска и остановки web сервера Apache прекрасно работает и им можно с успехом пользоваться, создав ярлык на исполняемый файл httpd.exe или написав .bat файлы с командами старта и остановки сервера. Однако более удобным вариантом будет использование Apache как системной службы Windows, что позволит запускать и останавливать Apache в автоматическом, полуавтоматическом режимах и вручную. Для этих действий можно будет использовать утилиту управления Apache службой Apache24binApacheMonitor.exe, которая входит в данный дистрибутив Apache. ApacheMonitor.exe это маленькая утилита, представлявшая собой оконную программку, висящую в системном трее и позволяющую выполнять запуск и остановку службы Apache и контролировать ее состояние. Такой подход дает некоторое удобство в работе с web сервером Apache как системной службой Windows. Поэтому, далее будут рассмотрены необходимые действия для установки Apache как системной службы Windows.

Для просмотра списка доступных команд Apache наберите в консоли:

>Z:WebDevelopmentApache24binhttpd help

или, находясь в каталоге с бинарниками Apache:

>httpd -h

и в консоли будет выведен краткий help по доступным командам Apache и их синтаксис:

>httpd -h

Usage: httpd [-D name] [-d directory] [-f file]
             [-C "directive"] [-c "directive"]
             [-w] [-k start|restart|stop|shutdown] [-n service_name]
             [-k install|config|uninstall] [-n service_name]
             [-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]
Options:
  -D name            : define a name for use in  directives
  -d directory       : specify an alternate initial ServerRoot
  -f file            : specify an alternate ServerConfigFile
  -C "directive"     : process directive before reading config files
  -c "directive"     : process directive after reading config files
  -n name            : set service name and use its ServerConfigFile and ServerRoot
  -k start           : tell Apache to start
  -k restart         : tell running Apache to do a graceful restart
  -k stop|shutdown   : tell running Apache to shutdown
  -k install         : install an Apache service
  -k config          : change startup Options of an Apache service
  -k uninstall       : uninstall an Apache service
  -w                 : hold open the console window on error
  -e level           : show startup errors of level (see LogLevel)
  -E file            : log startup errors to file
  -v                 : show version number
  -V                 : show compile settings
  -h                 : list available command line options (this page)
  -l                 : list compiled in modules
  -L                 : list available configuration directives
  -t -D DUMP_VHOSTS  : show parsed vhost settings
  -t -D DUMP_RUN_CFG : show parsed run settings
  -S                 : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG
  -t -D DUMP_MODULES : show all loaded modules
  -M                 : a synonym for -t -D DUMP_MODULES
  -t -D DUMP_INCLUDES: show all included configuration files
  -t                 : run syntax check for config files
  -T                 : start without DocumentRoot(s) check
  -X                 : debug mode (only one worker, do not detach)

Рекомендация: используйте с данными командами полный путь до файла httpd.exe как в примерах ниже.

Для инсталляции Apache как системной службы Windows нужно выполнить в консоли команду:

>Z:WebDevelopmentApache24binhttpd.exe -k install

Для деинсталяции Apache как системной службы Windows нужно выполнить в консоли команду:

>Z:WebDevelopmentApache24binhttpd.exe -k uninstall

После установки Apache в качестве системной службы Windows вы можете настроить работу этой службы стандартным для всех служб Windows способом в Консоли управления Microsoft — оснастке services.msc запустив ее в cmd.exe командой:

>services.msc

или воспользовавшись другими стандартными способами:

  • Меню Пуск, в строке поиска наберите services.msc и нажмите клавишу Enter;
  • Нажмите сочетание клавиш Win+R, наберите services.msc и нажмите клавишу Enter;
  • Через оконный интерфейс по пути: Пуск->Панель управления->Администрирование->Службы

Установленная служба Apache будет иметь:

  • название: Apache2.4;
  • описание: Apache/2.4.23 (Win64) OpenSSL/1.0.2j;
  • тип запуска: Автоматически.

Настройте необходимый вам вариант запуска службы стандартным способом.

Так же, для управления службой Apache2.4 вы можете воспользоваться описанной выше программой из дистрибутива сервера Apache24binApacheMonitor.exe. Для этого запустите указанный файл ApacheMonitor.exe и воспользуйтесь для запуска или остановки Apache кнопками в окне данной программы. В свернутом состоянии эта программа ‘висит’ в системном трее в виде иконки состояния службы Apache и может быть от туда вызвана.

Скриншот запущенной программы ApacheMonitor.exe

Скриншот запущенной программы ApacheMonitor.exe

На этом Portable инсталляция Apache на Windows из zip архива закончена, далее можно приступать к индивидуальной настройке web сервера и организации виртуальных хостов.

Смотри также:

Настройка работы PHP с web сервером Apache2.4 на Windows

Настройка виртуального хоста Apache

Еще, дополнительно, о настройке можно почитать на сайте Apache: CUSTOMIZING APACHE FOR WINDOWS.

4 года назад 28 февраля 2019 в 19:03 138855

Полезно запустить свой локальный веб-сервер хотя бы из любопытства. Понять устройство веба, сделать простенький сайт, втянуться и стать профессиональным разработчиком — проще, чем кажется. Совсем просто одним кликом установить готовый пакет WAMP (Windows: Apache HTTPD, MySQL, PHP), а ещё лучше — разобраться самому.

А чтобы лучше разобраться в веб-серверах давайте вместе установим, самостоятельно настроим и обновим все три компонента: Apache HTTPD 2.4, MySQL 8.0 и PHP 7.3. А заодно разберемся и с phpMyAdmin 4.8.

Если говорить совсем доступно, то заурядному веб-серверу нужны только три вещи: программа для ответа на запросы браузера, в нашем случае это Apache HTTPD, программа для управления базами данных, мы рассмотрим MySQL, и библиотеки для обработки кода на каком-то языке программирования, я поведу речь о PHP. Опционально, но совсем не обязательно, подобрать софт для ручных манипуляций с базами данных. Провайдеры дешевого интернет–хостинга чаще всего дают доступ к phpMyAdmin, а поэтому его используем и мы. Все эти программы совершенно бесплатны, а их код — открыт.

Конечно, базами данных можно управлять иначе, например, через PostgreSQL или SQLite, иначе можно отвечать и на запросы, допустим, через nginx или Microsoft IIS, да и языки можно использовать совершенно другие, скажем, Ruby или Python. Но к 2018 году, вот уже более десяти лет, связка Apache-MySQL-PHP всё ещё остается самой популярной.

Пройдем по чётким пунктам с краткими пояснениями для более глубокого понимания. Если вас интересует только результат — игнорируйте пояснения.

1. Подготовьтесь к установке сервера

Visual Studio Code как нельзя лучше подходит как для работы с файлами конфигурации веб-сервера, так и для написания кода

1.1. Создайте папку web на диске D. Внутри нее создайте 5 подпапок: apache, php, tmp, www и log.

Сервер лучше устанавливать не на тот логический диск, где установлена Windows: чтобы избежать проблем с правами доступа к файлам и случайно не удалить сервер при переустановке системы. Для примера возьмём диск D.

1.2. Установите текстовый редактор кода. Хорошие варианты: Visual Studio Code, Brackets, Atom, Sublime Text и Notepad++.

Редактор не требуется, но с ним удобнее работать: как минимум, редактор нумерует строки и автоматически подсвечивает фрагменты кода разными цветами. Для таких редакторов как VS Code и Atom (и отдельный для Sublime) существуют пакетные менеджеры. Установив дополнительные пакеты, вы заставите редактор «подсвечивать» код ещё большего числа языков, а также научите автоматически указывать ошибки, дополнять выражения и делать многое другое. Но в конце–концов можно использовать и встроенный «Блокнот» Windows.

1.3. В каталоге D:webwww создайте файл index.html с текстом Hello world и файл index.php с текстом <?php phpinfo(); ?>.

HTML–файл необходим для проверки работы веб-сервера Apache HTTPD, который в среде разработчиков чаще называют просто Apache или «апач», хотя это и не совсем верно, ведь так называется группа проектов и стоящая за ними организация Apache Software Foundation, а не одна программа, но это простительная ошибка. Если Apache работает, то в браузере в ответ на обращение к серверу появятся слова Hello world. А вот PHP–файл необходим для проверки работы PHP, о котором ниже. Если PHP работает, то в браузере в ответ на обращение к серверу появятся сведения о конфигурации PHP.

2. Установите и настройте Apache HTTPD

Apache HTTPD или просто «апач» чаще всего используется для обработки запросов и отправки сформированных скриптами ответов по протоколам HTTP и HTTPS

2.1. Загрузите архив с последней версией Apache HTTPD для 64–разрядной Windows: httpd-2.4.38-win64-VC15.zip. На всякий случай, проверьте на официальном сайте Apache Lounge нет ли версии новее: apachelounge.com/download.

Официальная сборка Apache под Windows не выпускается, сборки готовят отдельные организации, самой активной из которых является Apache Lounge. Сам Apache работает по HTTP и в Windows трудится как фоновый процесс, а в Linux — как демон (англ. daemon), откуда и название HTTPD. Существует Apache и под 32-битные версии Windows, для них необходима версия Win32, а не Win64. Указанные в имени файла VC15, VC14 и VC11 говорят о версии Visual Studio, которой скомпилирован Apache. Выберете самую последнюю версию и установите свежие вспомогательные файлы Visual Studio с официального сайта Microsoft: VC_redist.x64.exe.

2.2. Распакуйте архив и перенесите содержимое папки Apache24 в папку D:webapache.

Важно ничего не перепутать и перенести не все содержимое архива, а лишь содержимое подпапки с именем Apache24. В архиве могут быть файлы readme и прочая информация, которая не нужна для работы сервера.

2.3. Откройте файл D:webapacheconfhttpd.conf. Поиском по файлу найдите и измените значение SRVROOT на D:/web/apache. Найдите и измените значения DocumentRoot и Directory на D:/web/www.

У Apache несколько файлов с настройками, все они находятся в папке conf (от слова configuration, «конфигурация» в переводе с английского). Основные настройки задаются в файле httpd.conf. Параметр ServerRoot задает корневую папку самой программы Apache, а DocumentRoot и Directory задают корневую папку хоста, то есть ту папку, в которой хранятся файлы сайта. Номера строк с параметрами могут меняться в новых версиях Apache, поэтому я их не привожу, поищите параметры по документам. Чтобы открыть окошко поиска в вашем текстовом редакторе, нажмите Ctrl + F.

2.4. В том же файле httpd.conf найдите, раскомментируйте и измените значение ServerName на localhost:80.

Параметр ServerName задаёт доменное имя, по которому хост (иначе говоря, сайт) будет откликаться. Так повелось, что домен внутри компьютера называют localhost и этот домен соответствует IP–адресу 127.0.0.1. Для обращения к сайту можно использовать как доменное имя, так и IP–адрес. Порт под номером 80 используется в вебе для протокола HTTP без шифрования. Комментарии в файле конфигурации Apache предваряются октоторпом (символом решетки), сервер будет игнорировать такие строки.

2.5. В том же файле httpd.conf найдите и измените значение параметра ErrorLog на "D:/web/log/apache-error.log", а также значение CustomLog на "D:/web/log/apache-access.log" common. Сохраните файл httpd.conf с перезаписью.

Как правило, работающий сервер выдает ошибки. Даже опытным разработчикам редко удается их избежать. Параметры ErrorLog и CustomLog хранят адреса файлов с журналами ошибок сервера. Если с сервером что–то не так — загляните в эти файлы.

2.6. Установите Apache через командную строку. Откройте командную строку (или выполните команду cmd в PowerShell) от имени администратора и выполните команду D:webapachebinhttpd.exe -k install.

Сервер установится тут же, прямо в режиме командной строки. Если вся подготовка прошла без ошибок — Apache установится, но ещё не запустится. Если захотите удалить Apache, то выполните в командной строке команду D:webapachebinhttpd.exe -k uninstall.

2.7. Запустите «Диспетчер задач» Windows, перейдите на вкладку «Службы». Найдите Apache2.4 в списке служб, вызовите контекстное меню: так вы сможете запустить, остановить или перезапустить сервер. Запустите сервер.

В файлах сервера Apache для Windows также есть программа Apache Monitor, графический интерфейс, смысл которого ровно такой же: запускать, останавливать и перезапускать службу Apache2.4. Но в последней версии Windows 10 сильно проще попасть в список служб, поэтому смысла пользоваться Apache Monitor больше нет.

2.8. Откройте браузер и наберите адрес http://localhost/ или http://127.0.0.1/ — вы должны увидеть надпись Hello world.

Браузер обратится с запросом по 80 порту к тому же компьютеру, на который он установлен, и будет ждать ответа. Если установка Apache прошла без ошибок, но в ответе нет надписи Hello world — проверьте есть ли в каталоге D:/web/www файл index.html и еще раз пройдитесь по всем пунктам. Если все прошло успешно и в ответ вы получили файл index.html, то поздравляю, вы уже можете дополнять его кодом на HTML, CSS и JavaScript и обращаться к файлам по имени хоста.

2.0. Обновить Apache легко. Переименуйте папку D:webapache в apache_old, распакуйте новую версию Apache в D:webapache, перенесите httpd.conf из папки apache_old в папку apache. Если все работает — удалите apache_old.

3. Добавьте в Apache виртуальные хосты

Для запуска, остановки и перезапуска «апача» можно использовать Apache Monitor, но не менее просто перезапускать службу Apache2.4 прямо из «Диспетчера задач»

3.1. Откройте файл C:WindowsSystem32driversetchosts от имени администратора. Добавьте в него строки 127.0.0.1 host1.localhost и 127.0.0.1 host2.localhost. Сохраните файл hosts.

Если текстовый редактор не может работать от имени администратора в защищенной папке Windows, то файл host можно скопировать в ничем не защищенную папку. Например, на Рабочий стол, где его можно отредактировать, сохранить, переместить обратно и подтвердить операцию с административными привилегиями, когда Windows их запросит. Редактор Visual Studio Code может запрашивать привилегии прямо во время сохранения защищенных файлов.

3.2. Создайте папки D:webwwwhost1.localhost и D:webwwwhost2.localhost для виртуальных хостов. Внутри каждой папки создайте по файлу index.html с текстом host1 и host2 соответственно, а также по файлу index.php с текстом <?php phpinfo(); ?>.

HTML–файлы необходимы для проверки работы новых хостов Apache. Если хост работает, то в ответ на обращение к хосту в браузере появится соответствующий текст.

3.3. Создайте папки D:webloghost1.localhost и D:webloghost2.localhost для журналов ошибок виртуального хоста.

3.4. Откройте файл D:webapacheconfhttpd.conf. Раскомментируйте строку Include conf/extra/httpd-vhosts.conf. Сохраните файл httpd.conf.

Когда Apache увидит, что у него есть доступ к httpd-vhosts.conf, то он перестанет принимать во внимание указанные ранее параметры DocumentRoot, ServerName, ErrorLog и CustomLog в файле httpd.conf. Все эти параметры будут взяты из файла конфигурации виртуальных хостов, а самый первый указанный хост будет считаться за localhost.

3.5. Откройте файл D:webapacheconfextrahttpd-vhosts.conf. Опишите виртуальные хосты в следующей нотации, после чего перезапустите Apache:

<VirtualHost *:80>
ServerAdmin webmaster@host1.localhost
DocumentRoot "D:/web/www/host1.localhost"
ServerName host1.localhost
ServerAlias www.host1.localhost
ErrorLog "D:/web/log/host1.localhost/error.log"
CustomLog "D:/web/log/host1.localhost/access.log" common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@host2.localhost
DocumentRoot "D:/web/www/host2.localhost"
ServerName host2.localhost
ServerAlias www.host2.localhost
ErrorLog "D:/web/log/host2.localhost/error.log"
CustomLog "D:/web/log/host2.localhost/access.log" common
</VirtualHost>

3.6. Откройте браузер и перейдите по адресам http://host1.localhost/ и http://host2.localhost/ — вы должны увидеть надписи host1 и host2 соответственно.

Если хочется поработать с двумя и более проектами на одном компьютере, то под каждый из них легко создать отдельные виртуальные хосты. Еще один хост легко создать, пройдя по инструкции сначала: создать папку хоста в D:webwww, папку журналов ошибок в D:weblog, строку с именем хоста в файле hosts и блок VirtualHost в файле httpd-vhosts.conf.

3.0. Сохранить виртуальные хосты при обновлении Apache также легко. Просто не забудьте перенести еще и D:webapache_oldconfextrahttpd-vhosts.conf в новую папку apache.

4. Установите и настройте PHP

Несмотря на высокую конкуренцию, PHP остаётся самым распространённым серверным языком программирования с продвинутыми объектно-ориентированными возможностями

4.1. Загрузите архив с последней версией PHP для 64–разрядной Windows: php-7.3.2-Win32-VC15-x64.zip. На всякий случай, проверьте на официальном сайте PHP нет ли версии новее: https://windows.php.net/download/.

Обратите внимание, что вам нужна версия Thread Safe, то есть работающая в нескольких потоках, и она должна точно соответствовать версии Visual Studio, с помощью которой был скомпилирован Apache, например — VC15. Разрядность тоже должна быть как у Apache, 64-битные версии обозначаются x64, а 32-битные — x86.

4.2. Распакуйте архив и перенесите все его содержимое в папку D:webphp.

4.3. Откройте файл D:webapacheconfhttpd.conf. Найдите секцию файла со множеством строк LoadModule и в самый ее конец добавьте две строки, первая — LoadModule php7_module "D:/web/php/php7apache2_4.dll", и вторая — AddHandler application/x-httpd-php .php.

Отдельная секция настроечного файла Apache посвящена модулям, которые расширяют возможности сервера. Строки можно было бы указать где угодно, но принято указывать их в этой секции. Здесь мы дополняем функциональность сервера библиотекой PHP и указываем расширения файлов c этим языком — .php. Существуют еще сотни популярных и полезных модулей, серьезно улучшающих работу Apache.

4.4. В том же файле httpd.conf сразу после секции LoadModule добавьте строку PHPIniDir "D:/web/php".

Директивой PHPIniDir задается адрес файла php.ini. Этот файл содержит множество важных настроек самого PHP: допустимые размеры файлов для обработки, ограничения времени работы скриптов, параметры пользовательских сессий и многое другое.

4.5. В том же файле httpd.conf найдите и измените значение DirectoryIndex на index.php index.html. Сохраните файл httpd.conf с перезаписью.

4.6. Перезапустите Apache, откройте браузер и перейдите по адресу http://localhost/ или http://127.0.0.1/ — вы должны увидеть сведения о конфигурации PHP и Apache.

Это значит, что вы все сделали правильно.

4.7. Откройте файл D:webphpphp.ini-development и сохраните его под именем D:webphpphp.ini.

Изначально php.ini отсутствует из соображений безопасности, владелец сервера должен самостоятельно его создать и проверить.

4.8. В файле D:webphpphp.ini найдите, раскомментируйте и отредактируйте следующие параметры: параметр extension_dir = "D:/web/php/ext", параметр sys_temp_dir = "D:/web/tmp", параметр extension=mysqli, параметр extension=mbstring, параметр date.timezone = Europe/Moscow (укажите свой часовой пояс в соответствии с документацией php.net/manual/ru/timezones.php). Сохраните php.ini и перезапустите Apache.

В то время как PHP работает как расширение Apache, у самого PHP также есть множество важных и полезных расширений в виде библиотек, многие из которых идут в комплекте с PHP; прежде чем подключать эти расширения необходимо указать их адрес в параметре extension_dir. По ходу работы большинства популярных скриптов создаются временные файлы, необходимо указать папку для этих файлов в параметре sys_temp_dir. Одно из самых востребованных расширений — mysqli, стандартная библиотека для PHP, которая позволяет подключаться к базам данных под управлением MySQL. При работе с базами нередко нужно разбивать или собирать строки из нескольких мегабайт, для чего будет полезна библиотека mbstring. Также не стоит забывать про свой часовой пояс — он указывается вручную. С этим минимальным набором вы можете выполнять скрипты на PHP, хотя локальной базы данных у вас ещё нет.

4.0. Обновить PHP легко. Переименуйте папку D:webphp в php_old, распакуйте новую версию PHP в D:webphp, перенесите php.ini из папки php_old в папку php. Если все работает — удалите php_old.

5. Установите и настройте MySQL

Сегодня MySQL развивает компания Oracle, которая предлагает и другие серверы баз данных, но MySQL остаётся выбором номер один для сайтов малого и среднего масштабов

5.1. Загрузите последнюю версию MySQL Installer для Windows: mysql-installer-community-8.0.15.0.msi. На всякий случай, проверьте на официальном сайте MySQL нет ли версии новее: dev.mysql.com/downloads/windows/installer/.

Обратите внимание на то, что это только установщик, и он собран для 32–битных Windows. Уже в ходе установки вы выберете какая версия MySQL вам нужна: для 64– или 32–битных систем.

5.2. Установите MySQL Installer. Программа установится без лишних диалогов и сразу запустится с предложением принять лицензионное соглашение и установить уже сам MySQL. Примите лицензионное соглашение.

Установщик пригодится в будущем для обновления MySQL — сам MySQL обновляться не умеет. Если установщик мешает, то его можно удалить и установить снова, когда появится желание обновить MySQL. Программа без труда определит установленную версию MySQL и предложит ее обновить. Новые минорные версии MySQL выходят достаточно часто, не лишним будет периодически заглядывать в установщик. Правда, при выходе мажорного обновления могут потребоваться полное удаление и повторная установка как самой MySQL, так и MySQL Installer.

5.3. Выберете тип Custom (англ. Индивидуальный) на этапе Choosing a Setup Type (англ. Выбор типа установки) и нажмите Next.

Остальные типы установки включают большое количество программ, которые могут и не пригодиться. В любой момент можно будет запустить установку повторно и добавить английскую документацию, примеры, командную строку MySQL, фирменный визуальный редактор, универсальные драйверы ODBC и прочее.

5.4. Выберете MySQL 8.0.15 — X64 из древовидного списка MySQL Servers в поле Available Products (англ. Предлагаемые продукты), нажатием стрелки перенесите этот пункт в поле Products/Features to be Installed (англ. Продукты для установки), нажмите Next, подтвердите установку редистрибутива Visual Studio нажатием Execute, нажмите Next, снова нажмите Execute для установки сервера и переходите к конфигурации нажав Next ещё дважды.

Затянутая процедура установки нужна только чтобы исключить неоднозначности и сто раз перепроверить каждый компонент, ведь сервер баз данных может оказаться самым критическим звеном инфраструктуры.

5.5. Выберете Standalone MySQL Server (англ. Обособленный сервер MySQL) на первом шаге диалога о конфигурации установки.

В MySQL версии 8.0 появилась возможность установить тестовый кластер для баз InnoDB, но это узкоспециализированная задача, не для широкого круга начинающих энтузиастов.

5.6. Не меняйте настройки по умолчанию на втором шаге и нажмите Next.

Если у вас будет небольшая база данных, то лучше оставить Development Computer (англ. Компьютер для разработки) в поле Config Type (англ. Тип конфигурации). Если же база будет большой и потребует много оперативной памяти — взгляните на другие варианты. В форме Connectivity (англ. Соединение) всё же лучше ничего не менять.

5.7. Выберете Use Legacy Authentication Method (англ. Использовать устаревший метод проверки подлинности) на третьем шаге и нажмите Next.

Новый метод проверки подлинности логина и пароля доступа к серверу MySQL намного надежнее, но на 2018 год мало какие движки сайтов его поддерживают.

5.8. Придумайте пароль root–пользователя сервера на четвертом шаге, проще всего использовать такой же пароль — root, и нажмите Next.

На локальном компьютере некому вас взламывать, сложность пароля не имеет значения. Дополнительные пользователи также вряд ли понадобятся.

5.9. Снимите галочку Start the MySQL Server at System Startup (англ. Запускать сервер MySQL при запуске системы) на пятом шаге, и нажмите Next.

Галочку имеет смысл снять, если вам не нужно чтобы MySQL со всеми базами висел в оперативной памяти с самого запуска Windows. Если памяти не жалко, и вы не будете забывать остановить службу MySQL80, когда она вам не нужна, — автозагрузку можно и оставить.

5.10. Нажмите Execute. MySQL сервер будет установлен и запущен. Нажмите Finish чтобы выйти из программы установки MySQL — вы вернетесь в MySQL Installer, нажмите Next и Finish уже в нем.

Запустите «Диспетчер задач» Windows и увидите mysqld.exe в фоновых процессах (d расшифровывается как daemon, англ. демон, аналог Windows–процессов в системах Linux). Откройте вкладку «Службы» и увидите службу по имени MySQL80, которую вы можете останавливать и запускать по правому клику мыши. Поздравляю, вы установили СУБД MySQL и настало самое время к ней подключиться.

5.0. Обновить MySQL ещё легче. Установите или запустите уже установленный MySQL Installer и проверьте в нём обновления. А если понадобится найти сами файлы баз данных под управлением MySQL, например, для переноса на новую мажорную версию, — вы их найдете по пути C:ProgramDataMySQLMySQL Server 8.0Data.

6. Установите и настройте phpMyAdmin

На абсолютном большинстве недорогих виртуальных хостингов для редактирования баз данных предлагается именно phpMyAdmin

6.1. Загрузите архив с последней версией phpMyAdmin: phpMyAdmin-4.8.5-all-languages.zip. На всякий случай, проверьте на официальном сайте phpMyAdmin нет ли версии новее: phpmyadmin.net/downloads/.

Обратите внимание на то, что phpMyAdmin (или просто PMA) работает на чистом PHP, это не программа для Windows. Для работы PMA должен быть запущен Apache с модулем PHP.

6.2. Распакуйте содержимое phpMyAdmin-4.8.5-all-languages (папка в архиве может быть вложена) в папку D:webwwwpma.localhost, создайте отдельный виртуальный хост pma.localhost и не забудьте перезапустить Apache.

Конечно, PMA можно просто поместить в отдельную подпапку любого уже настроенного хоста, но экономить на хостах на своем собственном компьютере нет никакого смысла — а отдельный хост удобнее просто для порядка.

6.3. Откройте браузер и наберите адрес http://pma.localhost/ — вы должны увидеть окно phpMyAdmin для подключения к серверу MySQL. Введите логин root и пароль root — вы увидите графическое представление своих баз данных.

6.4. Опционально: в файле D:webwwwpma.localhostconfig.sample.inc.php найдите параметр $cfg['blowfish_secret'] = '', поставьте в одиночные кавычки строку из 32 произвольных символов, на основе которых будут сгенерированы куки–файлы и сохраните файл под именем D:webwwwpma.localhostconfig.inc.php.

Чтобы получить 32 символа на реальном сервере — можно упасть лицом на клавиатуру, а на локальной машине достаточно трижды набрать цифры от 0 до 9 и добавить 01: 01234567890123456789012345678901.

6.0. Обновить phpMyAdmin относительно легко. Переименуйте папку D:webwwwpma.localhost в pma.localhost_old, распакуйте новую версию phpMyAdmin в папку pma.localhost, перенесите config.inc.php из папки pma.localhost_old в папку pma.localhost. Если всё работает — удалите pma.localhost_old.

Локальные серверы позволяют запускать свой сайт без использования хостинга, прямо на домашнем компьютере. Это может пригодиться для детального тестирования, а также в процессе разработки. Ничего не помешает накатить туда CMS и взаимодействовать с базами данных. Вся сложность заключается в выборе самой программы, которая и выполняет роль локального сервера. Подходящих вариантов существует огромное количество, и каждый из них обладает своими особенностями, так что сказать, какой локальный сервер лучше других, достаточно сложно.

Давайте детально разберемся в этом вопросе, рассмотрев несколько самых популярных представителей. Итак, топ лучших локальных серверов.

OpenServer

Начать стоит с программы под названием OpenServer. При ознакомлении сразу же бросается в глаза дружелюбный продуманный интерфейс, который и является одним из главных плюсов этого решения. Среди других преимуществ можно отметить простую установку, удобное управление с добавленными сайтами и отсутствие необходимости долгой настройки, чтобы все работало как надо. OpenServer отлично помещается на обычную флешку и не состоит из множества компонентов, поэтому прекрасно подходит для портативной работы.
Использование OpenServer в качестве локального сервера

Если минусы в OpenServer и есть, то они связаны только с небольшими проблемами во время функционирования сайтов, но решаются за несколько секунд банальным перезапуском программы. В остальном же это один из лучших вариантов для тех, кто давно хотел развернуть локальный сервер на своем компьютере или всегда иметь его под рукой, записав на флешку.

Распространяется OpenServer бесплатно, а разработчики предлагают лишь добровольно поддержать проект. Перейти к скачиванию этой программы для Windows можно на официальном сайте.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Denwer

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

Использование Denwer в качестве локального сервера

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

Читайте также

Ошибка сервера 405

Ошибка сервера 401

WampServer

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

Использование WampServer в качестве локального сервераОднако есть у WampServer и ряд недостатков, которые в большинстве своем связаны с настройкой. Для этого придется редактировать локальные файлы, а также заморочиться с правильным конфигурированием MySQL. Распространяется этот инструмент бесплатно.

XAMPP

XAMPP полноценный комплект всего программного обеспечения, которое необходимо для развертывания локального сервера на домашнем компьютере. Плюсами этого инструмента можно считать бесплатное распространение и поддержку абсолютно всех пакетов, включая PHP, MariaDB и Perl.

Использование XAMPP в качестве локального сервера

Из минусов можно отметить только медленную работу в сравнении с аналогами, однако при правильной настройке эта проблема ликвидируется. Для начала использования XAMPP нужно перейти на официальный сайт и скачать исполняемый файл.

AMPPS

AMPPS будет сложнее использовать как полноценный веб-сервер из-за тонкостей в настройке, однако здесь есть перечень всех требуемых приложений, позволяющих разрабатывать на PHP, подключая при этом MySQL. 

Использование AMPPS в качестве локального сервера

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

Читайте также

Ошибка 503

Ошибка сервера 403

The Uniform Server

Одна из самых легких версий локального сервера, предназначенная для компьютеров под управлением Windows. Это ее главное преимущество, ведь пользователю не придется скачивать огромное количество файлов, которые занимают дисковое пространство.

Использование The Uniform Server в качестве локального сервера

К недостаткам The Uniform Server относится то, что с самой программой придется взаимодействовать практически всегда через консоль, а в графическом интерфейсе выполняется всего несколько действий. 

Если вы решили попробовать это решение, загрузите его с официального сайта и начните бесплатное использование.

Devilbox

Devilbox тоже подходит для локальной разработки, ведь он поддерживает полное взаимодействие с LAMP, разработчики не ставят ограничений по одновременно запущенным проектам, а настройка док-стека происходит при помощи PHP.

Использование Devilbox в качестве локального сервера

В Devilbox все уже настроено, поэтому сразу после установки можно перейти к полноценной разработке и тестированию. Однако недостатком можно считать принцип установки, ведь он немного сложнее, нежели у конкурентов. Ознакомиться с ним и скачать все необходимые файлы можно на http://devilbox.org/.

Winginx

Если вы давно искали веб-сервер, который функционировал бы в среде NGINX, но не могли найти подходящий вариант, обратите внимание на Winginx. Это комплексный инструмент, поддерживающий разные языки программирования и несколько систем управления базами данных.

Использование Winginx в качестве локального сервера

Из недостатков стоит выделить необходимость ручной сборки, а также ограниченную гибкость в сравнении с конкурентами, функционирующими на Apache. Winginx доступен на сайте разработчика.

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

VDS Timeweb арендовать

Немногие в силах установить и настроить Apache, MySQL и PHP. А разрабатывать на PHP уже хочется сразу и именно сейчас. И чтобы не тратить время на изучение тонкой настройки Apache, MySQL и PHP, придумали именно готовые сборки Web-серверов, которые упрощают весь процесс установки и настройки. Но я думаю что для профессиональной разработки нужно все таки научиться устанавливать и настраивать Web-сервер самому. Конечно если у Вас уже есть хостинг платный или бесплатный, можно пользоваться им для проверки своих проектов, но это создать кучу ненужных на первых этапах разработки проблем, здесь нужен будет постоянный и высокоскоростной доступ в интернет, и хороший хостинг. А для того что бы не мучатся с хостингами, можно пока что что разрабатывать все на локальном компьютере, для чего собственно и нужен установленный Web-сервер. XAMPP – это один из немногих комплектов для разработчика который является кроссплатформенным, иными словами будет хорошо работать как на Windows так и на Linux, Mac OS X, Solaris.
XAMPP – отличное решение для начинающего web-программиста, так как опять же повторюсь не придется мучатся с настройками, и при прочтении какой то книги по PHP (например той о которой писал раньше – PHP – это просто. Программируем для Web-сайта. – А. Шкрыль) Вы сразу сможете испробовать все примеры из книги на практике, при этом не вдаваясь в подробности и тонкости настройки Web-сервера.

XAMPP - готовый комплект Web-сервера

Сегодня я попытаюсь рассказать о XAMPP, как его установить и вкратце о том как с ним работать.

XAMPP больше распространен у англоязычного населения, в то время как у русскоговорящих пользователей очень распространен Джентльменский набор Denwer. Почему я выбрал именно XAMPP – просто мне XAMPP кажется более удобным в использовании, и еще привлекает хорошая поддержка, то есть разработчики XAMPP всегда следят за тем что бы при появлении новой версии той или иной библиотеки, комплект Web-сервера обновлялся. XAMPP не создает никаких дополнительных дисков, и содержит очень широкий выбор библиотек, которые можно добавить.
Кстати аббревиатура XAMPP означает – X(любая из ОС: Linux, Windows, Mac OS, Solaris), Apache, MySQL, PHP, Perl. Мы будем рассматривать для ОС Windows, для которой существует две версии XAMPP Windows и XAMPP Lite. Они отличаются лишь содержанием пакетов, в версии Lite меньше разных библиотек.

XAMPP Windows 1.7.3 [Basic package]

Данная версия содержи следующие библиотеки:

  • Apache 2.2.14 (IPV6 enabled)
  • MySQL 5.1.41 (Community Server) with PBXT engine 1.0.09-rc
  • PHP 5.3.1 (PEAR, Mail_Mime, MDB2, Zend)
  • Perl 5.10.1 (Bundle::Apache2, Apache2::Request, Bundle::Apache::ASP, Bundle::Email, Bundle::DBD::mysql, DBD::SQlite, Randy Kobes PPM)
  • XAMPP Control Version 2.5.8 (ApacheFriends Edition)
  • XAMPP CLI Bundle 1.6
  • XAMPP Port Check 1.5
  • XAMPP Security 1.1
  • SQLite 2.8.17
  • SQLite 3.6.20
  • OpenSSL 0.9.8l
  • phpMyAdmin 3.2.4
  • ADOdb v5.10
  • FPDF v1.6
  • Zend Framework 1.9.6 Minimal Package (via PEAR)
  • Mercury Mail Transport System v4.72
  • msmtp 1.4.19 (a sendmail compatible SMTP client)
  • FileZilla FTP Server 0.9.33
  • Webalizer 2.21-02 (with GeoIP lite)
  • apc 3.1.3p1 for PHP
  • eAccelerator 0.9.6-rc1 for PHP
  • Ming 0.4.3 for PHP
  • PDF with pdflib lite v7.0.4p4 for PHP
  • rar 2.0.0-dev for PHP
  • Xdebug 2.0.6-dev for PHP
  • libapreq2 v2.12 (mod_apreq2) for Apache

Системные требования:

  • 128 MB RAM
  • 320 MB свободного места на жестком диске
  • Windows 2000, XP (Server 2003), Vista (Server 2008), 7
  • все 32 bit ОС (64 должны работать)

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

XAMPP Lite 1.7.3 [Basic package]

  • Apache 2.2.14 (IPV6 enabled)
  • MySQL 5.1.41 (Community Server) with PBXT engine 1.0.09-rc
  • PHP 5.3.1 (PEAR)
  • Miniperl 5.10.1
  • XAMPP Control Version 2.5.8 (ApacheFriends Edition)
  • XAMPP CLI Bundle 1.6
  • XAMPP Port Check 1.5
  • XAMPP Security 1.1
  • SQLite 2.8.17
  • SQLite 3.6.20
  • OpenSSL 0.9.8l
  • phpMyAdmin 3.2.4
  • msmtp 1.4.19 (a sendmail compatible SMTP client)
  • Webalizer 2.21-02 (with GeoIP lite)
  • Ming 0.4.3 for PHP
  • PDF with pdflib lite v7.0.4p4 for PHP

Системные требования:

  • 28 MB RAM
  • 192 MB свободного места на жестком диске
  • Windows 2000, XP (Server 2003), Vista (Server 2008), 7
  • все 32 bit ОС (64 должны работать)

Напомню если говорил, и скажу если еще не сказал что XAMPP является полностью бесплатным, и распространяется под лицензией GNU GPL. Как видно из списка библиотек обоих версий Вам для начала работы с PHP подошла бы и Lite версия, но нужно думать о будущем и том что в дальнейшем Вам может понадобиться больше библиотек, поэтому будем рассматривать версию XAMPP Windows 1.7.3 [Basic package].

Установка

Для того чтобы начать процесс установки нужно скачать установочный файл или архив, в данном случае будем использовать установочный файл который находится по следующему адресу – http://www.apachefriends.org/download.php?xampp-win32-1.7.3.exe.
Я надеюсь Вы уже загрузили установочный файл, потому что в самом процессе установки нет ничего сложного все довольно просто, Вам нужно нажать только на кнопку Install. Перед установкой можно изменить путь установки, я оставил по умолчанию C:, при этом сам XAMPP у Вас установится в директорию – C:xampp.

XAMPP - готовый комплект Web-сервера

Фактически это само распаковывающийся архив, поэтому просто ждем пока будет идти процесс распаковки(установки).

XAMPP - готовый комплект Web-сервера

После этого файл setup_xampp.bat запустится автоматически, и у Вас должна открыться командная строка, где продолжается установка XAMPP. Здесь у Вас спрашивают про то создать ли ярлык на рабочем столе, выберите “y” если согласны и “n” если несогласны и потом нажимаем Enter.

XAMPP - готовый комплект Web-сервера

Теперь у нас спрашивают правильно ли указан путь к XAMPP, нажимаем “y” если согласны с тем что бы XAMPP находился в директории C:xampp, если не согласны то жмем “x” и начинаем все с начала. Нажимаем “y” а затем клавишу Enter.

XAMPP - готовый комплект Web-сервера

В следующем окне можно выбрать как тип установки – портативную версию XAMPP (чтобы можно было переносить на флеш-накопителе), для этого нужно выбрать “y”, в данном случаем нажимаем “n” и за тем Enter, так как мы устанавливаем на жесткий диск.

XAMPP - готовый комплект Web-сервера

В следующем окне будет выведен список того что установилось, в том числе и то что нам нужно, а именно PHP, MySQL, Apache. Здесь просят нажать Enter для продолжения, что собственно и делаем.

XAMPP - готовый комплект Web-сервера

На следующем шаге нам выведется сообщение о том что автоматически был определен часовой пояс и поставлен в файлы “php.ini” и “my.ini”, в моем случае – Europe/Helsinki. Здесь нажимаем Enter.

XAMPP - готовый комплект Web-сервера

Наш комплект Web-сервера XAMPP установлен. На этом этапе в командной строке отображается несколько действий на выбор, а именно:

  1. запустить XAMPP Control Panel
  2. переместить XAMPP (текущий путь: C:xampp)
  3. отключить HTTPS (SSL)
  4. отключить Server Side Includes (SSI)
  5. включить только IPv4 (текущий: IPv4/6(автоматически))
  6. отключить mod_perl
  7. отключить Apache:ASP

Здесь Вы конечно можете выбрать какой то пункт меню на свое усмотрение. Для того что бы запустить XAMPP Control Panel нужно выбрать пункт №1 и нажать на Enter, или выбрать x (как сделал я) для выхода и потом запустить ярлык на рабочем столе – XAMPP Control Panel. В том случае если вы установили без создания ярлыков, то нужно зайти в директорию C:xampp и запустить xampp-control.exe. В этой же директории располагаются ярлыки для запуска отдельных модулей.

XAMPP - готовый комплект Web-сервера

После запуска XAMPP Control Panel тем или иным способом Вы должны увидеть следующее:

XAMPP - готовый комплект Web-сервера

Использование

XAMPP очень прост в использовании, и хорошо интегрируется NetBeans (об этой IDE я писал раньше – NetBeans как IDE для PHP). В XAMPP очень удобная Control Panel,она проста в использовании и содержит все необходимое для комфортной работы и создании шедевров в программировании.

На скриншоте выше видно Список модулей (Modules)а именно: Apache, MySQL, FileZilla, Mercury, Tomcat. Для того чтобы запустить тот или иной модуль нужно на кнопку, которая находится рядом с модулем, а именно Start. В нашем случае запустим Apache и MySQL. Если Вы хотите запускать модули как службы Windows и что бы они автоматически выполнялись после загрузки ОС, нужно поставить рядом с названием модуля флажок Svc. Модули устанавливаются в качестве служб Windows при установке флажка и удаляются при снятии флажка Svc.

XAMPP - готовый комплект Web-сервера

С права вынесены все кнопки полезных функций, а именно:
Shell – запускает командную строку, в которой можно работать с сервером

XAMPP - готовый комплект Web-сервера

Setup – здесь находятся некоторые настройки XAMPP, которые собраны в небольшое меню, о них я писал выше

XAMPP - готовый комплект Web-сервера

Port-Check – при нажатии на эту кнопку можно проверить нужные для Web-сервера порты

XAMPP - готовый комплект Web-сервера

Explore – после нажатия на данную кнопку будет открыта директория в которую установлен XAMPP (C:xampp)
SCM – здесь будет открыто окно для управления службами Windows
Refresh – при нажатии на эту кнопку состояние всех модулей будет обновлено, обратите внимание что они будут обновлены а не перезагружены
Help – здесь находится небольшая справка по работе с XAMPP Control Panel
Exit – выход из XAMPP Control Panel, обратите внимание что при этом закроется просто Control Panel все модули которые были включены останутся в рабочем состоянии
Если просто закрыть окно XAMPP Control Panel то остается иконка в трее, при наведении на которую отображается информация о работающих модулях. При нажатии на иконку в трее правой кнопкой мыши, произойдет Refresh XAMPP.
При запуске нужных Вам модулей, станут активными кнопки с надписью Admin. При нажатии на любую из них запускается установленный по умолчанию браузер и в нем административная панель того или иного модуля. Вот к примеру так выглядит приветственная страница XAMPP, после нажатия на кнопку Admin возле Apache. Здесь нужно выбрать тот язык который Вам больше нравится, в более старых версия доступен также русский, в данном случае выбираем English.

XAMPP - готовый комплект Web-сервера

После выбора языка появится веб-интерфейс XAMPP. В котором на первой странице нас приветствуют, и поздравляют с установкой комплекта Web-сервера.

XAMPP - готовый комплект Web-сервера

В веб-интерфейсе очень много всего полезного, там есть достаточно большое меню в котором:
Welcome – приветственная страница
Status – здесь можно проверить статус всех компонентов, какие из компонентов работают а какие не работают

XAMPP - готовый комплект Web-сервера

Security – здесь находятся всевозможные настройки безопасности, зеленым цветом отмечены надежные настройки, красным цветом полностью незащищенные, а желтый цвет означает что нет возможности определить статус, здесь можно найти список портов XAMPP, и рекомендации по устранению незащищенных компонент, здесь также указан адрес (http://localhost/security/xamppsecurity.php), по которому можно изменить пароль для root (MySQL), поставить пароль на директорию XAMPP, и установить способ доступа к phpMyAdmin

XAMPP - готовый комплект Web-сервера

Documentation – здесь находится On-line документация по разным компонентам XAMPP

XAMPP - готовый комплект Web-сервера

Components – здесь находится список всех компонентов, которые содержит XAMPP, и ссылки на авторов этих компонентов

XAMPP - готовый комплект Web-сервера

phpinfo() – выводит информацию о PHP, а именно о настройках, расширениях, о версии PHP и т.д.

XAMPP - готовый комплект Web-сервера

pearinfo() – выводит информацию о PEAR

XAMPP - готовый комплект Web-сервера

perlinfo() – выводит информацию о PERL

XAMPP - готовый комплект Web-сервера

aspinfo() – выводит информацию о ASP

XAMPP - готовый комплект Web-сервера

Demos – в этом разделе есть несколько скриптов, которые демонстрируют работу тех или иных компонентов XAMPP, а именно:
CD Collection – простая программа с использованием PHP, MySQL, FPDF, в которой можно добавлять, удалять и генерировать список ваших CD в PDF

XAMPP - готовый комплект Web-сервера

Biorhythm – программа показывающая биоритм графически, с использованием PHP, GD

XAMPP - готовый комплект Web-сервера

Instant Art – программа демонстрирующая работу PHP, GD, FreeType

XAMPP - готовый комплект Web-сервера

Flash Art – демонстрация применения PHP+MING

XAMPP - готовый комплект Web-сервера

Phone Book – телефонная книга с использованием PHP и SQLite

XAMPP - готовый комплект Web-сервера

ADOdb – использование ADOdb

XAMPP - готовый комплект Web-сервера

Guest Book – простая гостевая книга на Perl

XAMPP - готовый комплект Web-сервера

Tools – в этом разделе находятся дополнительные утилиты, которые существенно могут помочь в разработке того или иного программного продукта
phpMyAdmin – приложение на PHP, которое предоставляет веб-интерфейс для работы с MySQL, это приложение можно вызвать из XAMPP Control Panel путем нажатия кнопки Admin рядом с модулем MySQL, что собственно очень удобно и ускоряет запуск phpMyAdmin

XAMPP - готовый комплект Web-сервера

Webalizer – статистика о работе сайта с графиками

XAMPP - готовый комплект Web-сервера

Mercury Mail – программа, которая позволяет отправлять и получать почту как на одном компьютере, так и в локальной сети.

XAMPP - готовый комплект Web-сервера

FileZilla FTP – FTP сервер

XAMPP - готовый комплект Web-сервера

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

Пароли:

  • MySQL:
    User: root
    Password: (по умолчанию пароля нет)
  • FileZilla FTP:
    User: newuser
    Password: wampp
    User: anonymous
    Password: some@mail.net
  • Mercury:
    Postmaster: postmaster (postmaster@localhost)
    Administrator: Admin (admin@localhost)
    TestUser: newuser
    Password: wampp
  • WEBDAV:
    User: wampp
    Password: xampp

Про безопасность (обязательно к прочтению!)
XAMPP сделан так что он полностью открыт, это было сделано для того чтобы разработчики могли делать все что им нужно, и по этому не рекомендуется использовать XAMPP, такой какой он сразу после установки, в производстве, так как он практически не защищен.

Список наиболее уязвимых мест XAMPP:
Логин администратора MySQL (root) по умолчанию не имеет пароля.
Демон MySQL, доступен через локальную сеть.
PhpMyAdmin, доступен через локальную сеть.
Примеры доступны через локальную сеть.

Эти и другие недостатки безопасности можно исправить на следующей странице:
http://localhost/security/

Пароли для MySQL и PhpMyAdmin, и пароли к директории XAMPP тоже можно настроить по вышеуказанному адресу.

Примечания MySQL:
Как и говорилось выше по умолчанию в MySQL для пользователя с логином “root” пароля не существует. Чтобы можно было получить доступ из PHP к базам данных MySQL нужно написать следующее:

mysql_connect("localhost", "root", "");

Чтобы установить пароль для доступа к MySQL, нужно использовать MySQL Admin.
Для того что бы установить пароль “secret” для пользователя “root” в командной строке нужно написать следующее:

xamppmysqlbinmysqladmin.exe -u root -psecret

Если Вы измените пароль то придется перенастраивать PhpMyAdmin что бы использовать новый пароль, если же вы не перенастроите то доступ к базам данных будет закрыт. Чтобы изменить настройки PhpMyAdmin нужно открыть файл config.inc.php, который располагается в директории xamppphpmyadmin и изменить следующие строки:

$cfg['Servers'][$i]['user'] = 'root';   // Пользователь MySQL
$cfg['Servers'][$i]['auth_type'] = 'cookie';   // Аутентификация HTTP

После этого чтобы получить доступ к PhpMyAdmin, сначала у вас будет запрашиваться пароль к пользователю ‘root’.

CPAN / PEAR:

Предварительно установленные в ОС CPAN и PEAR , являются базовыми. Если Вам нужны дополнительные пакеты, нужно воспользоваться утилитой XAMPP Shell (xampp_shell.bat), для чего в командной строке нужно прописать следующее и установите их с помощью утилит командной строки:

  • cpanp i Foo
  • pear install Foo

Если у Вас нет компилятора VC6, Вы можете использовать “ppm” вместо “cpanp”, чтобы установить бинарные пакеты.

Общие директории

xamppanonymous Для анонимного доступа к FTP нужно загрузить в эту директорию.
xamppcgi-bin Для CGI скриптов.
xampphtdocs Это и есть та основная директория, где нужно создавать свои проекты. Я к примеру делаю так: создаю в xampphtdocs директорию к примеру blog (C:xampphtdocsblog) и сюда записываю основные файлы проекта, после чего мой блог будет доступен по адресу http://localhost/blog/ и так для каждого проекта создаю отдельную директорию.
xamppMercuryMailMAIL Почтовые ящики.
xamppmysqldata Базы данных MySQL.
xamppwebdav Директория для доступа WebDAV (если это включено).

Конфигурационные файлы

xamppapacheconfhttpd.conf Основной конфигурационный файл для Apache.Если Вам нужны другие, файлы конфигурации Apache, то они хранятся в директории xamppapacheconfextra.
xamppFileZillaFTPFileZilla Server.xml Конфигурационный файл для FTP сервера FileZilla. Он связан с “FileZilla Server Interface.exe” (который можно запустить путем нажатия кнопки “Admin” в XAMPP Control Panel).
xamppMercuryMailmercury.ini Конфигурационный файл для сервера SMTP Mercury. Он связан с “mercury.exe” (который можно запустить путем нажатия кнопки “Admin” в XAMPP Control Panel).
mysqlbinmy.ini Конфигурационный файл для сервера MySQL.
xamppphpphp.ini Конфигурационный файл для PHP.
xamppphpMyAdminconfig.inc.php Конфигурационный файл для phpMyAdmin.
xamppsendmailsendmail.ini Конфигурационный файл для msmtp (совместимый интерфейс sendmail).
xamppwebalizerwebalizer.conf Конфигурационный файл для Webalizer.

Лог-файлы (.log)

xamppapachelogserror.log Файл журнала ошибок Apache. Дополнительные файлы могут быть в этой же директории (если это включено).
xamppFileZillaFTPLogs Файл журнала ошибок FileZilla FTP-сервера (если это включено).
xamppMercuryMailLOGS В поддиректориях этой директории находятся лог-файлы из нескольких модулей Mercury SMTP-сервера.
xamppmysqldatamysql.err Файл журнала ошибок MySQL. Дополнительные файлы могут быть в этой же директории (если это включено).
xamppsendmailsendmail.log Лог-файлы msmtp (совместимый интерфейс sendmail).

После установки XAMPP, можно спокойно установить WordPress или же установить и русифицировать Drupal, для того что бы начать сразу создавать сайты.
Существует также достаточно неплохой движок для форума, который можно установить и протестировать, и о том как установить Vanilla forums на XAMPP, подробно написано по указанной ссылке.

Ссылки:

  • http://www.apachefriends.org/en/xampp.html – страница XAMPP
  • http://www.apachefriends.org/en/xampp-windows.html – страница XAMPP для Windows
  • FileZilla – бесплатный FTP-менеджер – для проверки FTP-сервера можно воспользоваться FTP-менеджером FileZilla
  • NetBeans как IDE для PHP – про NetBeans
  • Установка + русификация NetBeans – как установить NetBeans
  • FPDF – библиотека для создания PDF-файлов на PHP – про библиотеку FPDF
  • Foxit Reader – как альтернатива Adobe Reader – для проверки созданных файлов библиотекой FPDF можно воспользоваться программой Foxit Reader

Удачного Вам использования XAMPP.

(Visited 891 times, 2 visits today)

Понравилась статья? Поделить с друзьями:
  • Готовая загрузочная флешка windows 7 10 с утилитами скачать без торрента
  • Готовая загрузочная флешка windows 7 10 с утилитами 2021
  • Готовая загрузочная флешка windows 10 с утилитами скачать торрент
  • Готовая загрузочная флешка windows 10 без активации
  • Готовая виртуальная машина с windows server 2016 virtualbox