Всем доброго времени суток и всего такого прочего.
Многим из Вас интересна тема создания сайтов, что наглядно демонстрирует интерес к нашим статьям про хостинг, да и количество заявок на наш .
Оно и понятно, ведь интернет сейчас есть почти повсеместно и иметь хоть какое-то своё представительство в оном хотят многие (этому свидетельствуют количество тех же блогов, скажем, на популярных платформах, вроде ЖЖ , Diary и тд и тп). Да и вообще, умение создавать сайты, - это достаточно востребованная ныне штука, которая способна, при определенном подходе, приносить средства (пусть даже работая где-то на должности веб-мастера).
Однако, не всегда есть возможность и желание тратить какие-либо деньги, чтобы купить хостинг и на нём сделать свои первые сайты, чтобы потестировать как оно всё работает (если работает) и всё такое прочее.
Эта статья призвана рассказать Вам как просто и быстро развернуть домашний веб-сервер на своём компьютере с Windows .
Давайте приступим.
Веб-сервер для дома: "Apache + PHP + MySQL + phpMyAdmin + XDebug в одном пакете" [Денвер]
Многим кажется, что развертка веб-сервера это что-то из области фантастики и под это нужна определенная конфигурация компьютера, операционная система и всё такое прочее. Плюс всё это занимает много времени сил и всего такого прочего.
На деле это не совсем так, ибо таковой сервер (как и FTP -сервер про который ) представляет из себя набор определенного и корректно установленного ПО, а уж на каком железе он развернут и в какой именно операционной системе, в данном случае, вторично.
Так вот, уже очень давно существует пакет, который называется "Денвер" и содержит в себе все необходимое для быстрой развертки веб-сервера под Windows . Сие чудо программисткой мысли полностью бесплатно, поддерживает русский язык, имеет достаточно мануалов и очень просто в установке и управлении (справиться, буквально, даже школьник).
Заявлено, на момент написания статьи, следующее содержание:
- Инсталлятор (поддерживается также инсталляция на flash -накопитель);
- Apache , SSL , SSI , mod_rewrite , mod_php ;
- PHP5 с поддержкой GD , MySQL , sqLite ;
- MySQL5 с поддержкой транзакций;
- Система управления виртуальными хостами, основанная на шаблонах. Чтобы создать новый хост, вам нужно лишь добавить директорию в каталог /home , править конфигурационные файлы не требуется. По умолчанию уже поддерживаются схемы именования директорий многих популярных хостеров; новые можно без труда добавить;
- Система управления запуском и завершением всех компонентов Денвера ;
- phpMyAdmin - система управления MySQL через Web -интерфейс;
- Эмулятор sendmail и SMTP -сервера (отладочная «заглушка» на localhost:25 , складывающая приходящие письма в /tmp в формате.eml ); поддерживается работа совместно с PHP , Perl , Parser и тд.
Установка проста до невозможного: и запускаем установщик.
Собственно, после этого ждем окончания процесса установки, в нужный момент закрыв браузер, а так же нажав клавишу Enter (если у Вас не стоит IE , то просто нажав ОК , когда появиться соответствующая ошибка):
Кстати, чуть не забыл, что на одном из этапов может выскочить такая вот ошибка:
Попробуйте отключить фаерволл и антивирус, а так же проделать ping вручную (Пуск - Выполнить - cmd - ОК - ping 127.0.0.1 ).
Если пинги проходят, то можете продолжать дальше. Если нет, то.. Можете тоже попробовать продолжить, хотя на определенном этапе могут быть проблемы (но не обязательно).
Далее будет предложена папка, куда, собственно, Вы планируете всё это дело установить. Я бы рекомендовал указать путь к диску на котором у Вас больше всего места (в моём случае я указал D , что видно на выше).
На последнем этапе будет создан виртуальный диск и Вам остаётся, после нажатия Enter , выбрать для него свободную букву (или оставить по умолчанию Z ). Как и написано - он нужен для работы всех компонентов, а так же, собственно, для Вашего удобства, хотя, фактически виртуальный диск является этапким ярлыком для папки, которую Вы указали Выше и взаимодействовать можно непосредственно с ней.
Далее надо будет выбрать способ загрузки. Смотрите сами какой Вам удобней, но я, в данном случае, выбрал рекомендованный вариант (т.е жамкаем в 1 и кнопочку Enter ). Ну и последним шагом будет создание ярлыков. Делается это вводом буквы "y ", если, конечно, они Вам нужны.
Если всё прошло успешно, то у Вас теперь на рабочем столе живет три иконки, каждая из которых отвечает за свою функцию, будь то запуск, остановка или перезагрузка сервера.
На сим установка закончена. Просто, не так ли? ;)
Что до использования, то всё просто: кликаем в соответствующую иконку (Start Denwer ) и ждем окончания процесса запуска.
После сего у Вас появиться виртуальный диск (см.скриншот выше) со всей структурой веб-сервера и сопутствующими элементами. Тоже самое Вы можете увидеть в папке установки.
Чтобы проверить работу веб-сервера, откройте браузер и введите в адресной строке: test1.ru
Если всё работает нормально, то увидите строку: "Это файл /home/test1.ru/www/index.html " (как и на скриншоте выше).
Можете радоваться, - у Вас теперь есть веб-сервер;)
Послесловие
Как и всегда, если какие-то вопросы, дополнения, мысли и всё такое прочее, то добро пожаловать в комментарии к этой записи.
Оставайтесь с нами. Всё самое вкусное только для Вас;)
Для разработки и тестирования сайтов или веб-приложений обычно используют локальный Web-сервер, а после разработки переносят уже на рабочий сервер. Поэтому сегодня я предлагаю рассмотреть возможность установки локального web-сервера на операционную систему Windows 7, и так как у нас сайт для начинающих разработчиков, мы будем использовать готовую сборку web-сервера на примере XAMPP .
И начнем мы с основ, т.е. узнаем, что же это такое сборка web-сервера, из чего она состоит, зачем она нужна, в частности разберем сборку XAMPP, установим ее и, конечно же, проверим ее работу.
Что такое сборка Web-сервера?
Сборка 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.
Что такое XAMPP?
XAMPP — это бесплатная, кроссплатформенная сборка веб-сервера, которая включает Apache, MySQL PHP и Perl.
Как не трудно догадаться XAMPP — это аббревиатура:
- X – означает, сборка есть под все операционные системы (Windows, Linux, OS X);
- A – Apache;
- M – MySQL;
- P – PHP;
- P – Perl.
В последнюю, на сегодняшний день (Июнь 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 для этого, и жму соответствующую ссылку.
После чего у нас загрузится дистрибутив размером 107 мегабайт.
Данная сборка поддерживает операционные системы Windows, начиная с Vista.
Установка XAMPP
Приступаем к установке сборки Web-сервера XAMPP, она простая, поэтому проблем возникнуть не должно.
Шаг 1
Запускаем скаченный файл xampp-win32-5.6.8-0-VC11-installer.exe . Первое окно программы установки — это окно приветствия, жмем «Next ».
Шаг 2
Далее, выбираем компоненты, которые нужно установить, по умолчанию выбрано все, но если Вы не хотите что-то устанавливать, т.е. Вам это не нужно, то можете снять галочку с соответствующего пункта, например, мне не нужен Perl, жмем «Next» .
Шаг 3
Затем выбираем каталог, в который мы будем устанавливать XAMPP, я оставлю по умолчанию, жму «Next ».
Шаг 4
На этом шаге мы можем оставить или убрать галочку «Узнать больше о Bitnami для XAMPP », я галочку убрал, жму «Next ».
Шаг 5
Все готово к установке, жмем «Next ».
Установка началась.
После того как установка будет завершена, нам предложат сразу запустить «Control Panel », жмем «Finish ».
Вот и все, у нас запустилась панель управления XAMPP.
Запускаем и проверяем работу Apache, PHP и MySQL
Как мы видим, сразу после установки все сервисы не запущены, поэтому мы запускаем их кнопкой «Start ».
Зеленым выделены те сервисы, которые в данный момент запущены.
Сначала давайте проверим работу Apache, для этого просто в браузере набираем localhost, и если мы увидим следующую картину, то значит все в порядке.
Для проверки MySQL и PHP давайте напишем простой скрипт на PHP, который проверит подключение к базе данных MySQL. Для этого создаем в каталоге C:\xampp\htdocs\ папку test, кстати, все, что находится в папке htdocs, можно удалить. В папке test создаем файл index.php со следующим кодом;
Сервер баз данных недоступен
"; exit(); } //Проверка доступности базы данных if (!@mysql_select_db($dbname,$dbconn)){ echo "База данных недоступна
"; exit(); } //Простой запрос, узнаем версию MySQL $VERSION = mysql_query("SELECT VERSION()"); if(!$VERSION){ echo "Ошибка в запросе
"; exit(); } echo mysql_result($VERSION, 0); ?>Сохраняем и в браузере обращаемся по адресу http://localhost/test/ в ответ мы должны получить версию MySQL.
Если Вы это удивили, значит и Apache и PHP и MySQL запущены и работают.
Теперь немного расскажу о панели управления XAMPP. Запустить ее можно через меню «Пуск->Все программы->XAMPP» .
После запуска в системном трее появится значок для быстрого управления, т.е. запуска и остановки сервисов.
На этом предлагаю заканчивать, так как все готово для разработки сайтов на базе Apache, MySQL и PHP, еще раз замечу, что данная сборка подходит исключительно для разработки и тестирования веб приложений, использовать ее в качестве рабочей платформы для сайтов не рекомендуется. Удачи!
Зачем использовать полноценный веб-сервер в Windows 10 если для этого лучше использовать Linux?
- Если вы хотите создавать и тестировать, но не хотите покупать хостинг и чтоб к Вам могли на сайт зайти Ваши знакомые.
- Вы создаете веб-сайт под игровой сервер и Вам надо иметь удаленный доступ к базе данных на бесплатных хостингах такой функции нет только в платных тарифных планах и не во всех хостингах. Таким способом вы сможете со своими друзьями тестировать полноценный сайт бесплатно.
- Ну и самая распространённая причина в том, что использование Linux очень сложное что многим бы затруднило или вообще пропал бы смысл.
Установка веб-сервера
Веб-серверов на Windows есть несколько, но в данном случае будет рассмотрен Vertrigo Server вы можете его с официально сайта или с облака mail .
Немного об установке - в папке с программой внутри будет папка www в которой вы будете помещать Ваш сайт. Чтобы не засорять системный диск рекомендуется установить программу на один из не системных.
Запуск и использование
После установки запустите по ярлыку на рабочем столе. Если у Вас не был создан ярлык Вы можете создать его вручную указать путь к исполняемому файлу программы (vertrigo.exe). В появившемся окошке кликнете кнопку, показанную на скриншоте ниже. Программа будет свернута в трей и запущен веб-сервер.
После запуска можно поместить файлы веб-сайта в папку www внутри папки с программой. Для просмотра веб-сайта на вашем компьютере введите веб-браузере http://127.0.0.1 или http://localhost/ . Данные способы позволят просматривать веб-сайт только Вам, а для просмотра через интернет у Вас должны быть открыт порт 80 и внешний доступ к Вам. Для этого у Вас должен быть выключен антивирус и брандмауэр Windows или внесен в исключения. Чтоб к Вам могли зайти через интернет Вы должны узнать Ваш внешний ip адрес и ввести его в веб-браузере (http://Ваш ip/).
База данных
Для доступа к базе данных Vertrigo введите в адресной строке веб-браузера http://127.0.0.1/phpmyadmin/ . По умолчанию логин: root, пароль: vertrigo после этого можете создавать или изменять базу данных, экспортировать, импортировать, менять логин и пароль.
Комплекс. Это, как вы уже догадались, старый добрый Denwer. Он прочно обосновался на моём компьютере еще в далёком 2003 году. Другие альтернативы если и существовали в то время, то были известны в узких кругах и были не столь популярны.
Давайте посмотрим на то, что мы можем использовать сегодня, спустя столько лет. Я предлагаю рассмотреть, протестировать и сравнить 14! программных комплексов предназначенных для разработки сайтов под Windows.
1. AMPPS
Последняя версия: 1.7Русский язык: есть (частично)
Portable версия: Нет
Домашняя страница: http://www.ampps.com/
Базовый комплект:
- 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
Несомненным плюсом данной сборки является поддержка многих распространенных CMS, блог-платформ, веб-форумов, досок объявлений, фотогалерей и проч. Всего доступных приложений более 200! Набор включённых в пакет компонентов так же не отстает от жизни, все модули довольно свежие и, что примечательно, здесь мы можем найти такую экзотику как Python и MongoDB.
Из минусов я хочу отметить частичный русский перевод, который присутствует только в каталоге скриптов, да и то не везде. После перезапуска Apache трей-меню отказалось работать, перезагрузка Windows не помогла. Еще одним минусом является отсутствие портативности. На мой взгляд AMPPS больше пригодится новичкам для изучения скриптов, нежели серьёзным разработчикам. Работать с этим программным пакетом мне было не очень комфортно, есть варианты и получше.
Последняя версия: 2.5.10Русский язык: Нет
Portable версия: Нет
Домашняя страница: http://www.appservnetwork.com/
Базовый комплект:
- Apache 2.2.8
- PHP 5.2.6
- MySQL 5.0.51b
- phpMyAdmin-2.10.3
Русский язык: Есть
Portable версия: Да
Домашняя страница: http://www.denwer.ru/
Базовый комплект:
- Apache 2.2
- PHP 5.3.3
- MySQL 5.1.40
- phpMyAdmin 3.2.3
Denwer предельно прост и понятен, а потому имеет самую большую армию поклонников среди «чайников». Наиболее полным описанием данной платформы будет следующая фраза, сказанная одним из пользователей: «Денвер выполняет основные задачи и ладно, а чем больше примочек тем больше заморочек (никто ими на все 100 не пользуется)».
Последняя версия: 5.3.9Русский язык: Да
Portable версия: Да
Домашняя страница: http://www.easyphp.org/
Базовый комплект:
- PHP 5.3.9
- PhpMyAdmin 3.4.9
- Apache 2.2.21
- MySQL 5.5.20
Замечу, что EasyPHP управляет сервером самостоятельно, никаких пугающих черных окон не выскакивает, запуск и остановка сервера выполняются довольно быстро.
Последняя версия: 2.0.2.0Русский язык: Есть
Portable версия: Да
Домашняя страница: http://eleanor-cms.ru/server
Базовый комплект:
- 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…
В целом EleanorServ мне понравился, особенно возможность старта/остановки сервера прямо из браузера.
6. Nimp
Последняя версия: 1.5.0Русский язык: Есть
Portable версия: Да
Домашняя страница: http://nimpbox.ru/
Базовый комплект:
- 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
Во время использования этой сборки постоянно что-то сбоило, FileZilla никогда сам не останавливался (пришлось убивать через диспетчер задач), а Memcached вообще не запускался. Некоторое недоумение вызвали слова автора программы о том, что «данная сборка прекрасно подойдет для высоко нагруженных сайтов в корпоративных и городских сетях», программе явно далеко до использования в корпоративной среде.
«Фишка» этой платформы в том, что Nginx работает как frontend и предназначен для раздачи статического контента, а Apache работает в качестве backend для генерации динамического контента. В целом моё впечатление от этой сборки осталось двояким, оно плавно менялось от резко негативного вначале до нормально-приемлемого в процессе работы с программой.
Последняя версия: 4.5.2Русский язык: Есть
Portable версия: Да
Домашняя страница: http://open-server.ru/
Базовый комплект:
- 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 является возможность использовать программу в качестве портативного персонального стартового меню. Можно установить сервер на USB накопитель, перенести туда свои portable программы, создать закладки для часто посещаемых сайтов и везде, где бы вы не находились, вы будете иметь удобное меню быстрого доступа к своим любимым сайтам и программам.
Последняя версия: 1.8.2Русский язык: Нет
Portable версия: Да
Домашняя страница: http://www.server2go-web.de/
Базовый комплект:
- Apache 2.2
- PHP 5.3.2
- SQLITE
- MYSQL 5.1.46
- PERL 5.8
Впечатление крайне отрицательное, хотя казалось бы: сервер стартует, PhpMyadmin открывается, а что ещё надо? Нет, сервер который нельзя остановить - это не для меня. Гори оно в аду!
Последняя версия: 8.5.4Русский язык: Да
Portable версия: Нет
Домашняя страница: http://www.uniformserver.com/
Базовый комплект:
- Apache 2.4.2
- PHP 5.4.0
- MySQL 5.5.24
- phpMyAdmin 3.5.1
Русский язык: Нет
Portable версия: Да
Домашняя страница: http://www.usbwebserver.net/
Базовый комплект:
- Apache 2.2.21
- MySQL 5.5
- PHP 5.3.9
- PhpMyAdmin 3.4.9.0
По своей функциональности USBWebserver напоминает Denwer, разве что Perl не хватает. В панели управления можно выполнить запуск/остановку модулей, открыть логи, еще есть парочка полезных функций и настроек, на этом всё. Я бы рекомендовал эту сборку как GUI замену Denwer-а для тех, кому необходима схожая функциональность, но хочется иметь панель управления с кнопочками и рюшечками.
Последняя версия: 2.27Русский язык: Нет
Portable версия: Нет
Домашняя страница:
Базовый комплект:
- 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
Но не всё так радужно в нашем королевстве, конечно же есть и минусы. Самый главный и существенный минус - Vertrigo не портативен, его нельзя установить на флешку и использовать на разных машинах. Из других проблем хочу отметить трудности с созданием домена или алиаса, а так же отсутствие русского языка.
Последняя версия: 2.2dРусский язык: Да
Portable версия: Нет
Домашняя страница: http://www.wampserver.com/
Базовый комплект:
- 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
Сборка работает хорошо, имеет страшное, но вполне понятное меню. В ней нет ничего такого, чтобы выделяло этот локальный веб-сервер из общей массы. Если честно, то я был очень удивлен увидеть такое убожество в оформлении программы после посещения стильной и красочной домашней страницы.
Последняя версия: 0.4.0.4Русский язык: Есть
Portable версия: Да
Домашняя страница: http://winginx.ru/
Базовый комплект:
- 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
Довольно странно в 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
Базовый комплект:
- Apache 2.2.21
- MySQL 5.5.16
- PHP 5.3.8
- phpMyAdmin 3.4.5
Старт и остановка модулей происходят достаточно быстро, страница приветствия не запутана и понятна, хоть и на английском. В целом довольно хороший программный комплекс (с кучей плюшек в desktop версии) в котором нет ничего лишнего или отталкивающего. Чёрные окна из-за угла не атакуют, панель управления вполне обычная, однако малополезная.
Из минусов этого программного комплекса я могу отметить как раз эту панель управления, а точнее отсутствие этого самого управления, в ней нет ничего кроме запуска и остановки сервера. Здесь нет удобного меню со списком сайтов, нет раздела настроек веб-сервера, отсутствуют какие-либо полезные инструменты. Настраивать рабочее окружение в этой сборке вам придется вручную.
Сравнение
Portable | Русский язык | Наличие GUI | Полезный GUI | Просмотр логов | |
---|---|---|---|---|---|
AMPPS | - | + | + | - | + |
- | - | - | - | - | |
+ | + | - | - | - | |
+ | + | + | + | + | |
+ | + | + | + | + | |
Nimp | + | + | + | + | - |
+ | + | + | + | + | |
+ | - | - | - | - | |
- | + | + | - | + | |
+ | - | + | - | - | |
- | - | + | + | + | |
- | + | + | + | + | |
+ | + | + | + | + | |
Xampp USB Lite | + | - | + | - | - |
Тестирование
Тест №1 - Ложный запускСуть теста заключается в преднамеренной порче конфигурации Apache с целью проверить получим ли мы какое-либо предупреждение или все индикаторы будут гореть зеленым светом, а работать ничего не будет. Согласитесь, что использовать сборку, которая обманчиво сообщает об успешном запуске и выставляет вас идиотом, желания мало. Если сервер не подаёт никаких сигналов или работает скрытно, то тест так же будет считаться проваленным.
Тест №2 - Сложные пути
Суть теста заключается в преднамеренной установке сервера в папку со сложным именем, в нашем тесте мы будем использовать папку с именем «C:\test\Mys$ka!._-()zlo{}+~%&2% Files». Если PhpMyAdmin (он взят просто для удобства, поскольку есть в каждой сборке) не откроется, то тест соответственно будет провален. Каждый человек - это индивидуальность, папки порой называют самыми неожиданными именами. Название папки, выбранное для теста, корректно для Windows и должно быть правильно обработано.
Тест №3 - SSL из коробки
Тест предельно простой - запускаем сервер и пытаемся открыть PhpMyAdmin по SSL протоколу.
Обозначения:
"+" означает что тест пройден успешно, "-" означает что тест провален.
Ложный запуск | Сложные пути | SSL из коробки | |
---|---|---|---|
AMPPS | + | + | + |
- | + | - | |
- | + | + | |
+ | + | - | |
+ | + | - | |
Nimp | + | - | - |
+ | + | + | |
- | + | - | |
+ | - | - | |
+ | - | - | |
+ | + | - | |
+ | + | - | |
- | - | - | |
Xampp USB Lite | + | - | + |
Заключение
Рассмотрев и протестировав столько программных комплексов возникает вопрос - а что же в итоге выбрать для повседневной работы? Ответить на этот вопрос не так-то просто, каждая сборка будет хороша для определённого типа задач.Для новичков я предлагаю использовать Denwer, как самый простой и проверенный временем WAMP комплект. Всем остальным веб-разработчикам, а так же и тем новичкам, кому недостаточно функциональности Denwer, я рекомендую использовать Open Server.
Если вам необходимо быстро ознакомиться с каким-либо известным скриптом, форумом, фотогалереей или гостевой книгой и не хочется заморачиваться с его установкой и поиском подходящей платформы, то можно попробовать AMPPS. Конечно при условии, что интересующий вас скрипт поддерживается данной разработкой.
В случае если у кого-то возникнет необходимость использовать такие редкие модули как локальный почтовый сервер, Node.js, MongoDB и т.д., то я думаю каждый сможет подобрать себе подходящий вариант среди других участников нашего обзора.
P.P.S Хочу предостеречь комментаторов, которые ратуют за виртуальную машину с Linux на борту и больше ничего не признают в качестве альтернативы. Отчасти я с вами согласен, при переносе сайта на реальный хостинг могут возникнуть некоторые проблемы: потоки, права fs, симлинки, консоль и т.д.
Однако посмотрите на это с другой стороны. Подобные проблемы - частные случаи и возникают они довольно редко. В реальности всё наоборот - верстальщику шаблонов на движке Smarty совершенно не нужно что-то знать про потоки, симлинки и консоль, а разработчики CMS уже 100 лет как научились устанавливать правильные права записи на загружаемые файлы.
Как итог хочу сказать - WAMP платформы имеют право на существование и использование виртуальных машин в большинстве случаев совершенно не оправдано.
В интернете существует масса статей про настройку тех или иных HTTP серверов. равно как существует и огромное множество самих HTTP серверов, поэтому принять решение в пользу того или иного решения зачастую бывает непросто.
В этой статье мы не будем заниматься вопросом выбора сервера — ведь слишком много условий надо учесть. Одни сервера заточены под работу в Unix/Linux системах, но не работать на Windows платформе, другие быстрые и производительные, но не поддерживают определенные языки программирования, на которых может быть написан ваш сайт.
Мы задались другой задачей — как можно быстрее и легче развернуть HTTP сервер, который будет достаточно производителен, стабилен и защищен при доступе из интернета. Но для начала краткая характеристика имеющихся серверных решений.
Обзор HTTP рынка серверов
Итак, все HTTP сервера можно разделить на продуктивные и локальные. Первые можно и нужно использовать для публикации web контента в интернет или публикации web-приложений. К таким серверам относятся мировые лидеры, занимающие основную долю рынка - Apache, Microsoft IIS и nginx . Первый — мировый лидер для публикации веб сайтов на хостингах в мире. IIS чаще всего используется для публикации web-приложений, написанных для Windows или на языках платформы.NET, с использованием VBScript и JScript, Sharepoint сайтов и для публикации корпоративных порталов, например онлайн-банков. Для остальных дачах применение IIS неоправдено. nginx — отечественная разработка, которую все чаще применяют на web-хостингах, потому что этот сервер отличается от Apache большей масштабируемостью и производительностью. Зачастую, их можно применять вместе.
Но все эти решения — это долго, сложно для развертывания и требует полноценного сервера на Linux или Windows Server. Нас в данном случае это не интересует.
Также существует группа локальных серверов: Denwer, XAMPP, VertigoServ, Open Server, WAMP и другие. Что такое локальный сервер? Это не одна программа (не один конкретный веб сервер ), а специальный сборник, куда входят облегченные варианты сложных серверных программ. Обычно в сборку входят: сам сервер (в основном Apache, но могут быть и другие ), компилятор PHP (с его помощью браузер может прочитать коды и собрать страницу ), компоненты для работы с базами данных, различные установщики и многие другие программы. Все это нужно разработчикам веб-приложений для тестирования их разработок на локальных машинах. Действительно, удобно и быстро можно развернуть пакет «все в одном», но это совершенно незащищенные решения, не предназначенные для публикации сайтов в интернет. К слову говоря, из локальных серверов я предпочитаю Vertigo (простой и производительный) и Open Server (отличный портативный отечественный продукт, достойная замена Denwer-у).
Не могу не рассказать о еще одном отечественном полнофункциональном сервере для предприятий - Eserv . Это мощный почтовый, HTTP сервер FTP-сервер, DNS-сервер, статистика, SNMP-agent и SNMP-монитор, видеомониторинг в одном. Возможности почтового сервера просто безграничны: Поддержка групповой работы - WIKI, форумы, общие IMAP-папки, блоги, чат, NNTP-сервер, сервер календарей и задач, общая адресная книга (LDAP-сервер), поддержка Exchange ActiveSync (EAS) для синхронизации мобильных клиентов. Поддерживаются любые способы авторизации (ActiveDirectory , WinNT local, ODBC, текстовые списки, встроенная БД, X.509-сертификаты и т.д.), SSL/TLS. И это платный коммерческий продукт. Но мы рассматриваем HTTP в этой статье, поэтому... HTTP Сервер, входящий в комплект - — совершенно бесплатное Open Source решение. Это достойная замена IIS под Windows, которая поддерживает:
- HTTP server with SSL/TLS
- Built-in Forth translator
- CGI support
- ISAPI support
- FastCGI support
Все домены, A-записи в DNS которых указывают на веб-сервер под управлением Eserv, автоматически получают готовую к использованию систему групповой работы, включающую и управление содержимым сайта (см. следующий раздел), основой которой являются wiki и общие папки. Но можно продолжать использовать Eserv и для обычных сайтов (статические страницы, различные CMS, форумы, магазины на PHP и Perl, и т.д.), если того требуют обстоятельства. Поддержка FastCGI включена в Eserv по умолчанию, и режим работы PHP (CGI, ISAPI или FastCGI) под acWEB задается опцией настройки.
Надо сказать, что сервер это очень малотребователен к ресурсам.
Но это было лирическое отступление.
Легкие HTTP сервера
Долгое время я считал самым легким и быстрым в развертывании еще один бесплатный отечественный продукт Макса Феоктистова - Small HTTP server , который на самом деле был больше, чем веб сервер. Web, почтовый сервер, DNS сервер, FTP сервер, Proxy сервер... Все в одном! И все это весит 146 Кбайт и не требует установки. С точки зрения HTTP, это полноценный веб сервер, поддерживающий:
- Server Side Includes (включения на стороне сервера), регулярные выражения в SSI.
- CGI интерфейс для скриптов (Запуск исполняемых файлов; Perl, PHP, и других внешних интерпретаторов)
- ISAPI интерфейс.
- Виртуальные хосты и каталоги.
К сожалению, для исполнения скриптов требуются внешние интерпретаторы для Perl и PHP соответственно, но это и понятно при таком размере сервера. Обработка phtml-страниц через запуск внешнего PHP-интерпретатора. Сервер может поддерживать несколько виртуальных хостов. Каждый хост имеет собственный корневой каталог и также может включать виртуальные каталоги общие для всех.
Все это звучит круто, но... требует достаточно хорошего понимания того, как работает сервер и умения конфигурировать файл php.ini, если вам требуется исполнение PHP. Хотя кому это нужно для Sql!? Строго говоря, настроек миллион, а интерфейс очень неудобный, отсталый, написанный много лет назад. Чтобы запустить сервер вам потребуется минут 5, а чтобы его настроить под себя — не один день. Ну а самое главное, что с 2012 года сервер не обновлялся, документация тоже оставляет желать лучшего.
Поэтому этот сервер вы можете иметь ввиду, если вам хочется что-то надежное, потребляющее очень мало ресурсов, но которое потребует от вас много усилий по изучению настроек.
Самый легкий и простой HTTP сервер
То, на чем я остановился и пользуюсь до сих пор - HTTP File Server . Как следует из названия, этот HTTP сервер предназначен, в первую очередь для расшаривания файлов по интернет. Но точно также легко, можно и выкладывать HTML сайт у себя на сервере.
Строго говоря, почти ничего делать не нужно, кроме как указать папку, в которой находится контент сайта («bind root to real-folder» ) и первый файл сайта, если он отличается от index.htm. Да, исполнение серверных скриптов, таких как PHP и ASP, не поддерживается в HFS. Если для вас это главное — можете дальше не читать, а выбрать что-то из серверов выше. Если же вам требуется публиковать статические страницы или файлы для скачивания и загрузки, то HFS — удобное решение.
HFS поддерживает концепцию виртуальной файловой системы, но сервер может работать и с реальными папками на диске. В виртуальную структуру можно включать реальные папки с их содержимым. Очень удобно.
Преимущества HFS:
- не требует установки, состоит из одного маленького исполняемого файла.
- почти не требует ресурсов, нет утечки памяти.
- вся конфигурация хранится или в реестре или в одном ini-файле, на выбор.
- Можно запустить сервере как службу Windows.
- Вся настройка производится через достаточно простой GUI интерфейс. Чтоб запустить сайт, требуется 2 минуты. Вся первичная настройка описана .
- Вывод можно настроить через кастомизированные шаблоны (файлы.tpl), которые полностью доступны для редактирования, как и весь код, впрочем. Можно написать шаблон, в котором добавлены любые произвольные кнопки и меню. Это при условии, если вы не хотите публиковать готовый сайт.
Стандартный шаблон достаточен в большинстве случаев: в нем есть возможность логина, поиска по файлам и папкам сервера, групповой работы с файлами. Подробнее . - Начиная с версии 2.3 поддерживаются макросы, которые заменяют серверные скрипты, которые используются совместно с шаблонами (templates). Больше о HFS макросах в wiki .
- Поддерживается полноценное скачивание и закачка файлов на сервер. Вам только требуется указать папки для этого в вашей виртуальной файловой системе и настроить на них права.
- Сервер поддерживает настройку прав доступа для пользователей и групп. На каждую папку можно настроить права отдельно или унаследовать их.
- Поддерживается тонкая настройка ограничения пропускной способности для групп и пользователей на скачивания и закачку.
- Сервер постоянно мониторит доступные IP адреса. Вы можете указать порт и IP, на котором вы хотите, чтобы сервер отвечал.
- Естественно поддерживается ограничение на количество различных подключений и скачиваний для групп и пользователей.