вторник, 5 декабря 2017 г.

Web server на OSX

В базовой комплектации OSX уже имеется 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.
vi 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

  1. Скачайте MySQL DMG для Mac OS X http://dev.mysql.com/downloads/mysql/
  2. Установите его

Подключение MySQL

Для того, чтобы убедиться, что в PHP можно работать с MySQL, выполняем следующее:
cd /var
mkdir mysql
cd mysql
ln -s /tmp/mysql.sock mysql.sock

Дополнительная настройка (не обязательно)

Стандартная настройка Apache в Mac OS Yosemite довольно простая, например, общие модули, такие как mod_rewrite отключены.
Можно включить их прямо сейчас, чтобы в дальнейшем не ковыряться с конфигами:
vi /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"

Комментариев нет:

Отправить комментарий