Setting up a local web server on macOS 10.14 “Mojave”
Here is my definitive guide to getting a local web server running on macOS 10.14 “Mojave”. This is meant to be a development platform so that you can build and test your sites locally, then deploy to an internet server. This User Tip only contains instructions for configuring the Apache server, PHP module, and Perl module. I have another User Tip for installing and configuring MySQL and email servers.
Note: This user tip is specific to macOS 10.14 “Mojave”. Pay attention to your OS version. There have been significant changes since earlier versions of macOS. Another note: These instructions apply to the client versions of OS X, not Server. Server does a few specific tricks really well and is a good choice for those. For things like database, web, and mail services, I have found it easier to just setup the client OS version manually.
- Basic understanding of Terminal.app and how to run command-line programs.
- Basic understanding of web servers.
- Basic usage of vi. You can substitute nano if you want.
Optional: Xcode is required for adding PHP modules.
Lines in bold are what you will have to type in. Lines in bold courier should be typed at the Terminal.Replace with your short user name.
Here goes. Enjoy!
To get started, edit the Apache configuration file as root:
sudo vi /etc/apache2/httpd.conf
Enable PHP by uncommenting line 177, changing:
#LoadModule php7_module libexec/apache2/libphp7.so
LoadModule php7_module libexec/apache2/libphp7.so
(If you aren’t familiar with vi, go to line 177 by typing «177G» (without the quotes). Then just press ‘x’ over the ‘#’ character to delete it. Then type ‘:w!’ to save, or just ‘ZZ’ to save and quit. Don’t do that yet though. More changes are still needed.)
If you want to run Perl scripts, you will have to do something similar:
Enable Perl by uncommenting line 178, changing:
#LoadModule perl_module libexec/apache2/mod_perl.so
LoadModule perl_module libexec/apache2/mod_perl.so
Enable personal websites by uncommenting the following at line 174:
#LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
and do the same at line 511:
Now save and quit.
Open the file you just enabled above with:
sudo vi /etc/apache2/extra/httpd-userdir.conf
and uncomment the following at line 16:
Lion and later versions no longer create personal web sites by default. If you already had a Sites folder in Snow Leopard, it should still be there. To create one manually, enter the following:
Источник
Личный опыт Web разработки в Mac OS X
Web сервер
Apache предустановлен в Mac OS и для локальной разработки его более чем хватает.
Маленькая хитрость – если не нужен виртуальный хост, то очень помогает вот такой трюк:
Осталось кинуть проект в
/Sites/%имя_проекта% и открыть в браузере localhost/
%user_name%/%имя_проекта%
На крайний случай, если нужна полная копия production окружения всегда можно установить Vagrant.
PHP предустановлен в Mac OS. Если его версия устраивает, то просто включаем загрузку модуля php5_module:
Если не устраивает, то можно установить PHP по мануалу отсюда php-osx.liip.ch. Эта версия не заменит системную, сама найдет Apache и вообще установится в /usr/local/php5. Установка предельно проста – одна строка в консоли (пример для PHP 5.5):
MySQL
Установить MySQL можно несколькими способами, например, через Homebrew. Но компилировать из исходников MySQL только потому что это позволяет пакетный менеджер? Мне кажется что проще взять DMG архив с официального сайта и установить. После установки в Системных настройках появится вкладка MySQL:
FTP/SFTP
Кроме работы над основным проектом приходится отвлекаться и исправлять/доделывать что-то у клиентов. Обычно это чужой хостинг с доступом по FTP. Значит нужен FTP клиент. Выбор пал на Cyberduck:
Почему Cyberduck? Потому что хранит пароли в Keychain, переведен на русский, бесплатен и поддерживает FTP, SFTP, WebDAV, Amazon S3, Google Cloud Storage и Rackspace Cloud Files.
MySQL клиент
Долго выбирал рать между MySQL Workbench и Sequel Pro. В силу легкости победил Sequel Pro.
Почему локальное приложение а не phpmyadmin или mysql в консоли хостинга? Потому что все курируемые базы в одном месте и не надо при задаче «посмотри что там в базе у клиента » открывать консоль, SSH и вспоминать пароли. Да, это удаленное подключение и MySQL на хостинге смотрит наружу. Но доступ по IP или SSH туннель спасают отца русской демократии.
Возможностей у программы достаточно много, лучше почитать на официальном сайте.
Sublime Text
Без него никуда. Маленькая хитрость в настройках:
По-умолчанию выставлено в TRUE и из-за этого Cyberduck открывает новые файлы в новом окне, а не в новой вкладке существующего окна.
Кроме этого, бывает что нужно быстро запустить небольшой кусок PHP кода, а делать это в IDE не удобно. Можно выполнить PHP код из Sublime Text, добавив новую Build System (Tools –> Build System -> New):
Теперь жмем CMD + B и результат работы кода появится в консоли Sublime Text.
Это удобный сборник документации, вот его особенности:
- Автообновление документации с официальных сайтов
- Оффлайн доступ
- Шпаргалки (Cheat Sheets)
- Создание своих сниппетов
- Интеграция в PhpStorm и Sublime Text
Конечно, можно еще начать петь дифирамбы тач-жестам и полноэкранному режиму приложений, но это выходит за рамки статьи.
Источник
Обзор веб-серверов для 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?». Всё это вкусовщина.
В разное время я работал на всех этих системах и просто оставил те, что мне больше всего нравятся. У всех есть плюсы и минусы.
Попробуйте каждый и оставьте тот, что более всего нравится.
Автор блога, веб-разработчик
Источник