Меню Рубрики

Apache config mac os

Установка Apache, PHP, MySQL в macOS

Рассмотрим, как установить веб-сервер Apache, PHP и MySQL в macOS.

Все действия в данной статье будут выполняться в macOS Sierra.

Установка Apache

Хорошая новость — веб-сервер Apache уже установлен в вашей системе. Его нужно только запустить. Для этого откройте терминал и выполните в терминале команду:

Данной командной мы выполняем утилиту apachectl с правами суперпользователя (так как перед командной мы вводим sudo) и передаем утилите опцию start. Обратите внимание, что после того, как вы нажмете Enter, необходимо будет ввести пароль, который вы используете для входа в систему. При вводе пароля на экране не будет никакой индикации или символов, которые вы вводите. Просто введите пароль и нажмите Enter.

Команда должна выполниться без ошибок. Теперь можно проверить, что Apache запущен и работает. Для этого откройте браузер и перейдите на страницу: http://localhost . Откроется страница с надписью «It works!».

Файлы localhost’а лежат в директории /Library/WebServer/Documents .

Установка PHP

И снова хорошая новость — PHP уже установлен. Нужно только включить его поддержку веб-сервером.

Для этого необходимо отредактировать файл конфигурации Apache: /etc/apache2/httpd.conf

Для редактирования мы воспользуемся консольным редактором nano . Он простой, но для новичка может оказаться непривычным.

Откроем файл конфигурации:

В файле необходимо раскомментировать строку, которая отвечает за загрузку модуля php5_module:
LoadModule php5_module libexec/apache2/libphp5.so

Найдите эту строку в файле и удалите перед строкой символ # .

Теперь закройте и сохраните файл. Для этого нажмите Ctrl + X , отобразится предупреждение ” Save modified buffer “, нажмите Y , а затем Enter .

Так как конфигурация сервера изменилась, необходимо перезапустить сервер, чтобы новые параметры вступили в силу. Для перезапуска Apache выполните в терминале команду:

Установка MySQL

Для установки MySQL необходимо скачать с сайта mysql.com пакет с инсталлятором.

Перейдите на страницу http://dev.mysql.com/downloads/mysql/ и скачайте DMG-файл вида mysql-5.7.16-osx10.11-x86_64.dmg. После того, как вы нажмете на ссылку Download, откроется страница с предложением войти или зарегистрироваться на сайте. Регистрироваться не нужно, внизу страницы есть ссылка “No thanks, just start my download.“, нажмите на нее.

Дважды щёлкните по только что загруженном DMG-файлу. Откроется новое окно, в котором дважды щелкните по файлу mysql-5.7.16-osx10.11-x86_64.pkg. Запустится инсталлятор MySQL. Читайте сообщения инсталлятора и нажимайте кнопку Продолжить .

В конце установки отобразится окошко, в котором будет написан временный пароль root’а для доступа к MySQL. Запишите его.

Дополнительные действия после установки MySQL

Теперь нужно выполнить еще одно важное действие. Дело в том, что в MySQL есть небольшая ошибка, которая уходит в корнями в 2012 год, но исправить ее очень просто. Выполните в терминале последовательно следующие команды:

Читайте также:  Программа для заполнения 3 ндфл для mac os

Теперь снова перезапустите Apache:

Меняем пароль root’а в MySQL

Выше, во время установки MySQL, мы получили временный пароль root пользователя. Однако, его необходимо поменять. Обращаю ваше внимание на то, что речь идеть про пароль пользователя root для MySQL сервера и этот пароль ни как не связан с паролем, который вы используете для входа в систему или при выполнении команд через sudo.

