Web server на Mac OS Yosemite из консоли
Недавно перешел на Mac OS Yosemite, в его базовой комплектации уже имеется web server Apache и PHP. Я, конечно, в курсе, что имеются такие замечательные продукты как MAMP и AMPPS, но зачастую их возможностей не хватает, и требуется более гибкая настройка веб сервера.
Приступим
Открываем терминал и переходим в режим root пользователя
sudo su -
Далее запускаем Apache
apachectl start
Проверить работоспособность можно по ссылке http://localhost/
Теперь подключаем PHP в ApacheВо-первых, сделаем резервную копию конфигов Apache, это хорошая практика и в дальнейшем можно будет использовать ее.
cd /etc/apache2/
cp httpd.conf httpd.conf.bak
Далее нам необходимо отредактировать конфиг Apache.
vim httpd.conf
Раскомментируем следующую строчку в конфиге:
LoadModule php5_module libexec/apache2/libphp5.so
Перезагружаем Apache:
apachectl restart
В Mac OS Yosemite по умолчанию DocumentRoot /Library/WebServer/Documents, чтобы проверить так ли это, в терминале выполните команду:
grep DocumentRoot httpd.conf
Теперь, чтобы проверить подключился ли у нас PHP и его параметры, создаем в DocumentRoot файлик phpinfo.php
echo ' /Library/WebServer/Documents/phpinfo.php
Посмотреть результат можно тут http://localhost/phpinfo.php
Установка MySQL на Mac OS X
- Скачайте MySQL DMG для Mac OS X http://dev.mysql.com/downloads/mysql/
- Установите его
Подключение MySQL
Для того, чтобы убедиться, что в PHP можно работать с MySQL, выполняем следующее:
cd /var
mkdir mysql
cd mysql
ln -s /tmp/mysql.sock mysql.sock
Дополнительная настройка (не обязательно)
Стандартная настройка Apache в Mac OS Yosemite довольно простая, например, общие модули, такие как mod_rewrite отключены.Можно включить их прямо сейчас, чтобы в дальнейшем не ковыряться с конфигами:
vim /etc/apache2/httpd.conf
Далее раскомментируйте следующие строчки:
LoadModule deflate_module libexec/apache2/mod_deflate.so
LoadModule expires_module libexec/apache2/mod_expires.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
Также по умолчанию MySQL настроен в strict режиме, чтобы это отключить в /usr/local/mysql/my.cnf меняем строчку
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
На
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"