Личный опыт Web разработки в Mac OS X. Как установить WordPress локально на Mac с помощью MAMP Подготовка к установке WordPress на Mac
Как мы уже убедились на опыте, очень много полезных функций и программ скрыты глубоко в недрах Mac OS X. Ссылаясь на предыдущую статью из нашего цикла « » можно смело заявить, что наличие штатных ресурсов системы полностью позволяет запустить и настроить веб-сервер с такой же простотой, как мы делали это с FTP. Ввиду непонятных причин, возможность организации веб-сервера была также удалена из Системных настроек, но не беда.
Главный вопрос в том, зачем может понадобиться эмуляция сервера? Если существует нужда в запуске и тестировании интернет платформ и различных веб-сервисов на своей машине (к примеру, локальная версия WordPress), то веб-сервер - то, что нужно. Если вы изучаете PHP, то это отличный способ попрактиковаться и попробовать свои силы в разработке сайтов. Другими словами, мы организовываем хостинг, только локально.
Итак, помните про launchctl, которую мы использовали в предыдущей статье? Эта же утилита поможет нам активировать Apache Web server.
Для запуска Apache Web server открываем Terminal и вписываем команду:
sudo -s launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Все просто. Для проверки сервера открываем Safari и вводим в адресную строку:
http://localhost/
После чего мы будем оповещены следующим сообщением:
Для выгрузки веб-сервера используем аналогичную команду в Терминале:
sudo -s launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Attention. Перед тем, как вы перейдете к основной части статьи, следует предупредить, что ручное подключение PHP, MySQL и Virtual Hosts займет некоторое время. У нас уже есть отличная статья по настройке всего этого с помощью одного клиента , но если вы не из робкого десятка - вперед.
По умолчанию PHP на нашем сервере отключен, поэтому нам нужно его активировать. Делается это путем редактирования конфигурационного файла. Открываем Терминал и вводим следующее:
sudo nano /etc/apache2/httpd.conf
Откроется редактор файлов (nano), где нам нужно найти строчку, начинающуюся на «#LoadModule php5_module…» и удалить решетку:
После удаления, нажимаем Ctrl-O (сохранение изменений), Enter и Ctrl-X (выход из редактора). После чего нам нужно перезагрузить наш сервер командой:
sudo apachectl restart
Теперь мы можем работать с PHP скриптами. Кстати, файлы сайта хранятся по адресу: /Library/WevServer/Documents
Это важно.
Теперь о настройке MySQL. Чтобы не было совсем грустно, напомним, что MySQL - это ПО для создания и управления базами данных (информация о пользователях, посещениях, контенте сайта и т.д.), которые будут полноценно использоваться при создании вашего сайта. Таким образом, связка PHP — MySQL идеальна для создания Web — сайтов.
Сам процесс установки MySQL не так сложен. Существует отличный скрипт отсюда для автоматической инсталляции. Просто вводим его в Терминале (необходимо интернет-соединение):
bash <(curl -Ls http://git.io/eUx7rg)
После чего начнется установка:
MySQL интегрируется в панель Системных Настроек, где мы можем лицезреть статус ее работы, а также устанавливать разрешение на автозапуск при старте системы.
Для работы с базой, вводим типичную команду:
Все что нам остается - установить пароль. Прописываем в Терминале:
/usr/local/mysql/bin/mysqladmin -u root password ‘Ваш Пароль’
И теперь, перед тем, как начать работу с клиентом, нужно выполнить следующую команду:
mysql -u root -p
После чего ввести созданный пароль. Если вдруг на запрос выбивает «command not found», нужно перезапустить Терминал и попробовать еще раз.
Таким образом, мы имеем стандартный набор средств для управления, администрирования и проверки Web-сайтов локально, прямо на нашем Mac-сервере.
Но это не значит, что на другой версии Mac OS X или XAMPP что то не будет работать.
Внимание! Инструкция делиться на 2 части. Обычно первая часть () выполняются один раз, а вторая () необходима как пример для каждого нового виртуального хоста.
Первичная настройка виртуального сервера
После установки XAMPP имеет только один адрес .
Для создания своих хостов необходимо изменить файл конфигураций /Applications/XAMPP/xamppfiles/etc/httpd.conf . Открываем его и переходим к строке 173, в этой строке измените параметр User daemon на User username , где username - имя пользователя в Вашей системе Mac OS X. Пример:
# Virtual hosts Include etc/extra/httpd-vhosts.conf
Теперь нам необходимо сохраним работу без изменений. Для этого откройте файл /Applications/XAMPP/etc/extra/httpd-vhosts.conf и добавьте в конец этого файла следующий блок:
#localhost
Сохраняем файл и закрываем его.
С первичной настройкой закончили.
Добавление виртуальных хостов
Для примера создадим тестовый виртуальный хост для сайта . Сначала создадим папку для файлов проекта, например: /Users/username/www/test.local и добавим в эту папку файл index.php с кодом:
#test
Внимание! Не забудьте изменить username на имя вашего пользователя в системе Mac OS X
Теперь нам необходимо добавить в файл /etc/hosts новый сайт. Для этого открываем терминал и выполняем команду:
Sudo nano /etc/hosts
Система запросит пароль администратора, после ввода пароля будет открыт файл /etc/hosts для редактирования, в конец файла добавляем следующую строку:
127.0.0.1 test.local
Перезапускаем Apache:
Все готово, открываем браузер и вводим в адресную строку , если все сделано верно, то в ответ Вы увидите примерно следующее:
На самом деле статей про то, как поднять локальный сервер (а тут речь зайдет конкретно об OS X) достаточно много. Но как и с меня постигло разочарование, когда я хотела просто воспользоваться инструкцией и не заморачиваться. Все же я не программист.
Меня не интересовали всякие дополнительные супер крутые все содержащие в себе программы типа MAMP. Они сожрут мне место на диске и наделают кучу непонятных папок. Я точно знала, что линуксоподобная OS X итак почти все в себе имеет, надо просто знать как этим воспользоваться. Но я и не думала, что мне так повезет! И я смогу поднять локальный сервер в любой папке (то есть моя структура проектов на диске не будет нарушена вообще).
Тут я опишу небольшую последовательность действий, которая позволила мне установить Wordpress в одной из выбранной мною (а не разработчиками супер программ, упомянутых выше) папке. Конечно локальный сервер нужен не только для WordPress, но я буду описывать конкретно мой случай.
Исходные данные
Для начала стоит отметить, что инструкция касается > OS X 10.10 (Yosemite) . На версиях ниже тоже скорее всего будет работать, но не гарантирую, что все в точности так же (это зависит от предустановок системы).
Теперь определимся что нужно установить, чтобы заработал локальный сервер. Это зависит от ваших целей:
- Если вам нужен сервер для html верстки (ну к примеру, для ajax, или чтобы потестить сколько запросов будет отправляться на сервер вашей версткой), то вообще ничего не нужно устанавливать. Смотрите раздел “Простой веб-сервер от Python”.
- Если вам нужно установить WordPress , то тут необходимо посмотреть требования этой CMS . На тот момент, что я устанавливала Вордпресс, это: PHP 5.4 и выше, MySQL 5.5 и выше, Apache модуль.
Инструкция
1. Устанавливаем все необходимое для сервера
Вводим в консоли:
type - a python |
Должно показать что-то типа того:
python is /usr/local/bin/python python is /usr/bin/python
Откроется файлик, нужно найти строчку LoadModule php5_module libexec/apache2/libphp5.so (горячая клавиша для поиска текста в vi – ?) и раскомментировать ее (удалить # перед строкой).
MySQL вряд ли установлен. И тут в дело вступает лень. Чтобы ничего самим не скачивать, не устанавливать и не настраивать, просто выполняем скрипт, введя в консоли:
bash <(curl -Ls http://git.io/eUx7rg)
bash < (curl - Ls http : //git.io/eUx7rg) |
Этот скрипт я нашла . Проверила, ничего ужасного с моим маком не сделал этот чей-то самописный скрипт, все как и обещано. А именно, он делает следующее:
- Проверяет, установлен ли MySQL в системе
- Скачивает последнюю версию MySQL
- Устанавливает пароль для root, показывает пароль
- Записывает пароль в файл на рабочем столе (мне это потом пригодилось, так как при установки я пароль конечно не записала)
- Что-то настраивает, спрашивает не хотите ли вы еще что-то настроить (я просто ответила нет, мне это не интересно и не нужно)
- Предлагает установить программу Sequel Pro (менеджер баз данных, полезная штука). Я ответила да и не пожалела.
Все, теперь перезагружаемся. И устанавливаем WordPress куда глаза глядят.
2. Поднимаем сервер и устанавливаем WordPress
Простой веб-сервер от Python
Помните, что этот вариант подходит только для теста верстки и других простых задач, где кроме HTTP запросов ничего не нужно. Если вам тоже нужно установить WordPress на локалку, листайте на раздел ниже.
1. Открываем консоль, переходим в нужную папку:
2. Набираем в консоли команду: python -m SimpleHTTPServer
В консоли появится надпись Serving HTTP on 0.0.0.0 port 8000 …
Теперь вводим в адресную строку браузера http://localhost:8000/какой-то_ваш_файл.html
Полноценный сервер на локалке + WordPress
1. Переходим в папку с предполагаемым WordPress для проекта:
2. Запускаем сервер с поддержкой PHP командой php -S 127.0.0.1:8000
3. Открываем программы Sequel Pro, вводим адрес, пользователя и пароль, соединяемся с нашим локальным сервером:
4. Создаем новую базу данных для WordPress в Sequel Pro.
5. Переходим по адресу http://localhost:8000/wp-admin/install.php , чтобы начать установку.
Ссылки по теме
How to use SimpleHTTPServer – немного о питон сервере
Install MySQL on OS X 10.9 Mavericks – подошло и для Yosemite
Бренд Apple давно стал причиной раздора в Рунете. Одни покупают и хвалят его продукцию, а другие завидуют и плюют на копирайты. Не будем начинать очередной холивар и поговорим о том, как создать локальный сервер на Mac OS X . Здесь балом правит MAMP (расшифровывается как M ac, A pache, M ySQL, P HP) . Есть и платная PRO версия этой сборки. О различии между ними вы можете узнать, перейдя по этой ссылке (сабжа больше нет, потому скопировал в Google Docs) на страницу «MAMP vs. MAMP PRO» официального сайта проекта mamp.info . От себя же добавлю, что в качестве локального сервера бесплатного MAMP более чем достаточно.
Скачать бесплатно MAMP
Для начала давайте убедимся в том, что ваш компьютер соответствует требованиям MAMP. В частности, речь идёт о наличии операционной системы Apple Mac OS X версии 10.4.0 или более поздней версии. Честно говоря, я так и не понял, имеют ли место проблемы совместимости версий MAMP и Mac OS X или нет.
На всякий случай, на репозиторий всех предыдущих версий MAMP на SourceForeg.net . Последнюю версию MAMP вы можете найти на странице «Download» оф.сайта. Примечательно, что в состав языковых вариантов интерфейса именно бесплатного MAMP входит и русский (англ. russian ) язык.
На момент написания статьи была доступна сборка MAMP & MAMP PRO 2.2, архив которой весит 172 Мб . Впрочем, пользователям Mac OS X не придётся заморачиваться с архивами, т. к. система автоматически всё разархивирует и поместит в папку «Загрузки » только сам файл MAMP_x.x.pkg .
Увы, но как я понял, нет возможности скачать только бесплатный MAMP, а значит, вам придётся качать полный образ диска с PRO в комплекте.
Установка MAMP
Откройте папку «Загрузки » и запустите файл MAMP_x.x.pkg . Примечательно, что для установки MAMP вам потребуются права администратора . Если вы работаете с другой учётной записью, от вас может потребоваться ввести данные учетной записи администратора.
Как таковой инсталлятор здесь вполне стандартный, он состоит из семи основных шагов:
Запуск и настройка MAMP
После установки, автоматически откроется окно браузера со страницей приветствия. Это значит, что MAMP был установлен правильно. Запустить MAMP можно из папки: /application/mamp — или с Launchpad, куда добавится соответствующая иконка. После запуска, вы увидите окно MAMP, но не спешите нажимать кнопку «Стартовать сервер» (англ. Start Servers ) .
В начале я рекомендую настроить MAMP . Для этого нажмите кнопку «Настройки... » (англ. Preferences... ) . Перейдите на вкладку «Порты » (англ. Ports ) и измените порт Apache с 8888 на 80 , а порт MySQL с 8889 на 3306 . Это избавит вас от необходимости каждый раз добавлять к адресу сайта в браузере порт 8888 и упростит настройку доступа к базам данных MySQL. Как таковой, это можно сделать, просто нажав кнопку «Порты Apache и MySQL по умолчанию » (англ. Set to default Apache and MySQL posts ) . Нажмите кнопку «OK ».
Теперь всё готово для запуска локального сервера, нажмите кнопку «Стартовать сервер » (англ. Start Servers ) . Если во время запуска MAMP не возникло каких-то проблем, красные лампочки в секции «Состояние » (англ. Status ) сменятся на зелёные.
При этом, автоматически откроется или вы сами сможете открыть стартовую страницу MAMP, нажав кнопку «На главную страницу » (англ. Open start page ) . На открывшейся странице, доступной по адресу: http://localhost/MAMP/ — вы найдёте всю необходимую информацию о конфигурации сервера, а также получите доступ к инструментам администрирования, тому же phpMyAdmin для работы с базами данных MySQL.
Что вам нужно знать о MAMP
Для работы с базой данных MySQL , MAMP укомплектован phpMyAdmin , к которому вы можете перейти по одноименному пункту меню с главной страницы: http://localhost/MAMP . Если вы не настроили MAMP, то используйте адрес с явным указанием порта, например: http://localhost:8888/MAMP . О самом phpMyAdmin я думаю рассказать в отдельной статье, подпишитесь на RSS-ленту блога! Пока же скажу лишь, что по умолчанию, для подключения к базам данных, используются следующие параметры:
- Хост: localhost
- Имя пользователя: root
- Пароль: root
Для тестирования сайтов на MAMP используйте папку: /Applications/MAMP/htdocs — которая будет доступна по адресу: http://localhost — или с явным указанием порта, например: http://localhost:8888 . Если вы планируете тестировать несколько сайтов, рекомендую создавать под них отдельные подпапки. Например, для тестирования движка WordPress я создал папку: /wordpress , — которая будет доступна по адресу: http://localhost/wordpres . Как я понимаю, возможность автоматического создания поддоменов на основе подпапок, по крайней мере, в бесплатной версии MAMP, не предусмотрена. Согласитесь, было бы удобней, тестировать сайт на поддомене вида: http://wordpress.localhost .
Удалить MAMP
В оф.документации MAMP сказано, что для его удаления достаточно удалить папку: /mamp — из « Программы ». В тоже время, как я понимаю, в Mac OS X для этого достаточно просто перенести ярлык программы в корзину, деинсталляция будет осуществлена автоматически.
Подведём итоги
MAMP очень хорошая сборка локального сервера для Mac OS X. Используя платную PRO версию, вы получаете доступ ко множеству полезных фишек, но и бесплатной версии вполне достаточно для тестирования программ и готовых CMS. Фактически, установка локального сервера это ваш первый шаг на пути изучения языков веб-программирования, таким как PHP, и работы с базами данных, такой как MySQL. На этом у меня всё. Спасибо за внимание. Удачи!
Привет Хабр!
Как веб-разработчик, выбравший Mac OS X в качестве основного рабочего инструмента, я столкнулся с проблемой настройки необходимого окружения. По многолетней привычке работы с серверами на Linux, руки сами потянулись в консоль дабы все поставить, но остановились - постойте, постойте, но зачем мне превращать эту операционку в очередной Linux сервер? Мне этого шаманства с консолью на серверах хватает, спасибо. Будем использовать встроенные компоненты, насколько это возможно.
Web сервер
Apache предустановлен в Mac OS и для локальной разработки его более чем хватает.Маленькая хитрость – если не нужен виртуальный хост, то очень помогает вот такой трюк:
/etc/apache2/extra/httpd-userdir.conf
Осталось кинуть проект в ~/Sites/%имя_проекта% и открыть в браузере localhost/~%user_name%/%имя_проекта%
На крайний случай, если нужна полная копия production окружения всегда можно установить Vagrant .
PHP
PHP предустановлен в Mac OS. Если его версия устраивает, то просто включаем загрузку модуля php5_module : /etc/apache2/httpd.confLoadModule php5_module libexec/apache2/libphp5.so
Если не устраивает, то можно установить PHP по мануалу отсюда php-osx.liip.ch . Эта версия не заменит системную, сама найдет Apache и вообще установится в /usr/local/php5 . Установка предельно проста – одна строка в консоли (пример для PHP 5.5):
curl -s http://php-osx.liip.ch/install.sh | bash -s 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
Без него никуда. Маленькая хитрость в настройках:{ "open_files_in_new_window": false, }
По-умолчанию выставлено в TRUE и из-за этого Cyberduck открывает новые файлы в новом окне, а не в новой вкладке существующего окна.
Кроме этого, бывает что нужно быстро запустить небольшой кусок PHP кода, а делать это в IDE не удобно. Можно выполнить PHP код из Sublime Text, добавив новую Build System (Tools
–> Build System
-> New
):
{
"cmd": ["php" , "$file"]
}
Теперь жмем CMD
+ B
и результат работы кода появится в консоли Sublime Text.
Dash
Это удобный сборник документации, вот его особенности:
- Автообновление документации с официальных сайтов
- Оффлайн доступ
- Шпаргалки (Cheat Sheets)
- Создание своих сниппетов
- Интеграция в PhpStorm и Sublime Text
Конечно, можно еще начать петь дифирамбы тач-жестам и полноэкранному режиму приложений, но это выходит за рамки статьи.