Чтобы задать новый пароль для root пользователя в MySQL необходимо выполнить в терминале ряд команд.

  1. Остановим MySQL сервер, если вдруг он запущен:
  2. Запустим сервер в режиме safe mode:
  3. Запустим консольную утилиту mysql (MySQL Command-Line Tool). Откройте новое окно терминала и выполните:
  4. Введите команду:
  5. Затем установим новый пароль (вместо NewPassword введите свой пароль):
  6. Выйдем из утилиты mysql. Введите команду:

  • Закройте оба терминала, теперь можно подключиться к MySQL, используя новый пароль:
  • Запуск MySQL сервера из терминала

    Запустить MySQL сервер можно из терминала или из Системных настроек.

    Для запуска MySQL сервера через терминал выполните команду:

    Чтобы остановить сервер выполните:

    Запуск MySQL сервера из Системных настроек

    В Системных настройках добавился новый пункт MySQL. Можно запускать MySQL сервер оттуда. Там же есть опция для автоматического запуска MySQL сервера при старте системы.

    Проверка работоспособности

    Как написано выше, файлы сайта localhost находятся в директории /Library/WebServer/Documents. Мы можем для проверки создать PHP файл, в котором выполним функцию phpinfo(). Для этого можно воспользоваться терминалом. Создадим файл /Library/WebServer/Documents/testfile.php и добавим в него вызов функции phpinfo():

    Теперь можно открыть файл в браузере, перейдя по адресу: http://localhost/testfile.php

    Чтобы проверить, что MySQL сервер работает, и мы можем выполнять действия с базами данных, можно воспользоваться утилитой mysql. Выполните в терминале:

    Введите пароль пользователя root и нажмите Enter. Вы попадете в shell для управления MySQL. Введите команду:

    Отобразится список текущих баз данных. Завершите работу введя:

    Заключение

    Итак, мы установили Apache, PHP и MySQL в macOS. Следующим шагом будет установка phpMyAdmin и настройка виртуальных хостов (сайтов).

    Источник

    Конфигурация Apache и PHP на Mac OS X

    Существует множество способов развернуть локальный сервер на Mac OS X, но сама система уже содержит предустановленный веб-сервер Apache и интерпретатор PHP, которые необходимо активировать и настроить.

    Данное руководство требует некоторых навыков работы с командной строкой и знания редактора nano, поэтому рекомендую прочитать хорошую книгу по основам работы с командной строкой и терминалом в Mac OS X «Take Control of the Mac Command Line with Terminal».

    Приведенный ниже материал является универсальным и будет полезен пользователям любых операционных систем.

    Включить веб-сервер можно в настройках: Системные настройки > Общий доступ > включить службу Общий веб-доступ.

    Если набрать в адресной строке браузера http://localhost/ , то сервер вернет страницу с текстом «It works!».

    Команды для работы с Apache через командную строку:

    sudo apachectl start | stop | restart

    Ошибка Apache в Mac OS X 10.6.5 и выше

    Следующая ошибка наблюдается при перезапуске Apache в Mac OS X 10.6.5 и выше, если попытаться перезапустить сервер через командную строку, Apache вернет ошибку:

    /usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument

    Необходимо внести изменения в скрипт apachectl ( /usr/sbin/apachectl ):

    sudo nano /usr/sbin/apachectl

    закомментируем строку 82:

    ULIMIT_MAX_FILES=”ulimit -S -n `ulimit -H -n`”

    Сохраняем скрипт и перезапускаем Apache.

    Конфигурация Apache

    Для конфигурации Apache необходимо открыть файл /etc/apache2/httpd.conf :

    sudo nano /etc/apache2/httpd.conf

    Переходим к строке 116 и подключаем PHP (необходимо раскомментировать строку):

    LoadModule php5_module libexec/httpd/libphp5.so

    Зададим свой каталог для локального сервера, поменяем путь к корневому каталогу в строке 168 и 195. После этих изменений корневым каталогом будет папка Сайты (Sites), находящаяся в домашнем каталоге пользователя.

    Аналогично заменим прежний путь в строке 195:

    В строке 230 пропишем какие типы файлов и в какой последовательности должен обрабатывать Apache:

    В строке 264 можно задать место для хранения журнала ошибок Apache:

    Раскомментируем строку 469, чтобы подключить файл в котором будем записывать виртуальные хосты:

    Сохраняем все изменения в файле httpd.conf и перезапускаем Apache. Если перейти по адресу http://localhost/ , загрузится стартовая страница из папки сайты с приветствием “Ваш веб-сайт”.

    Проверим работоспособность PHP, для этого создадим в каталоге Сайты тестовый PHP-скрипт:

    /Sites/index.php
    sudo nano

    и напишем сценарий, который покажет конфигурацию PHP:

    Сохраняем файл index.php и вновь переходим по адресу http://localhost/ , должна открыться страница с информацией о версии PHP. Если по прежнему загружается страница приветствия, необходимо проверить настройки Apache (строка 230).

    Конфигурационный файл php.ini находится в папке /private/etc/php.ini.defaults , его необходимо переименовать в php.ini :

    sudo mv /private/etc/php.ini.default /private/etc/php.ini

    Конфигурация виртуальных хостов.

    Рекомендую познакомиться с более простым решением для работы с виртуальными хостами – VirtualHostX, с помощью этого приложения можно упростить весь процесс конфигурации виртуальных хостов.

    Все проекты будут размещаться в каталоге пользователя Сайты ( /Users/имя_пользователя/Sites/ ). Создадим в этом каталоге новую папку с названием test , а в ней файл index.php с тестовым скриптом. Локальный сайт будет открываться по адресу http://test/ . Переходим к командной строке и вводим следующие команды:

    /Sites/test
    touch index.php
    nano index.php

    и добавим сценарий:

    Теперь займемся конфигурацией виртуальных хостов. Для начала откроем файл /etc/hosts и добавим в исключения адрес локального сайта ( http://test/ ). Переходим к командной строке:

    sudo nano /etc/hosts

    и добавляем строчку:

    Добавим записи с конфигурацией нового виртуального хоста:

    sudo nano /private/etc/apache2/extra/httpd-vhosts.conf

    И в конец файла добавляем записи:

    Сохраняем изменения и перезапускаем Apache. Теперь, если перейти по адресу http://test/ откроется страница с приветствием «Hello world!».

    Все указания выше приведены с учетом моих вкусов и предпочтений, цель данного руководства разобраться с основными принципами конфигурации нативного Apache и PHP на Mac OS X. С огромным удовольствием выслушаю предложения и замечания по доступности изложенного материала.

    Комментарии (8):

    Андрей

    Огромное спасибо за столь подробное изложение. Только я добавлю свои пять копеек. Сразу после первичного редактирования httpd.conf, когда включался php5 и указывалась директория, при переходе на localhost браузер выдавал ошибку 403 — Forbidden. Если посмотреть лог, то можно увидеть причину — не существующие тестовые хосты в файле httpd-vhosts.conf. Нужно открыть его и вставить в конце файла хост:

    ServerAdmin [email protected]
    DocumentRoot «/Users/Имя пользователя/Sites»
    ServerName localhost
    ErrorLog «/private/var/log/apache2/mysite-error_log»
    CustomLog «/private/var/log/apache2/mysite-access_log» common

    Теперь localhost заработает. Тестовые хосты можно удалить.

    Александр

    И от меня поклон автору. Многое понял и многому научился.
    И у меня — как и у Андрея — при переходе на localhost браузер выдавал ошибку 403 — Forbidden.
    Только из комментария Андрея я не понял что нужно сделать. Слитно написано
    Пожалуйста, напишите по шагам:
    1.
    2.
    3.
    Заранее благодарен.

    softspice

    После слов (команд):
    «sudo nano /etc/hosts
    и добавляем строчку:
    127.0.0.1 test»
    Нужно перезапустить сервер:

    Иначе будет использоваться старый файл hosts.

    Александр

    У автора то ли кавычки съелись в разделе «Конфигурация виртуальных хостов», то ли еще что, но на данный момент в записи отсутствуют тэги VirtualHost и Directory. Короче, чтобы заработали виртуальные хосты, правильнее писать в файле /private/etc/apache2/extra/httpd-vhosts.conf так:

    ServerAdmin [email protected]
    DocumentRoot «/Users/имя юзера/Sites/test»
    ServerName test

    AllowOverride All
    Order allow,deny
    Allow from all

    Иначе работать не будет ниче.

    Александр

    Опять кавычки съелись:

    ServerAdmin [email protected]
    DocumentRoot «/Users/имя юзера/Sites/test»
    ServerName test

    AllowOverride All
    Order allow,deny
    Allow from all

    makegood

    Алексей

    Вроде все так сделал. Только только у меня все равно запускается index.php из sites а не из sites/test
    В чем может быть проблема?

    makegood

    Алексей, скорее всего, неправильно настроены хосты.
    Рекомендую настройку через MacPorts, на блоге есть подробная инструкция.

    Источник

    Популярные записи

    Adblock
    detector