Quickstart Drupal Development Environment on MacOS
Установите Xcode: https://itunes.apple.com/us/app/xcode/id497799835
Когда закончится загрузка, откройте Xcode в папке /Applications и согласитесь с лицензией.
Затем откройте Терминал и установите Xcode командой:
xcode-select --install
Установите Homebrew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Проверьте версию установленного Apache:
httpd -v
Чтобы включить PHP, откройте конфиг Apache:
sudo vim /etc/apache2/httpd.conf
и раскомментируйте строки (уберите # в начале):
LoadModule authz_core_module libexec/apache2/mod_authz_core.so LoadModule authz_host_module libexec/apache2/mod_authz_host.so LoadModule userdir_module libexec/apache2/mod_userdir.so LoadModule include_module libexec/apache2/mod_include.so LoadModule rewrite_module libexec/apache2/mod_rewrite.so LoadModule php5_module libexec/apache2/libphp5.so Include /private/etc/apache2/extra/httpd-userdir.conf
Также измените следующие строки:
#User _www #Group _www User USERNAME Group staff
Отредактируйте второй конфиг Apache:
sudo vim /etc/apache2/extra/httpd-userdir.conf
и раскомментируйте строку:
Include /private/etc/apache2/users/*.conf
Создайте файл /etc/apache2/users/USERNAME.conf и добавьте в него строки:
<Directory "/Users/USERNAME/Sites/">
AddDefaultCharset UTF-8
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>
IncludeOptional /Users/USERNAME/Sites/*.conf
Создайте тестовый файл для проверки PHP:
sudo sh -c 'echo "<?php phpinfo(); ?>" >> /Library/WebServer/Documents/info.php'
Перезапустите Apache:
sudo apachectl restart
Протестировать конфиг:
apachectl configtest
Проверьте Apache в браузере: http://localhost или из командной строки: open -a Safari http://localhost
Проверьте PHP: http://localhost/info.php
По умолчанию корневая папка сайтов здесь: /Library/WebServer/Documents/
Чтобы держать сайты в домашней папке пользователя, нужно создать в ней папку Sites:
mkdir ~/Sites
Теперь настройте Apache для работы с этой папкой.
Создайте файл пользовательского конфига Apache:
sudo vim /etc/apache2/users/$(whoami).conf
и вставьте в него строку (замените USERNAME на имя вашего логина, узнать его можно командой: echo $(whoami)):
Include /Users/USERNAME/Sites/*.conf
Теперь Apache будет подхватывать настройки сайтов из папки ~/Sites.
Создайте файл с общими настройками сайтов ~/Sites/vhost.conf и укажите в нем кодировку по умолчанию:
echo "AddDefaultCharset UTF-8" > ~/Sites/vhost.conf
Чтобы добавить локальный сайт, нужно создать файл конфига и папку сайта. Для примера создадим сайт test.dev
vim ~/Sites/test.dev.conf
и вставьте в него строки:
<VirtualHost *:80>
ServerName test.dev
ServerAdmin webmaster@test.dev
DocumentRoot "/Users/USERNAME/Sites/test.dev/html"
ErrorLog "/Users/USERNAME/Sites/test.dev/log/error_log"
CustomLog "/Users/USERNAME/Sites/test.dev/log/access_log" common
</VirtualHost>
Создайте папки:
mkdir ~/Sites/test.dev/html
mkdir ~/Sites/test.dev/log
Добавьте файл index.html:
echo "<html><body><h1>Сайт test.dev работает!</h1></body></html>" > ~/Sites/index.html
Добавьте домен в /etc/hosts:
sudo sh -c 'echo "127.0.0.1 test.dev" >> /etc/hosts'
Перезапустите Apache:
sudo apachectl restart
Проверьте сайт в браузере: http://test.dev
Установите MySQL:
brew install mysql
После установки включите автозапуск MySQL:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Запустите MySQL:
mysql.server start
Выполните настройку безопасности: установите пароль для root, удалите анонимного пользователя, запретите удаленное подключение и удалите тестовые таблицы:
mysql_secure_installation
Проверьте соединение с MySQL:
mysql -uroot -p
Если откроется консоль следующего вида, то MySQL работает нормально:
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Выйдите из консоли:
\q
brew install autoconf
Установите переменную окружения $PHP_AUTOCONF:
echo 'PHP_AUTOCONF="'$(which autoconf)'"' >> ~/.bash_profile
Подключите репозитории и установите phpMyAdmin:
brew tap homebrew/dupes
brew tap homebrew/homebrew-php
brew install phpmyadmin
Установите dnsmasq:
brew install dnsmasq
Скопируйте стандартный конфиг:
cp $(brew list dnsmasq | grep /dnsmasq.conf.example$) /usr/local/etc/dnsmasq.conf
Добавьте локальную зону .dev (или .loc, или любая другая трехбуквенная) в конфиг:
sudo sh -c 'echo "address=/dev/127.0.0.1" >> /usr/local/etc/dnsmasq.conf'
Добавьте IP локального DNS 127.0.0.1 и двух публичных DNS Google 8.8.8.8 и 8.8.4.4 в используемые сетевые интерфейсы:
networksetup -setdnsservers Wi-Fi 127.0.0.1 8.8.8.8 8.8.4.4
networksetup -setdnsservers Ethernet 127.0.0.1 8.8.8.8 8.8.4.4
Также это можно сделать через Apple > System Preferences > Network > Advanced > DNS.
Добавьте dnsmasq в автозагрузку и запустите его:
sudo cp $(brew list dnsmasq | grep /homebrew.mxcl.dnsmasq.plist$) /Library/LaunchDaemons/
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
sudo launchctl start homebrew.mxcl.dnsmasq
Протестируйте:
ping qwerty.dev