Обзор веб-серверов для Windows и Mac OS X
Разработка современных динамических веб-сайтов на определенном этапе сталкивается с необходимостью…
Ой, что-то у меня сначала получалось введение в статью не очень, на уровне скучной вузовской методички — много слов, красивых и объемных определений, где мозг на третьем причастном обороте начинает пропускать абзацы.
Такой подход нам не нужен. Но просто так без введения вроде бы тоже нельзя. Поэтому вот оно.
Любой разработчик, начавший свою поступь в вебе, рано или поздно столкнется с необходимостью развернуть на своей рабочей машине веб-сервер, чтобы php и БД ожили и начали взаимодействовать с пользователем. Ибо вносить изменения на рабочей конфигурации — это пилить сук на котором сидишь, причем дерево стоит на краю пропасти. В общем, не советую.
По-настоящему эту статью нужно было бы назвать иначе, поскольку здесь я рассмотрю именно программные комплексы / оболочки, которые помогают развернуть локальные веб-сервера. Прошу это учитывать.
Кроме того, есть варианты, когда можно скачать все компоненты по отдельности, сконфигурировать и настроить — мы это рассматривать не будем.
За сим довольно отступлений, поплыли.
Denwer
Когда-то давно, когда в большей части мы пользовались Windows XP (другие системы были уделом немногих), то была одна знаменитая программная оболочка — Denwer, которая включала в себя все необходимые компоненты для веб-разработчиков: Apache, PHP и MySQL.
Они сейчас вроде что-то разрабатывают новое, но в целом последний раз, когда я его запускал, был очень и очень давно (лет 5 назад).
По информации с официального сайта он поддерживает только PHP5, что конечно, грустно, ибо его поддержка скоро будет прекращена (по соображениям безопасности). Да и MySQL версия не свежая, а PostgreSQL например вообще не завезли.
Ссылку на официальный сайт оставлю, может когда-нибудь они допилят 4 версию.
Open Server
Очень популярная портативная серверная платформа для Windows.
И это не просто так — количеством компонентов может позавидовать любой из перечисленных в этой статье. Посмотрите сами:
- вот вам php от 5.2.17 до 7.3.2 версии;
- можно запустить любой веб-сервер на выбор: Apache или Nginx;
- поддерживает базы данных: MySQL, MariaDB, MongoDB, PostgreSQL;
- Git for Windows;
- и набор программ (полный набор смотрите в описании на сайте).
К сожалению, данная сборка есть только по Windows.
Следующая платформа для веб-разработки, которой сам достаточно давно уже пользуюсь. В целом, достаточно стабильная платформа.
Качается и устанавливается очень просто. Бывают иногда проблемы с нехваткой компонентов Microsoft Visual C/C++ Redistributable — их также придется качать&устанавливать вручную.
В целом, достаточно бодро поддерживается разработчиками и уже имеет на борту PHP7, что не может не радовать.
На WAMP структура файлов достаточно простая. При стандартной установке (которую рекомендую) он устанавливается в корень системного диска. Основная папка, которая нам будет нужна — это папка www (c:\wamp\www). Будем считать ее за корневую нашего локального сервера — именно в ней нужно создавать новые папки, в которых уже будут размещаться файлы сайта.
Когда мы запустим WAMP и перейдем по адресу http://localhost, то встретим двоякую картину — с одной стороны, на этой технической странице отображены все подключенные модули php и все созданные директории в c:\wamp\www. С другой стороны — мы не сможем уйти в созданную директорию (уж не знаю, кто так ловко запилил скрипт). Чтобы их открыть, нужно вбивать адрес ручками — типа http://localhost/papka (или как она будет у вас называться).
А вот и ссылка на официальный сайт разработчиков. Для скачивания доступны 32 и 64-битные версии, но лично я пользуюсь первой, поскольку со второй при установке возникают непонятки. И вот с этой инфой желательно ознакомится, здесь приведу кратко:
- WAMP работает только на файловой системе NTFS;
- версии старше 2.5 не поддерживают Windows XP, SP3 и Windows Server 2003 — для таких
некровинтажных операционок используйте либо более старые версии, либо Denwer; - перед установкой запаситесь библиотеками Microsoft C/C++ — они должны быть уже в системе;
- при установке вырубить Скайп или настроить его так, чтобы он не пользовался портами 80 или 443.
Но это мелочи, поскольку штука очень удобная.
XAMPP
Следующая сборка веб-сервера Apache+PHP+MySQL, но кроме этого имеющая в своём составе также Perl и MariaDB. А кроме того, имеются расширения и даже темы.
Данный пакет можно использовать на Windows, Mac OS X и Linux. Кто-то говорил, что есть даже для Solaris, но на официальном сайте пока не доступно, поэтому не считается.
Ставится XAMPP намного проще, чем WAMP — куча библиотек для него не нужно. Однако, есть некоторые нюансы:
- для любителей WinXP плохие новости — на нём XAMPP не запуститься (юзайте Denwer);
- если у вас Mac, то на нем должна стоять система не ниже 10.6 (Snow Leopard);
- волею случая так получилось, что вы работаете на Linux, но зашли на эту статью и дочитали до этого места, то знайте — XAMPP поддерживает многие дистрибутивы типа Debian, RedHat, CentOS, Ubuntu, Fedora, Gentoo, Arch, SUSE, а вот самосборки и другие — как повезёт.
При работе на Windows все очень похоже на то, как это организовано в WAMP — папка с рабочим окружением, внутри неё — htdocs, в которой и хранятся все локальные сайты.
Из плюсов — удобный интерфейс для конфигурации системы и возможность запускать разные процессы отдельно (т.е. если нужен только Apache — без вопросов). И доступ к логам также доступен из панели управления.
Последний в списке, но не последний по значению веб-сервер. В основном предназначен для Mac OS X, но есть также версия для Windows.
Поставляется в двух вариантах — MAMP в бесплатной версии и MAMP PRO за 4 600 рублей. Разница между ними есть существенная — в платной версии нам будут доступны следующие фичи:
- доступ к локальной версии сайта — это очень удобно, когда можно просто скинуть ссылку для «посмотреть», и магия с помощью специального сервиса даст доступ к локальному сайту;
- паровозом к этой функции имеется возможность просмотреть на смартфоне, для чего даже запилены приложения на Android и iPhone;
- функция резервного копирования сайтов и баз данных на Dropbox;
- можно создать сколько угодно хостов с индивидуальной настройкой — Apache или NginX, версии php;
- возможность устанавливать в один клик Joomla, Drupal, Grav, Media Wiki, phpBB, Opencart, WordPress и прочие штуковины;
- и на последок для любителей WordPress есть несколько полезных функций.
На платной версии интересных функций много, но по большому счёту можно ограничиться и бесплатной версией.
Официальный сайт разработчиков, где в наличии не только MAMP, но и другие изделия компании. Ссылку оставил на английскую версию, но имейте в виду, что разработчики — немцы, поэтому внезапный переход на дойч возможен.
Поделка для сервера
Поскольку я долгое время пользовался в основном WAMP’ом, то постоянно сталкивался с неудобством использования его основной страницы (та, которая открывается на localhost’е).
В итоге я просто взял и несколько переделал эту страницу — убрал все излишнее, оставил только список созданных директорий, чтобы можно было сразу выбрать нужную + ссылку на phpMyAdmin.
Для скриншота я несколько поменял названия — они равны именам папок
Переделанную главную страницу можно скачать здесь + там же инструкция по установке.
По итогу
Сборки веб-серверов для отладки бывают разные, и устраивать холивары или versus-баттлы здесь не стоит. По теме я видел несколько статей с заголовками вида «Что лучше: X или Y?». Всё это вкусовщина.
В разное время я работал на всех этих системах и просто оставил те, что мне больше всего нравятся. У всех есть плюсы и минусы.
Попробуйте каждый и оставьте тот, что более всего нравится.
Автор блога, веб-разработчик
Устанавливаем веб-сервер на Mac OS
Инструкция по установке локального веб-сервера на Mac OS.
Далее ниже будем настраивать веб-сервер самостоятельно, без использования сторонних программ. Благо Mac OS является UNIX системой и настройка веб-сервера почти не отличается от Linux серверов.
Для установки веб-сервера можно воспользоваться готовыми решениями. Например, MAMP PRO. Но если хочется hardcor-а или не хочется платить за готовые решения, то это статья для вас.
Ставим менеджер пакетов для Mac OS
Ставим apache на Mac OS
Работаем через командную строку, но правки в файлах намного быстрее делать через сторонние редакторы, например, Sublime Text.
Устанавливаем apache
Перенастроим дефолтный конфигурационный файл:
1. Меняем директорию для сайтов
2. Меняем порт
Теперь сможем заходить на локальные сайты без указания порта
3. Меняем директиву AllowOverride
Обяжем Apache использовать файлы .htaccess.
4. Раскомментируем строку mod_rewrite
5. Поменяем стандартного пользователя
на нашего в системе и меняем его группу на stuff
Пользователь группы может быть другой. Для того чтобы это узнать, открываем свойство любой папки и смотрим что там указано. В примере ниже указан пользователь everyone.
В этом случае в строке указываем именного этого пользователя:
6. Изменим ServerName
Сохраняем файл, но не закрываем, скоро он снова понадобится.
Ставим последнюю версию PHP на Mac OS
Вернемся к файлу настроек апача и сообщим ему, чтобы тот использовал наш PHP. Файл:
В нем переходим к разделу загрузки модулей, видим там
Добавляем после этого
Также заменяем в этом файле
DirectoryIndex index.php index.html
Сохраняем, но опять не закрываем файл, он понадобится и дальше.
Запустить сервис PHP
Посмотреть все сервисы
Настройки для PHP указанной выше версии будут здесь:
После изменения обязательно надо перегрузить все сервисы (не только PHP)
Устанавливаем PostgreSQL на Mac OS
Устанавливаем MySQL на Mac OS
Для управления базой данных через веб-интерфейс также можно установить phpMyAdmin:
Или использовать сторонние программы, типа Sequel Pro
Если был установлен phpmyadmin, то допишем в файл:
Если после этого сразу зайти в phpmyadmin или через любое другое приложение, будет ошибка:
mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client
В MySQL 8 изменили аутентификацию с mysql_native_password на caching_sha2_password, как на более безопасную. Если мы хотим входить как и раньше, то внесем изменения.
Перегрузим все сервисы:
Войдем внутрь MySQL
Должны зайти на сервер:
Добавим старую авторизацию и пароль: password
Но и этого не достаточно, будут ошибки:
mysqli_real_connect(): (HY000/2002): No such file or directory
mysqli_real_connect (): (HY000 / 2002): нет такого файла или каталога
а) Изменим там false на true
Теперь всё должно работать! Осталось всё запустить.
По умолчанию адрес доступа в phpmyadmin
Запуск
или также для mysql подойдет
Команды для перезапуска:
Посмотреть все сервисы:
Логи ошибок в веб-сервере на Mac OS
Если что-то пошло не так, можно посмотреть логи ошибок. Например, почему не открывается та или иная страница:
Ошибки
Ошибка при перезагрузке apache
а) Если там будет ошибка:
AH00544: httpd: bad group name stuff
Значит в конфигурации httpd.conf указан неверный пользователь. Как поправить смотрите в этой статье выше.
б) Также может быть:
httpd: Syntax error on line 183 of /usr/local/etc/httpd/httpd.conf: Cannot load /usr/local/opt/php/lib/httpd/modules/libphp7.so into server: dlopen(/usr/local/opt/php/lib/httpd/modules/libphp7.so, 10): Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib\n Referenced from: /usr/local/opt/php/lib/httpd/modules/libphp7.so\n Reason: image not found
Попробовать обновить homebrew:
Обновить php или установить новую версию php:
И еще раз перезагрузить сервисы
в) Если будет сообщать, что сервис httpd не запущен:
httpd not running, trying to start
Далее попробуем так:
Если покажет что-то вроде:
И снова запустим так:
г) Любые другие ошибки, в консоли будут подсказки.
Ошибка при импорте базы данных
phpMyAdmin — Ошибка
Incorrect format parameter
Надо увеличить лимиты:
Которые устанавливаются в файл php.ini:
Версия php может быть любой другой, которая была установлена.
Снова перезагрузим все сервисы
После этого (не всегда), чтобы сразу заработало нужно выйти и заново зайти в phpMyAdmin.
Читайте также
Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:
Комментарии к статье “ Устанавливаем веб-сервер на Mac OS ” (4)
Добрый день, как связаться с автором статьи?
Что именно вас интересует?
У меня на моменте:
«Войдем внутрь MySQL»
И
«Должны зайти на сервер»
Никаких ошибок не выдает, кроме синтаксической и файла по адресу «/usr/local/etc/phpmyadmin.config.inc.php
» нет.
Проблема может быть в кавычке. Посмотрите совет в конце этой статьи.
Добавить комментарий Отменить ответ
Если возникнут вопросы пишите на электронную почту.