Quickstart Drupal Development Environment on MacOS

Матеріал з Wiki.Zina
Версія від 13:40, 23 червня 2016, створена >WikiSysop (→Добавление локальных сайтов)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Установка на Mac OS

[ред. | ред. код]

Подготовка

[ред. | ред. код]

Установите 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 и PHP

[ред. | ред. код]

Проверьте версию установленного 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

phpMyAdmin

[ред. | ред. код]
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

[ред. | ред. код]

Установите 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