Web сервер для windows портативный. Выбираем локальный веб-сервер для Windows. Что такое XAMPP
Со временем любой веб-разработчик (блогер, веб-дизайнер или веб-программист ) будет нуждаться в специальной тестовой площадке, где можно без особых проблем заниматься разработкой сайта или тестированием другого веб проекта. Некоторые новички используют ресурсы своего платного хостинга и размещают туда минимум два сайта. Один рабочий (основной ), а другой (дополнительный ) для тестирования. Тестовый сайт подвергается различным испытаниям (установка и проверка многих плагинов, тем, скриптов и так далее ).
В итоге, при такой раскладке сильно страдает основной рабочий сайт, так как большинство ресурсов хостинга потребляет тестовый проект. Однако есть другой способ, который позволит без потерь (как в денежном, так и в ресурсном плане ) осуществлять тестирование своих сайтов, и мы этот способ сейчас рассмотрим.
Почему нельзя?
Вы уже, наверное знаете, чтобы поместить свой сайт в Интернет, нужно зарегистрировать доменное имя, купить хостинг, то есть дисковое пространство на каком-то компьютере с высокоскоростным подключением, на котором могут работать PHP скрипты. Чтобы сайты полноценно работали, должен быть установлен PHP и MySQL. Все это не доступно на обычном компьютере. Как могут запускаться файлы HTML и PHP на вашем компьютере?
Обычный файл можно открыть с помощью Notepade++ или даже с блокнота. Там внутри что-то написать, сохранить и потом без особых проблем открыть данный файл на своем браузере и посмотреть, как бы этот файл выглядел на хостинге в Интернете. То есть мы уже видим рабочую HTML страницу. В ней мы можем создавать определенный дизайн, контент и наблюдать за проектом без подключения к Интернету. Все, по сути, у нас уже есть. Если мы захотим запустить PHP файл с помощью браузера, то у нас ничего не получится, так как PHP скрипты в операционной системе Windows без дополнительного программного обеспечения работать не будут.
Все это не доступно на обычном компьютере и тем самым отпадает возможность работы со своими веб проектами. Поэтому некоторые новички начинают тратить деньги на дополнительные ресурсы своего платного хостинга. Но как быть в таком случае? Ответ прост — существуют специальные программы, с помощью которых можно установить свой выделенный сервер прямо у себя на компьютере.
Что такое сервер?
Что такое сервер и чем отличается локальный сервер от того, что находится в сети. В нашем случае под сервером подразумевается не компьютер, а специальный набор программ, обеспечивающих оптимальную работу сайта. Чтобы сайт заработал, нам потребуется установить его в специальное отведенное место на сервере (). То есть мы загружаем файлы сайта на удаленный компьютер. Однако без специальных программ сервера, наши загруженные файлы в сети видны не будут. Теперь для таких целей мы и создадим собственный сервер на своем домашнем компьютере.
Для этого нам понадобятся специальные программы. Но какие лучше подойдут и какие трудности они могут вызывать при дальнейшей работе? Для ознакомления, ниже я привожу самые лучшие веб сервера по популярности во всем мире. Однако это не значит, что их нужно сразу устанавливать. Я потом объясню почему!
Список лучших веб серверов
В настоящее время на рынке присутствуют несколько решений от самых разных производителей:
- (сайт — apache.org ) — это самый распространенный и популярный бесплатный сервер в сети. Он является более надежным и гибким. Сервер не требователен к ресурсам процессора и способен обслуживать множество сайтов. Приложение доступно для широкого спектра операционных систем, включая Unix, Linux, Solaris, Mac OS X, Microsoft Windows и другие. На данный момент использование Apache составляет 71 %. Однако, это сложная программа, с которой не каждый новичок сможет справится.
- (сайт — www.iis.net ) — еще один надежный сервер от компании Microsoft. Он жестко укрепился на втором месте с 14 % использования в сети. После установки программы, будут поддерживаться только два языка программирования (VBScript и JScript ). Однако, можно открыть дополнительные возможности, установив для этого нужные расширения. С установкой таких модулей, функциональность данного сервера значительно повышается.
- NGINX (сайт — nginx.org/ru/ ) — это наиболее популярный веб-сервер в российском Интернете. По сравнению с двумя первыми, он является наиболее простым и не обладает лишними функциями. Также его хвалят за надежность и высокую скорость работы. Разработчиком данного продукта является наш соотечественник — Игорь Сысоев. В 2004 году он выпустил первую версию nginx. Сейчас этот программный продукт замыкает тройку самых популярных веб серверов в мире. Его использование составляет около 6,5 %.
- (сайт — litespeedtech.com ) — этот веб сервер не обладает широкими возможностями, но зато у него очень большая скорость работы. По быстродействию он сильнее популярного Apache в 9 раз. Немало внимания уделено и безопасности (своя защита от перегрузки системы, строгая проверка http-запросов, анти-ddos и многое другое ). LiteSpeed доступен для Solaris, Linux, FreeBSD и Mac OS X. Доля использования этой программы составляет 1,5 %.
Конечно же, есть много и других подобных программ, но доля их использования и доверия среди пользователей не так высока как у этих. К сожалению, одной такой программой вам не обойтись. Мало того, что их целесообразно использовать для работы с крупными проектами, так еще может возникнуть сложность в установке и настройке. К тому же помимо таких серверов требуется еще отдельная установка и настройка некоторых программ (например, для работы с базой данных ). Все это вызывает существенные трудности у многих пользователей. Как быть в таком случае?
Особенности локального сервера
На данный момент существует множество различных дистрибутивов, которые смогут облегчить жизнь любому начинающему веб-мастеру. Они очень просты в установке, в работе, менее требовательны к ресурсам и содержат необходимые программные элементы для наилучшей работы.
То есть локальный сервер — это не одна программа (не один конкретный веб сервер ), а специальный сборник, куда входят облегченные варианты сложных серверных программ. Обычно в сборку входят: сам сервер (в основном Apache, но могут быть и другие ), компилятор PHP (с его помощью браузер может прочитать коды и собрать страницу ), компоненты для работы с базами данных, различные установщики и многие другие программы. Все это значительно упрощает дело, нежели если бы мы устанавливали и настраивали каждую программу в отдельности.
Кроме того, к базовым пакетам локальных серверов можно подключать отдельные модули для расширения функционала. Еще важной особенностью является то, что на некоторых серверах существует возможность работы со съемного флеш-накопителя. В общем, такие сборки очень хорошо подходят для быстрой разработки сайтов, тестирования небольших проектов, а порой и даже крупных.
Обзор популярных локальных серверов
Вот некоторые сборки, которые могут пригодиться вам:
- (сайт — denwer.ru ) — это бесплатный отечественный сервер, который предназначен для работы с сайтами, веб-приложениями или Интернет страницами. Его разработчиками являются Дмитрий Котеров и Антон Сущев. Данный продукт содержит необходимые дистрибутивы для упрощенной работы. Например, сюда входит веб-сервер Apache с различной поддержкой, панель phpMyAdmin и MySQL для работы с базами данных и другие программы. Также можно работать со съемной флешки. К сожалению Denwer поддерживает только операционную систему Windows.
- XAMPP (сайт — www.apachefriends.org/en/xampp.html ) — специальная сборка сервера от друзей Apache. Необходимые дистрибутивы позволяют запустить на нем полноценный веб сервер. Данная программа распространяется бесплатно и поддерживает работу в системе Windows, Solaris, Mac OS X и Linux. Также есть следующие преимущества: сервер популярен своим очень простым пользовательским интерфейсом, что делает его любимым для многих начинающих; наблюдается многократные появления обновленных версий; процесс обновления проходит очень просто и удобно для пользователя; присутствуют дополнительные модули. Скачать нужную версию вы также можете с другого официального сайта — sourceforge.net/projects/xampp/files .
- (сайт — www.appservnetwork.com ) — отличный сервер от тайского производителя, концепцией которого является легкая установка и настройка всех дистрибутивов за 1 минуту. Первый релиз сборки состоялся в 2001 году и с тех пор количество пользователей все время растет. AppServ очень прост в установке, он работает стабильно и не хуже официальных и отдельных релизов, а его надежная производительность дает возможность создать полноценный веб сервер на вашем компьютере.
- (сайт — vertrigo.sourceforge.net ) — еще один неплохой и простенький в установке локальный сервер. Сборка очень гибкая, имеет хорошую производительность и занимает мало места на диске. К сожалению, пока работает только на ОС Windows.
- Zend Server Community Edition (сайт — www.zend.com ) — бесплатный сервер от компании Zend, предназначен для работы с веб-приложениями. Содержит все необходимые компоненты для быстрого развертывания локального сервера на своем компьютере.
- (сайт — open-server.ru ) — это отечественный портативный локальный сервер, который обладает высоким функционалом по разработке и созданию сайтов и других веб проектов. Имеет мультиязычный интерфейс (в том числе и русский ) и предназначен для работы в ОС Windows. Поддерживается работа со съемного носителя. Данный сервер очень хорош и служит неплохой альтернативой Денверу.
- (сайт — wampserver.com ) — еще одна неплохая сборка с русским интерфейсом (есть также и другие языки ). Имеется простое и понятное меню, а удобная установка и настройка сборки не вызывает особых трудностей. Настройку можно производить не затрагивая файлы конфигураций, что очень полезно начинающим веб-мастерам. Сервер распространяется бесплатно и работает только на платформе Windows. К сожалению, портативной версии пока нет.
- (сайт — easyphp.org ) — очень простенькая сборка с поддержкой русского языка. Сборка ни чем не примечательна, не имеет огромного функционала и в основном предназначена для тестирования небольших проектов. Есть поддержка работы с портативных носителей. Данный сервер послужит неплохой заменой Денверу.
В интернете существует масса статей про настройку тех или иных 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, на котором вы хотите, чтобы сервер отвечал.
- Естественно поддерживается ограничение на количество различных подключений и скачиваний для групп и пользователей.
Комплекс. Это, как вы уже догадались, старый добрый 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 платформы имеют право на существование и использование виртуальных машин в большинстве случаев совершенно не оправдано.
Во времена моей юности в русскоязычном сегменте сети интернет был популярен только один единственный локальный веб-сервер. Это, как вы уже догадались, старый добрый 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 программы, создать закладки для часто посещаемых сайтов и везде, где бы вы не находились, вы будете иметь удобное меню быстрого доступа к своим любимым сайтам и программам.
Установка веб-сервера на Linux:
- Если у вас Ubuntu, то вам подойдёт статья "Как установить веб-сервер Apache с PHP 7, MariaDB/MySQL и phpMyAdmin (LAMP) на Ubuntu 16.10 ".
- Если у вас Arch Linux, то вам подойдёт статья "Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP7 и phpMyAdmin) в Arch Linux / BlackArch ".
Локальный сервер очень полезный инструмент. Он точно пригодиться веб-мастерам, программистам на PHP, тестерам на проникновение. Все программы, входящие в типичную установку веб-сервера, являются бесплатными, у всех у них открыт исходный код. Локальный веб-сервер потребляет минимум ресурсов и, на самом деле, его совсем нетрудно установить и настроить.
Эта инструкция расскажет о том, как установить локальный веб-сервер без использования готовых сборок. Этот способ имеет свои преимущества. Самыми важными из них являются: полный контроль на тем, что вы устанавливаете; возможность использовать самые последние версии программного обеспечения.
Если вы будете в точности следовать инструкции, то у вас обязательно всё заработает! Кроме тех, у кого Windows XP - если лу вас эта операционная система, то для вас сделана специальная инструкция .
Я покажу пример установки на Windows 10, но если у вас другая версия Windows, то пусть вас это не смущает - процедура везде идентичная. Я буду скачивать последние (самые свежие) на момент написания версии программ. Если к тому времени, когда вы читаете, выйдут новые версии, то скачивайте именно их.
Этапы установки:
Вам также может пригодиться:
1. Подготовка (скачивание программ, входящих в сервер, создание структуры сервера)
Нам нужны:
- Apache (непосредственно веб-сервер)
- PHP - среда для работы PHP программ (требуется практически всеми веб-сайтами)
- MySQL - система управления базами данных (требуется большинством веб-сайтов)
- phpMyAdmin - очень удобный инструмент для управления базами данных
Официальный сайт разработчиков Apache это httpd.apache.org . Можно скачать Apache с этого сайта. Но официальная версия собирается с использованием старого компилятора, по этой причине она не работает с новыми версиями PHP. Авторы PHP рекомендуют Apache с сайта apachelounge.com/download . Поэтому для этой инструкции скачиваем Apache именно с сайта apachelounge.com/download .
Если у вас 64-битная версия Windows, то вы можете выбрать как 64-битную, так и 32-битную версию компонентов. Главное правило - все компоненты должны быть одной битности. Если у вас 32-битная версия Windows, то все компоненты должны быть 32-битными. Это не относится к phpMyAdmin, который написан на языке PHP. Для PHP программ понятие битности неприменимо.
Бесплатная версия MySQL называется MySQL Community Server . Её можно скачать на странице . На этой же странице есть установщик в виде исполнимого файла, но я рекомендую скачать ZIP-архив. На странице скачивания нам предлагают зарегистрироваться или войти в существующую учётную запись - но это делать необязательно. Достаточно нажать на ссылку «No thanks, just start my download ». Обратите внимание на битность.
Ещё нам нужен файл C++ Redistributable Visual Studio 2017, т.е. Распространяемый компонент Visual C++ для Visual Studio 2017 (или любой другой более поздний), скачать его можно на официальном сайте Microsoft по ссылке (прямая ссылка на скачивание 64-битной версии; прямая ссылка на скачивание 32-битной версии). Этот файл нужен для веб-сервера. А для MySQL необходим Распространяемые пакеты Visual C++ для Visual Studio 2015. Его можно скачать по .
Итак, у меня скачались следующие файлы:
- httpd-2.4.29-Win64-VC15.zip
- php-7.2.0-Win32-VC15-x64.zip
- mysql-8.0.11-winx64.zip
- phpMyAdmin-4.7.6-all-languages.zip
- vc_redist.x64.exe
- vcredist_x64.exe
Установите файлы vc_redist.x64.exe и vcredist_x64.exe .
2. Создание структуры веб-сервера
Создадим структуру каталогов нашего сервера. Главная идея - разделить исполнимые файлы и файлы сайтов с базами данных. Это удобно для обслуживания сервера, в том числе для резервного копирования.
В корне диска C:\ создайте каталог Server . В этом каталоге создайте 2 подкаталога: bin (для исполнимых файлов) и data .
Перейдите в каталог data и там создайте подпапки DB (для баз данных) и htdocs (для сайтов).
Перейдите в каталог C:\Server\data\DB\ и создайте там пустую папку data .
Карта важных папок, которые упоминаются в данной инструкции:
C:. ├───bin │ ├───-Apache24 │ │ └───conf │ ├───-mysql-8.0 │ ├───-PHP │ └───-Sendmail ├───certs ├───data │ ├───DB │ │ └───data │ └───htdocs │ └───-phpmyadmin └───manage
3. Установка Apache 2.4
Содержимое скаченного архива (точнее говоря, только каталог Apache24 ), распакуйте в C:\Server\bin\ .
Перейдите в каталог c:\Server\bin\Apache24\conf\ и откройте файл httpd.conf любым текстовым редактором.
В нём нам нужно заменить ряд строк.
Define SRVROOT "c:/Apache24"
Define SRVROOT "c:/Server/bin/Apache24"
#ServerName www.example.com:80
ServerName localhost
DocumentRoot "${SRVROOT}/htdocs"
DocumentRoot "c:/Server/data/htdocs/"
DirectoryIndex index.html
DirectoryIndex index.php index.html index.htm
# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride None
# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule rewrite_module modules/mod_rewrite.so
Сохраняем и закрываем файл. Всё, настройка Apache завершена! Описание каждой изменённой директивы вы найдёте на этой странице .
Откройте командную строку (это можно сделать нажав одновременно клавиши Win+X). Выберите там Windows PowerShell (администратор) и скопируйте туда:
C:\Server\bin\Apache24\bin\httpd.exe -k install
Если поступит запрос от файервола в отношение Apache, то нажмите Разрешить.
Теперь вводим в командную строку:
C:\Server\bin\Apache24\bin\httpd.exe -k start
И нажмите Enter.
В качестве имя пользователя вводим root. Поле пароля оставляем пустым. Если всё сделано правильно, то всё должно выглядеть так:
7. Использование сервера и бэкап данных
В каталоге c:\Server\data\htdocs\ создавайте папки и файлы, например:
c:\Server\data\htdocs\test\ajax.php - этот файл, соответственно, будет доступен по адресу http://localhost/test/ajax.php и т.д.
Для создания полного бэкапа всех сайтов и баз данных достаточно скопировать каталог C:\Server\data\ .
Перед обновлением модулей, делайте бэкап папки bin - в случае возникновения проблем, можно будет легко откатиться к предыдущим версиям.
При повторной установке сервера или при его обновлении, необходимо заново настраивать конфигурационные файлы. Если у вас есть копии этих файлов, то процесс можно значительно ускорить. Желательно забэкапить следующие файлы:
- c:\Server\bin\Apache24\conf\httpd.conf
- c:\Server\bin\mysql-8.0\my.ini
- c:\Server\bin\PHP\php.ini
- c:\Server\data\htdocs\phpMyAdmin\config.inc.php
В них и хранятся все настройки.
8. Дополнительная настройка PHP
PHP в настоящее время очень мощный, гибкий, удобный инструмент. На локальном компьютере с помощью него можно решать разнообразные задачи, совсем не обязательно связанные с генерацией Web-страниц. При решении неординарных задач можно упереться в ограничения, установленные в настройках. Эти настройки содержаться в файле php.ini (c:\Server\bin\PHP\php.ini) Рассмотрим некоторые из них:
Memory_limit = 128M
устанавливает максимальное количество памяти, которое может использовать скрипт
Post_max_size = 8M
устанавливает максимальное количество данных, которые будут приняты при отправке методом POST
;default_charset = "UTF-8"
устанавливает кодировку (по умолчанию, строка закомментирована)
Upload_max_filesize = 2M
максимальный размер загружаемого на сервер файла. Изначально установлен очень маленький размер - только два мегабайта. Например, при загрузке базы данных в phpMyAdmin, не получится загрузить файл больше 2 мегабайт до тех пор, пока не будет изменён этот пункт настройки.
Max_file_uploads = 20
максимальное количество файлов для загрузки за один раз
Max_execution_time = 30
максимальное время выполнения одного скрипта
Менять эти настройки совершенно необязательно, но полезно о них знать.
9. Дополнительная настройка phpMyAdmin
Мы уже настроили phpMyAdmin и большинству вполне достаточно базового функционала. Тем не менее, на стартовой странице phpMyAdmin есть надпись: «Дополнительные возможности phpMyAdmin не настроены в полной мере, некоторые функции были отключены».
Новыми возможностями являются:
- показ связей между (связанными) таблицами;
- добавление информации о таблицах (начиная с версии 2.3.0 вы можете описывать в специальной таблице ‘table_info’ какая колонка будет показана во всплывающей подсказке при движении курсором над связанным ключом);
- создание PDF-схемы (начиная с версии 2.3.0 вы можете в phpMyAdmin создавать PDF страницы, показывающие связи между вашими таблицами);
- отображать комментарии столбцов (начиная с версии 2.3.0 вы можете делать комментарий с описанием каждого столбца для каждой таблицы. И они будут видны в «предварительном просмотре для печати». Начиная с версии 2.5.0, комментарии используются на собственных страницах таблиц и в режиме просмотра, показываясь как всплывающие подсказки над колонками (таблицы свойств) или встроены в заголовок таблицы в режиме просмотра. Они также могут быть показаны в дампе таблицы);
- создавать закладки (начиная с версии 2.2.0, phpMyAdmin позволяет пользователям делать закладки на запросы. Это может быть полезно для часто используемых запросов);
- история SQL-запросов (начиная с версии 2.5.0 вы можете сохранять вашу историю всех SQL запросов, которые были сделаны через интерфейс phpMyAdmin);
- дизайнер (начиная с версии 2.10.0, доступен инструмент Дизайнер; он позволяет визуально управлять связями между таблицами);
- информация о недавно использованных таблицах;
- настройка интерфейса часто используемых таблиц;
- слежение (начиная с версии 3.3.x доступен механизм слежения. Он помогает вам проследить каждую SQL команду, которая была выполнена phpMyAdmin’ом. Поддерживается запись работы с данными и запись команд. После включения, вы сможете делать версии таблиц);
- пользовательские настройки (начиная с версии 3.4.x, phpMyAdmin позволяет пользователям задавать большинство настроек и сохранять их в базе данных);
- настраиваемые меню (начиная с версии 4.1.0 вы можете создавать группы пользователей, которым будут доступны только назначенные пункты меню. Пользователь может быть определён в группу и будет видеть только пункты меню, доступные для его группы);
- спрятать/показать пункты навигации (начиная с версии 4.1.0 вы можете спрятать/показать пункты в навигационном дереве).
- и другие
Сейчас мы настроим эти дополнительные возможности в полной мере. Перейдите по ссылке http://localhost/phpmyadmin/chk_rel.php и кликните "Создать базу данных". После этого все новые функции будут активированы.
Несколько скриншотов новых функций:
1) Дизайнер
2) Слежение
10. Установка почтовой заглушки
В каталоге C:\Server\bin\ создайте новый каталог с названием Sendmail. Теперь в этом каталоге создайте файл sendmail.php со следующим содержимым:
#!/usr/bin/env php
Откройте конфигурационный файл PHP, он размещён здесь C:\Server\bin\PHP\php.ini . И добавьте туда одну строчку:
Sendmail_path = "C:\Server\bin\PHP\php.exe C:\Server\bin\Sendmail\sendmail.php --dir C:\Server\bin\Sendmail\emails"
Сохраните файл и перезапустите сервер. Отлично, теперь все отправленные письма будут сохраняться в каталоге C:\Server\bin\Sendmail\emails\
Письма будут иметь расширение .eml и их можно открывать, например, программой Thunderbird . Либо обычным текстовым редактором.
11. Добавление PHP директории в PATH на Windows
Если этого не сделать, то могут быть проблемы с некоторыми модулями PHP, в том числе с php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll и php_pgsql.dll. По крайней мере, при запуске сервера каждый раз в логах появляется следующее:
PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_curl.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_intl.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_ldap.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_pdo_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0
Чтобы избежать этих предупреждений, нужно добавить в системные переменные среды путь до PHP.
Нажмите кнопку Пуск (или как там она называется на Windows 10?), начните набирать «Изменение системных переменных среды » и откройте соответствующее окно настроек.
Там нажмите «Переменные среды »:
В окне «Системные переменные » найдите и кликните на Path , потом нажмите «Изменить »:
Поднимите запись в самый вверх:
Закройте все окна с сохранением сделанных изменений.
Перезапустите сервер.
12. Зависание, замедление трафика и/или ошибка сервера Asynchronous AcceptEx failed
Если ваш сервер даже без нагрузки «зависает» - не показывает веб-страницы до перезапуска, а в логах сервера ошибки Asynchronous AcceptEx failed:
AH00455: Apache/2.4.9 (Win64) PHP/5.5.13 configured -- resuming normal operations AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:42:59 AH00094: Command line: "c:\\Server\\bin\\Apache24\\bin\\httpd.exe -d C:/Server/bin/Apache24" AH00418: Parent: Created child process 4952 AH00354: Child: Starting 64 worker threads. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
То в конфигурационный файл Apache добавьте:
AcceptFilter http none AcceptFilter https none EnableSendfile off EnableMMAP off
13. Настройка cURL в веб-сервере Apache на Windows
Если вы не знаете, что такое cURL, значит это вам не нужно. Т.е. смело пропускайте этот шаг.
cURL - это консольная утилита, которая позволяет обмениваться данными с удалёнными серверами, используя очень большое количество протоколов. cURL может использовать кукиз и поддерживает аутентификацию. Если для веб-приложения требуется cURL, то это должно быть указано в зависимостях. Для многих популярных приложений cURL не требуется, например, для phpMyAdmin и WordPress нет необходимости настраивать cURL.
Если cURL настроена неправильно, то вы будете получать ошибки:
Fatal error: Call to undefined function curl_multi_init() in …
Ошибка curl: SSL certificate problem: unable to get local issuer certificate
Чтобы cURL работала в Apache на Windows вам нужно:
1) Обязательно добавить PHP директорию в PATH (системные переменные среды). Как это сделать сказано чуть выше:
2) В файле C:\Server\bin\PHP\php.ini должна быть раскомментирована строка extension=curl
Обычно это не требуется, но при желании вы можете сделать резервную копию бинарных (исполнимых) файлов сервера. Все эти файлы находятся в папке C:\Server\bin\ . Это Apache, MySQL и PHP - т.е. программы, которые отвечают за работу сервера, но которые мы в любой момент можем скачать с официальных сайтов и вновь настроить.
Если вы хотите сделать их резервную копию (например, перед обновлением сервера), то остановите службы:
C:\Server\bin\Apache24\bin\httpd.exe -k stop net stop mysql
И скопируйте в безопасное место папку C:\Server\bin\ .
Кстати, вы можете скопировать весь сервер целиком, т.е. папку C:\Server\ - в этом случае одновременно получиться резервная копия и исполняемых файлов, и данных (базы данных, сайты).
Когда копирование завершено, вновь запустите службы:
C:\Server\bin\Apache24\bin\httpd.exe -k start net start mysql
15. Обновление сервера
Все компоненты, составляющие веб-сервер, активно развиваются и регулярно выходят новые версии. При выходе новой версии вы можете обновить один какой-то компонент (например, PHP), или сразу несколько.
Удаление сервера
Если сервер вам больше не нужен , либо вы хотите установить его заново, остановите службы и удалите их из автозапуска последовательно выполнив в командной строке:
C:\Server\bin\Apache24\bin\httpd.exe -k stop c:\Server\bin\Apache24\bin\httpd.exe -k uninstall net stop mysql c:\Server\bin\mysql-8.0\bin\mysqld --remove
Удалите файлы сервера, для этого удалите папку C:\Server\ . Внимание, это удалит все базы данных и ваши сайты.
Как защитить веб-сервер Apache от взлома в Windows
С PHP (с выбором версий), с MySQL и phpMyAdmin. Данный сайт размещён именно на нём: отзывчивая и квалифицированная техническая поддержка, установка WordPress и других веб-приложений в одни клик, в подарок при оплате за год, бесплатный перенос сайта. При заказе хостинга по + 1 месяц бесплатно (промокод b33e0e2f).