- Локальный веб-сервер на Mac в несколько кликов
- Установка
- Создание первого локального сайта
- ГОТОВО!
- Личный опыт Web разработки в Mac OS X
- Web сервер
- MySQL
- FTP/SFTP
- MySQL клиент
- Sublime Text
- Устанавливаем веб-сервер на Mac OS
- Ставим менеджер пакетов для Mac OS
- Ставим apache на Mac OS
- Устанавливаем apache
- 1. Меняем директорию для сайтов
- 2. Меняем порт
- 3. Меняем директиву AllowOverride
- 4. Раскомментируем строку mod_rewrite
- 5. Поменяем стандартного пользователя
- 6. Изменим ServerName
- Ставим последнюю версию PHP на Mac OS
- Устанавливаем PostgreSQL на Mac OS
- Устанавливаем MySQL на Mac OS
- Запуск
- Логи ошибок в веб-сервере на Mac OS
- Ошибки при перезагрузке apache
- H00544: httpd: bad group name stuff
- Cannot load /usr/local/opt/php/lib/httpd/modules/ into server
- httpd not running, trying to start
- (48)Address already in use: AH00072
- Ошибка при импорте базы данных
- Другие ошибки
- Локальное подключение к БД
- Читайте также
- Комментарии к статье “ Устанавливаем веб-сервер на Mac OS ” (8)
Локальный веб-сервер на Mac в несколько кликов
Пару лет назад я перешла с винды на мак. И не могу нарадоваться. Но писишнику с 20-летним стажем иногда сложно найти альтернативу некоторым программам для мака.
К примеру, на windows я спокойно разворачивала локальный веб-сервер с помощью мега-простой проги Denver. И вообще никаких проблем не было 🙂
А вот на mac мне сложно было найти более-менее удобоваримое решение, похожего на денвер. Безусловно есть программы для мака. Согласитесь, было бы странно, если бы не было: XAMPP, Vagrant и т.д.
Но мне хотелось что-то простенькое. Развернул за минуту и работаешь себе 🙂
И нашла ))) Я ж технофея.
Называется штука Local Lightning от хостинга Flywheel. Бета-версия 5.0.6 можно взять здесь. Эта версия полностью рабочая, у меня установлена именно она.
Давайте по шагам, как устанавливаем локальный сервер на мак, и что делаем после скачивания программы.
Установка
Я думаю, тут не нужно говорить, как это делать. Самая обычная установка, как и любое другое приложение на маке. Перетащил иконку в папку в окошке — все 🙂
Создание первого локального сайта
- Открываете приложение
- В открывшемся окошке называете свой сайт
В открывшемся окошке называете свой сайт
- Нажимаете на зеленую кнопку Continue
- Называете админа сайта (имя пользователя, пароль, а емэйл автоматом устанавливается о flywheel — для разработчиков)
Называете админа сайта
- Вы можете выбрать в Advanced Options будет ли сайт мультисайтом
- После этого дайте время (примерно 20 секунд) для установки сайта на локальный сервер.
ГОТОВО!
Вы можете открыть сайт, зайти в админку сайта и т.д.
панель управления локальным сайтом
Вы даже можете сделать его лайв сайтом на поддомене разработчиков.
кнопки в панели управления локальным сайтом
Можете сразу установить SSL, и при переносе на реальный хостинг у вас все файлы сразу будут со ссылками https.
Вы даже можете подключить сервис емэйла для тестирования отправки емэйлов. Например, при настройке магазина или LMS. Находится в Utilities
Если же у вас есть хостинг на Flywheel, то вы в пару кликов можете локальный сайт перенести на реальный хостинг, еще меньше мороки 🙂
Источник
Личный опыт 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
Конечно, можно еще начать петь дифирамбы тач-жестам и полноэкранному режиму приложений, но это выходит за рамки статьи.
Источник
Устанавливаем веб-сервер на 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
2. В конфиг MySQL
Теперь всё должно работать! Осталось всё запустить.
По умолчанию адрес доступа в phpmyadmin
Запуск
или также для mysql подойдет
Команды для перезапуска:
Посмотреть все сервисы:
Логи ошибок в веб-сервере на Mac OS
Если что-то пошло не так, можно посмотреть логи ошибок. Например, почему не открывается та или иная страница:
Ошибки при перезагрузке apache
Если ничего не работает, обязательно надо попробовать перезагрузить apache именно так:
Дальше будут показаны ошибки. По этим сообщениям станет ясно в чем причина.
H00544: httpd: bad group name stuff
Значит в конфигурации httpd.conf указан неверный пользователь. Как поправить смотрите в этой статье выше.
Cannot load /usr/local/opt/php/lib/httpd/modules/ into server
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
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): image not found
Причина в том, что была обновлена php версия, а модуль не был изменен. Можно исправить двумя вариантами:
а) Попробовать обновить homebrew:
Обновить php или установить новую версию php:
И еще раз перезагрузить сервисы
б) Заменить вручную.
Проверим версию php:
Дальше меняем правим строки в файле /usr/local/etc/httpd/httpd.conf:
httpd not running, trying to start
Если покажет что-то вроде:
И снова запустим:
(48)Address already in use: AH00072
Ошибка появилась в Mac OS Big Sur
httpd not running, trying to start
(48)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Меняем значение в Listen на такое:
Ошибка при импорте базы данных
phpMyAdmin — Ошибка
Incorrect format parameter
Надо увеличить лимиты:
Которые устанавливаются в файл php.ini:
Версия php может быть любой другой, которая была установлена.
Снова перезагрузим все сервисы
После этого (не всегда), чтобы сразу заработало нужно выйти и заново зайти в phpMyAdmin.
Другие ошибки
И воспользоваться подсказками. Например:
Локальное подключение к БД
Подключиться можно разными сторонними программами. На примере программы DataGrip:
В поле password пароль будет password.
Читайте также
Кстати, на сайте нет рекламы. У сайта нет цели самоокупаться, но если вам пригодилась информация можете задонатить мне на чашечку кофе в макдаке. Лайкнуть страницу или просто поблагодарить. Карма вам зачтется.
Комментарии к статье “ Устанавливаем веб-сервер на Mac OS ” (8)
Добрый день, как связаться с автором статьи?
Что именно вас интересует?
У меня на моменте:
«Войдем внутрь MySQL»
И
«Должны зайти на сервер»
Никаких ошибок не выдает, кроме синтаксической и файла по адресу «/usr/local/etc/phpmyadmin.config.inc.php
» нет.
Проблема может быть в кавычке. Посмотрите совет в конце этой статьи.
Та же проблема, мак ос биг сур.
как правильно прописать? Я пробую заменить все ковычки на скошенную все равно синтаксическая ошибка
В каком месте ошибка? Скиньте что конкретно вы вводите и куда.
А Nginx, как же он?
Зачем на локальном сервере nginx? В любом случае не подскажу, не ставил из-за ненадобности.
Источник