Свой веб сервер под windows. Как создать локальный сервер на Windows? Где скачать XAMPP
Ранее я уже рассказывал как поднять полноценный веб-сервер на виртуальной машине linux.
Но, как оказалось, для новичка эта задача может показаться очень сложной и отбить всякую охоту к дальнейшему изучению серверных языков программирования.
К тому же не всем по душе линукс из-за сложности настройка, ужасов командной строки и невиндовсовского интерфейса.
Итак, подобных инструкций в интернете тьмя-тьмущая, так что буду краток. Рассмотрим основные готовые сервера. Приоритет будет дан простоте и быстроте развертывания готовой рабочей среды для web-разработки.
Первым рассмотрим готовое решения веб-сервера DENWER. С этого старичка начинали многие, в том числе и я. Одно из первых русскоязычных решений для поднятия сервера в домашних условиях. Прост, стабилен временами, Отлично справляется со своими задачами, при этом не потребительный и компактный. Такой себе джентльменский набор.
Ссылка ТУЦ .
Следующим довольно-таки успешным решением является WampServer. Доступен на трех языках: русском, английском и французском. Хорошая рабочая лошадка. Новые версии на старичках с XP уже работать не будут, но старые версии всегда можно скачать отсюда .
Отлично себя зарекомендовал. Одно время активно им пользовался. Их сайт ТУЦ .
Так, а теперь тяжелая артиллерия. И первым тяжеловесом будет XAMPP. Сразу небольшой видео обзор:
Становиться на Windows, Linux и OS X. Отлично работает, стабильный сервер. Мультиязычный. Сайт вот ТУЦ .
А теперь, можно сказать, отечественный продукт. К тому же еще и портативный. Так что, у вас всегда будет своя флешка с сервером. Речь идет о Open Server. Начал разрабатываться еще в 2010 году, как аналог Denwer, только с большими возможностями. Сейчас является полноценным программным продуктом. Разделяется на три редакции, в зависимости от ваших потребностей. Стабильный, быстрый веб-сервер.
Компоненты программного комплекса:
Open Server 5.2.3;
Apache 2.2.31;
Apache 2.4.16;
Bind 9.10.2-P3;
Nginx 1.6.3;
Nginx 1.8.0;
Nginx 1.9.3;
MySQL 5.1.73;
MySQL 5.5.45;
MySQL 5.6.26;
MariaDB 10.0.21
MariaDB 5.5.45;
MongoDB 2.4.14;
MongoDB 2.6.11;
MongoDB 3.0.5;
PostgreSQL 9.2.13;
PostgreSQL 9.3.9;
PostgreSQL 9.4.4;
Redis 2.8.2101 (x64);
Memcached 1.2.6;
Memcached 1.4.5;
FTP FileZilla 0.9.53;
PHP 5.2.17 (Zend Optimizer 3.3.3, IonCube 5.0.14, Memcache 2.2.4);
PHP 5.3.29 (Xdebug 2.2.7, IonCube 5.0.14, Memcache 3.0.8, Mongo 1.6.3, Redis 2.2.7, Imagick 3.2.0);
PHP 5.4.44 (Xdebug 2.3.3, IonCube 5.0.14, Memcache 3.0.8, Mongo 1.6.8, Redis 2.2.7, Imagick 3.2.0);
PHP 5.5.28 (Xdebug 2.3.3, IonCube 5.0.14, Memcache 3.0.8, Mongo 1.6.8, Redis 2.2.7, Imagick 3.2.0);
PHP 5.6.12 (Xdebug 2.3.3, IonCube 5.0.14, Memcache 3.0.8, Mongo 1.6.8, Redis 2.2.7, Imagick 3.2.0);
ImageMagick 6.8.9-9-Q16;
Ghostscript 9.15;
Sendmail 32;
Wget 1.11.4;
NNCron Lite 1.17;
Adminer 4.2.2;
ConEmu 15.07.05;
HeidiSQL 9.3;
Webgrind 1.0;
RockMongo 1.1.7;
PHPRedisAdmin 1.4.0;
PHPMyAdmin 4.0.10.10;
PHPPgAdmin 5.2;
PHPMemcachedAdmin 1.2.2;
Все компоненты сборки представлены в 32-битной версии.
Поддерживаемые версии Windows (32-бит и 64-бит): Windows XP SP3 и все более новые версии;
Минимальные системные требования для работы программного комплекса: 200 Мб RAM и 1 Гб на HDD;
Требуется наличие Microsoft Visual C++ 2005-2008-2010-2012-2013-2015 Redistributable Package;
Не могу не отметить удобное переключение между версиями Php, mysql, apache2. Что позволяет вести различные проекты, заточенные под эти версии.
Максимальная редакция портируется с програмным комплексом.
Программы в комплекте
Офис
CintaNotes - Записная книжка;
FoxitReader - PDF просмотрщик;
Notepad++ - Текстовый редактор;
Notepad2 - Продвинутый Блокнот;
STDUViewer - Мультивьювер;
SumatraPDF - Просмотр PDF;
Sublime Text 2 - Редактор кода;
WinMerge - Сравнение файлов и папок;
InfraRecorder - Запись дисков;
Peazip - Архиватор;
Punto Switcher - Автопереключение языков;
Everything - Мгновенный поиск файлов;
VirtuaWin - Виртуальные рабочие столы;
Интернет
Dmaster - Менеджер закачек;
FileZilla - FTP клиент;
Firefox - Браузер;
Google Chrome - Браузер;
Kitty - SSH клиент;
Skype - Общение;
TeamViewer - Удалённый помощник;
uTorrent - Торрент клиент;
WinMTR - Ping и Trace;
WinSCP - SCP клиент;
AutoRuns - Менеджер автозагрузки;
Cports - Мониторинг открытых портов;
Doublecmd - Файлменеджер;
MyEventViewer - Системный журнал;
ProcessExplorer - Менеджер процессов;
ProcessMonitor - Мониторинг процессов;
WinDirStat - Анализ размера папок и файлов;
Работа с графикой
CamStudio - Запись видео;
EYE3 - Пипетка;
IcoFX - Редактор иконок;
PicPick - Мультимастер;
PixBuilder - Фоторедактор;
PngOptimizer - Оптимизатор графики;
Так что у вас всегда все под рукой.
На данный момент активно использую данный сервер, очень удовлетворен его работой и возможностями.
На этом все, пользуйтесь на здоровье.
Просмотры: 2 095
Несколько дней назад меня очередной раз посетила Мысль. Мысль была не нова и довольна навязчива: «давай перейдем на Windows8. Ну пожааалуйста». И так как отогнать её никак не получалось, я запаслась чаем и печеньками и приступила.
На установку системы и всех необходимых программ ушло не более двух часов, но затем наступил самый интересный момент: мне нужно было развернуть рабочее окружение, а именно - GIT + локальный сервер (Apache, MySQL, PHP, nginx, memcached, mongodb). Помятуя об опыте предыдущих установок, на этот раз я решила весь процесс задокументировать и сохранить для потомков.
Дисклаймер номер раз: «я не программист» (с), а дизайнер интерфейсов и фронтенд-технолог (но в некоторых случаях могу помочь коллегам и накодить что-нибудь этакое, и меня даже потом за это не побьют)
Дисклаймер номер два: да, я прекрасно представляю, что в Ubuntu всё это делается в разы быстрее. Но я работаю на Windows, так исторически сложилось.
Итак, приступим.
Наш план работ включает установку следующих продуктов:
- PuTTY
- Denwer (Apache, MySQL, PHP)
- Nginx
- Memcached
- MongoDB
1. PuTTY
PuTTY - свободно распространяемый клиент для различных протоколов удалённого доступа, включая SSH, Telnet, rlogin.В состав PuTTY входит несколько утилит, но мне в работе нужны только он сам и Pegeant (агент SSH-аутентификации, в котором хранятся ключи от git-репозиториев).
Офсайт:
Если вам не нужны никакие SSH-и, забудьте об этом пункте и идём дальше.
2. GIT
Для работы с git я уже не первый год использую TortoiseGit , который стабилен, гуёв и на 146% закрывает все мои потребности. Вобщем, рекомендую.Офсайт:
2.1
Для работы TortoiseGit требуется git для Windows
, который можно забрать на гуглекоде ;
2.2
сам TortoiseGit
устанавливаем отсюда
3. Denwer
Денвер - Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») - проект Дмитрия Котерова, набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине.Офсайт:
3.1 Установка
Нам потребуется скачать базовый комплект и дополнительные модули PHP5 .Лирическое отступление:
нет, не просто скачать, а получить ссылки на скачивание по email! То есть вам придется вбивать свою почту, а также имя и фамилию два раза в форме под большим заголовком «Регистрация». «Регистрация требуется в связи с будущим выходом Денвера-4.» уже который год как бы извиняется форма, но я ей больше не верю(.
Обычно установка денвера проходит быстро и безболезненно, но на Windows8 на меня напала ошибка, которая ругалась на отсутствующую библиотеку msvcr71.dll . Библиотеку можно и положить в папку "\Windows\System32\" (x32) или "\Windows\SysWOW64\" (x64). После того, как файл улегся в папку, откройте его свойства и нажмите кнопку «Разблокировать».
3.2 Проверка работоспособности
После установки Денвера, создадим тестовый скрипт, на котором будем проверять работоспособность всего того, что мы установим впоследствии.Идем в Z:\home и добавляем новый сайт: создаем папку test.local , в ней папку «www» , в которую добавляем файл index.php с невероятно креативным текстом:
";
Перезапускаем Денвер, открываем в браузере www.test.local , впечатляемся и идём дальше
4. Memcached
Memcached - связующее программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе парадигмы хеш-таблицы.Memcache - расширение для php, предоставляет удобный процедурный и объектно-ориентированный интерфейс к memcached, высокоэффективному кеширующему демону, который был специально разработан для снижения нагрузки на базу данных в динамических веб приложениях.
4.1 Установка memcached
А. скачиваем архив с бинарником: Memcached 1.4.5 for Windows отсюдаВ. \usr\local\memcached
4.2 Установка memcache
А. скачиваем архив с библиотекой отсюдаВ. распаковываем содержимое архива в \usr\local\php5\ext\
С. открываем файл php.ini (\usr\local\php5\php.ini ) и подключаем расширение:
extension=php_memcache.dll
4.3 Настраиваем запуск Memcached вместе с запуском Denwer
Чтобы запустить скрипт вместе с Денвером нам нужно:- написать скрипт, содержащий команды запуска и останова приложения/ сервиса и положить его в папку \denwer\scripts\init.d
- создать ссылку на этот скрипт в папке конфигурации запуски/останова \denwer\scripts\main\
А.
создаём файл с именем «memcached.pl» в директории \denwer\scripts\init.d\
#!perl -w
package Starters::Memcached;
BEGIN { unshift @INC, "../lib"; }
use StartManager;
my $basedir = "/usr/local/memcached/";
chdir($basedir);
StartManager::action
$ARGV,
start => sub {
###
### START.
###
print "Starting memcached\n";
system("memcached.exe -d");
print " Started!\n";
},
stop => sub {
###
### STOP.
###
print "Stopping memcached\n";
system("TASKKILL /F /IM memcached.exe");
print " Stopped!\n";
};
return 1 if caller;
B.
теперь создадим ссылку на скрипт – обычный текстовый файл, содержащий указание, что при старте, рестарте и остановке Денвера, необходимо выполнить init.d/memcached.pl
В текстовом редакторе пишем
init.d/memcached
и сохраняем файл под именем «40_memcached»
в следующие папки:
- \denwer\scripts\main\start
- \denwer\scripts\main\stop
- \denwer\scripts\main\restart
4.4 Проверяем результат
В наш тестовый скрипт (index.php) добавляем:$memcache = new Memcache; $memcache->connect("127.0.0.1", 11211); echo ‘Memcache ver: ’ . $memcache->getVersion();
Перезапускаем Денвер и смотрим, что получилось
5. Nginx
Nginx - простой, быстрый и надёжный сервер, не перегруженный функциями.Офсайт:
5.1 Настройка Nginx
A. скачиваем с офсайта Windows-версию и распаковываем в \usr\local\nginxB. настраиваем виртуальный хост для нашего тестового сайта. Для этого открываем \usr\local\nginx\conf\nginx.conf и добавляем туда
Server {
listen 127.0.0.1:80;
server_name www.test.local test.local;
if ($host = "test.local"){
rewrite ^/(.*)$ http://www.test.local$1 permanent;
}
location ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar)$ {
root Z:\home\/test.local\www;
}
location / {
ssi on;
proxy_pass http://127.0.0.1:8080/;
proxy_set_header X-REQUEST_URI $request_uri;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
root Z:\home\/test.local\www;
}
}
Это пример настроек из реального проекта, ваши настройки, очевидно, могут отличаться.
5.2 Настройка Apache
По-умолчанию Апач работает на 80-м порту, но мы только что отдали этот порт Nginx-у, поэтому теперь необходимо изменить шаблон для виртуального хоста в настройках апача и назначить ему порт, отличный от 80-го (например, 8080).Открываем \usr\local\apache\conf\httpd.conf и изменяем номер порта
##
## НАЧАЛО ШАБЛОНА ВИРТУАЛЬНОГО ХОСТА.
##
## Если вы хотите по умолчанию запускать Apache на порту, отличном от 80,
## измените номер порта в следующей далее директиве.
##
#Listen $&{ip:-127.0.0.1}:$&{port:-8080}
#NameVirtualHost $&{ip:-127.0.0.1}:$&{port:-8080}
#
5.3 Настраиваем запуск Nginx вместе с запуском Denwer
A. создаём файл с именем «nginx.pl» в директории \denwer\scripts\init.d\#!perl -w package Starters::Nginx; BEGIN { unshift @INC, "../lib"; } use StartManager; my $basedir = "/usr/local/nginx/"; chdir($basedir); StartManager::action $ARGV, start => sub { ### ### START. ### print "Starting Nginx\n"; system("start nginx.exe"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping Nginx\n"; system("nginx.exe -s stop"); print " Stopped!\n"; }; return 1 if caller;
B.
в текстовом редакторе пишем
init.d/nginx
и сохраняем файл под именем «50_memcached»
в следующие папки:
- \denwer\scripts\main\start
- \denwer\scripts\main\stop
- \denwer\scripts\main\restart
5.4 Проверяем результат
Положим рядом со скриптом файл style.css с содержаниемh1{ color: red; } h2{ color: green; }
И облагородим наш index.php
:
Test me
Memcached
connect("127.0.0.1", 11211); echo "Memcached ver: " . $memcache->getVersion(); ?>Теперь перезапускаем Денвер и любуемся результатом. Если CSS-файл подключился – Nginx работает нормально.
6. MongoDB
MongoDB - документо-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц.Офсайт:
6.1 PHP-driver
А. Скачиваем библиотеку php_mongo.dll с этого сайта : и закидываем в папку \usr\local\php5\ext\Методом проб и ошибок было установлено, что подходящий драйвер содержится в архиве mongo-1.2.5.zip/mongo-1.2.5-php5.3vc9ts.zip . Если у вас по какой-то причине не заведётся, попробуйте другие версии.
B.
подключаем расширение в php.ini
extension=php_mongo.dll
6.2 Установка Mongo
А. скачиваем архив с Mongo и распаковываем в папку \usr\local\mongodb . В этой же папке создаем еще две папки:B.
устанавливаем службу
> cd C:\WebServers\usr\local\mongodb\bin\
> mongod.exe --install --dbpath=C:\WebServers\usr\local\mongodb\db\ --logpath=C:\WebServers\usr\local\mongodb\logs\
6.3 Настраиваем запуск MongoDB совместно с денвером
A. создаём файл с именем «mongod.pl» в директории \denwer\scripts\init.d\#!perl -w package Starters::mongoDB; BEGIN { unshift @INC, "../lib"; } use StartManager; StartManager::action $ARGV, start => sub { ### ### START. ### print "Starting mongoDB\n"; system("net start mongoDB"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping mongoDB\n"; system("net stop mongoDB"); print " Stopped!\n"; }; return 1 if caller;
B.
в текстовом редакторе пишем
init.d/mongod
и сохраняем файл под именем «60_mongod»
в уже знакомые нам папки:
- \denwer\scripts\main\start
- \denwer\scripts\main\stop
- \denwer\scripts\main\restart
6.4 Проверяем результат
Запустим консольный интерфейс mongo> Z:\usr\local\mongodb\bin\mongo.exe
И выполним вставку и вывод тестового значения в базу “test”
> db.test.save({ name: “Habr!” })
> db.test.find()
В результате должно получиться следующее:
6.5. Установка интерфейса управления Mongo-базами
На офсайте MongoDB есть список и краткие обзоры админок , так что можно выбрать по вкусу.Я для себя выбрала RockMongo , поэтому именно с её помощью мы окончательно удостоверимся, что у нас всё работает и никуда не падает.
А. скачиваем архив с админкой с этой страницы . Выбираем, естественно, версию для Windows . На момент написания статьи это RockMongo-on-Windows v0.0.4
B.
из архива берём папку \rockmongo-on-windows\web\rockmongo
и копируем её в директорию нашего тестового сайта
Открываем config.php
и меняем значение параметра
$MONGO["servers"][$i]["control_auth"] = true;
на
$MONGO["servers"][$i]["control_auth"] = false;
C.
Проверяем результат по ссылке www.test.local/rockmongo/index.php
Поздравляю! Теперь мы окончательные и бесповоротные молодцы.
Бонус №1. Работа с php из консоли Windows
Возможно, кому-то пригодится. Мне вот пригодилось, когда наш злобный техлид решил, что «SQL-файлы – это ващепрошлыйвек, давайте юзать миграции». Я, конечно, для приличия попыталась изобразить полное непонимание и даже пустить слезу, но была разоблачена и отправлена разбираться с тем, как это работает на Windows.Оказалось, что всё что нужно для счастья – это прописать PHP директорию в PATH .
Нажимаем на «Изменить» и добавляем в конец строки
;Z:\usr\local\php5
Теперь проверим, что всё заработало.
В директории тестового сайта создадим файл console.php
Открываем консоль
(можно прям из этой же папки – щелкаем правой кнопкой мыши с зажатым SHIFT-ом на пустом месте и выбираем пункт «Открыть окно команд»).
Вводим:
> php console.php “UserName”
Консоль отвечает:
> “Hello, UserName!”
PHP побеждён, всеобщее ликование, апплодисменты, занавес.
Бонус №2.
Все файлы и примеры, упомянутые в статье одним архивом бесплатно без смс: на гитхабеНадеюсь, что данный материал окажется полезен.
Буду благодарна за замечания и предложения.
Теги: Добавить метки
Комплекс. Это, как вы уже догадались, старый добрый 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 платформы имеют право на существование и использование виртуальных машин в большинстве случаев совершенно не оправдано.
Общие сведения о локальном сервере и принципе его функционирования. Создание локального сервера на основе сборки Денвер: подготовка, установка и первый запуск.
Любое программирование неотъемлемо от процесса тестирования — это аксиома. Говоря о разработке web-приложений, неизбежно встаёт вопрос наличия некой «среды», позволяющей эмитировать работу Интернет сервера. Другими словами, нам нужен локальный сервер .
Локальный сервер (англ. local server ) — программа или набор программ выполняющие сервисные (обслуживающие) функции по запросу клиента на домашнем (локальном) компьютере.
Такой «джентльменский набор» состоит из Apache, PHP и MySQL — этого обычно достаточно. С другой стороны, сюда могут входить и другие компоненты, в зависимости от ваших потребностей. Для нас же здесь важен тот факт, что мы можем воспользоваться готовой сборкой – Денвер . Таким образом, нам не придётся разбираться в особенностях установки и настройки локального сервера — всё сделано до нас.
Единственное на что я хочу обратить ваше внимание в работе локального сервера, это необходимость резервирования определённых IP-адресов под сервера, которые будут доступны только на нашем компьютере. В случае с Windows за резервирование IP-адресов отвечает файл hosts
. В зависимости от версии Windows файл hosts
может находиться:
- Windows 95/98/ME: WINDOWS\hosts
- Windows NT/2000: WINNT\system32\drivers\etc\hosts
- Windows XP/2003/Vista/7: WINDOWS\system32\drivers\etc\hosts
Если вы решили использовать локальный сервер на базе дистрибутива Денвер, вам нет необходимости редактировать этот файл, всё будет происходить автоматически, но иметь общие представления о сути вопросу нелишне.
Подготовка к работе локального сервера
От слов к делу. Исходим из того, что вы уже скачали последнюю версию сборки Денвер и готовы ринуться на штурм цитадели. Шучу. Главное не спешить и первым делом проверить установлены на вашем компьютере сетевые протоколы или нет. Как это сделать? Самый простой способ:
Установка локального сервера
Теперь, когда мы убедились, что наш компьютер готов к работе с сетью, можно приступать к установке дистрибутива Денвер. Закройте все окна браузера(-ов). Запустив скачанный инсталлятор Денвера, вы увидите перед собой окно:
Окно инсталятора дистрибутива Денвер
Подтвердите свои намерения, кликнув кнопку «Да». Начнётся процесс распаковки. После чего откроется окно браузера с сообщением:
Сообщение в окне браузера
Закрываем окно браузера и продолжаем установку в окне инсталятора.
Следуя указаниям, производим установку дистрибутива Денвер.
Примечание : вы можете прервать процесс установки, в любой момент, используя комбинацию клавиш Ctrl+Break . На большинстве современных ноутбуков для этого используется комбинация клавиш Ctrl+Fn+Pause .
- Директория, куда будет установлен дистрибутив. Советую оставить вариант по умолчанию, т.е. C:\WebServer — так что жмём Enter .
- Имя виртуального диска, который будет связан с только что указанной директорией. Советую оставить вариант по умолчанию, т.е. Z: . Главное чтобы диска с таким названием ещё не было в системе – чаще всего так и происходит с диском Z: . Так что снова жмём Enter .
- Запуск и остановка Денвера. Нам будет предложено два варианта:
- Создавать виртуальный диск при загрузке машины (естественно, инсталлятор позаботится, чтобы это происходило автоматически), а при остановке серверов его (диск) не отключать.
- Создавать виртуальный диск только по явной команде старта комплекса (при щелчке по ярлыку запуска на Рабочем столе). И, соответственно, отключать диск от системы - при остановке серверов.
Советую использовать второй вариант, т.к. запущенные программы будут постоянно «висеть» в памяти компьютера, что пагубно сказывается на его производительности и может вызывать конфликты в работе с другими программами.
Примечание : в некоторых версиях Windows 98 может возникнуть ошибка, из-за которой виртуальный диск не отключается, по крайней мере, с первого раза. Это не ошибка дистрибутива, а ошибка в subst и тут ничего не поделать.
Вот собственно и всё, с установкой покончено.
Первый запуск локального сервера
Наконец, установка завершена. На Рабочем столе должны появиться три иконки: Start Denwer (запуск Денвера), (остановка Денвера).
Иконки управления Денвер
Кликаем иконку Start Denwer и ждём, пока исчезнут все всплывающие при загрузке консольные окна. Открываем браузер и набираем в нём адрес: http://localhost/ , а точнее http://localhost/denwer/ — но это не существенно. Выходить из Интернета при этом не обязательно. Главное что перед нами должна появиться следующая страница:
Тестовая страница при обращении к локальному хосту
Если же тестовая страница не загрузилась, проверьте:
- Отключен ли у вас прокси-сервер в настройках браузера?
- Запущен ли Денвер? Если да, нет ли ошибок при клике на иконке пера (см. в нижнем правом углу)?
- Не запущен ли у вас какой-то другой web-сервер, который мог бы конфликтовать с Денвером? Если да, отключите его.
Возможны и другие варианты, но это уже не входит в рамки данной заметки.
Во времена моей юности в русскоязычном сегменте сети интернет был популярен только один единственный локальный веб-сервер. Это, как вы уже догадались, старый добрый Denwer. Он прочно обосновался на моём компьютере еще в далёком 2003 году. Другие альтернативы если и существовали в то время, то были известны в узких кругах и были не столь популярны.
Давайте посмотрим на то, что мы можем использовать сегодня, спустя столько лет. Я предлагаю рассмотреть, протестировать и сравнить 14-ть! программных комплексов предназначенных для использования в качестве локального веб-сервера для Windows.
1. AMPPSПоследняя версия: 1.7
Русский язык: есть (частично)
Portable версия: Нет
Базовый комплект:
- 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 - это не просто локальный сервер, это целая библиотека приложений, где каждое из них можно быстро установить, повертеть и поковырять не отходя от кассы. Всё это хозяйство кропотливо каталогизировано и подробно описано.
Несомненным плюсом данной сборки является поддержка многих распространенных CMS, блог-платформ, веб-форумов, досок объявлений, фотогалерей и проч. Всего доступных приложений более 200! Набор включённых в пакет компонентов так же не отстает от жизни, все модули довольно свежие и, что примечательно, здесь мы можем найти такую экзотику как Python и MongoDB.
Из минусов я хочу отметить частичный русский перевод, который присутствует только в каталоге скриптов, да и то не везде. После перезапуска Apache трей-меню отказалось работать, перезагрузка Windows не помогла. Еще одним минусом является отсутствие портативности. На мой взгляд AMPPS больше пригодится новичкам для изучения скриптов, нежели серьёзным разработчикам. Работать с этим сервером мне было не очень комфортно, есть варианты и получше.
2. AppServПоследняя версия: 2.5.10
Русский язык: Нет
Portable версия: Нет
Базовый комплект:
- 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 версия: Да
Базовый комплект:
- 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 версия: Да
Базовый комплект:
- 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 версия: Нет
Базовый комплект:
- 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. После рассмотрения оказалось что это обычный локальный веб-сервер.
В этой сборке мне понравилось оформление меню, которое оказалось довольно привлекательным, что большая редкость среди такого рода программ. Так же мне приглянулась панель управления, а точнее стартовая страница, которая имеет довольно необычное исполнение.
Радость от использования этого программного комплекса длилась не долго. После создания нового домена панель управления просто исчезла. Увы, она просто испарилась и в папке./www/localhost/ я даже не нашел каких-либо файлов кроме заглушки index.php. Еще одним огорчением была невозможность открыть папку с доменами из трей-меню, мне пришлось искать куда же я установил EleanorServ…
Ну и наконец самый главный недостаток - этот сервер не портативный, что не позволяет нам установить его на флешку и использовать на разных компьютерах.
6. NimpПоследняя версия: 1.5.0
Русский язык: Есть
Portable версия: Да
Базовый комплект:
- 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 для генерации динамического контента. В целом моё впечатление от этой сборки осталось двояким, оно плавно менялось от резко негативного вначале до нормально-приемлемого в процессе работы с программой.
В противовес другим участникам нашего обзора Open Server имеет наиболее приятный и продуманный интерфейс, обладает мощными возможностями по настройке и администрированию компонентов. К несомненным плюсам можно отнести поддержку профилей настроек, переключение HTTP/MySQL/PHP модулей, планировщик заданий (cron), удобное управление доменами и алиасами, а для «чайников» имеется толковое руководство пользователя.
Приятной особенностью Open Server является возможность использовать программу в качестве портативного персонального стартового меню. Можно установить сервер на USB накопитель, перенести туда свои portable программы, создать закладки для часто посещаемых сайтов и везде, где бы вы не находились, вы будете иметь удобное меню быстрого доступа к своим любимым сайтам и программам.