Search
Сегодня Понедельник, 22 мая 2017 года
  • :
  • :

Запуск WEB сервера под MAC OS x



Как уже писал в прошлом посте, что решил в новогодние каникулы погонять свой мак максимально возможно и поставить все что было у меня на винде и вот встал вопрос об установке Веб сервера под Мак и данная статья будет пошаговой инструкцией как запустить встроенный веб сервер Apache с подключением PHP и MySQL.

т.к. я буду 100% натыкаться на какие нибудь «вилы» то эта статья будет постоянно дополняться + буду ждать комментарии от Вас

Давайте для удобства разобьем эту статью на подпункты:

  1. Включение веб сервера Apache
  2. Настройка Apache
  3. Настройка виртуальных хостов
  4. Тестирование

Включаем встроенный WEB Server Apache

mac os Apache

фото 1. Включение в Mac OS веб сервера Apache

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

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

Если набрать в адресной строке браузера 

http://localhost/

, то сервер вернет страницу с текстом «It works!».

Либо можно запустить  Apache через командную строку Терминала набрав след команду:

sudo apachectl start

 

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

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

Фото 2. Конфигурация Apache в MAC OS

Для конфигурации Apache необходимо открыть файл 

/etc/apache2/httpd.conf

:

sudo nano /etc/apache2/httpd.conf

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

LoadModule php5_module libexec/httpd/libphp5.so

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

DocumentRoot "/Library/WebServer/Documents"

на

DocumentRoot "/Users/имя_пользователя/Sites"

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

<Directory "/Library/WebServer/Documents">

на

<Directory "/Users/имя_пользователя/Sites">

 

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

 DirectoryIndex index.php index.html

 

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

Include /private/etc/apache2/extra/httpd-vhosts.conf

Сохраняем все изменения в файле 

httpd.conf

 и перезапускаем Apache.

sudo apachectl restart

После этого переходим в браузере по адресу 

http://localhost/

, загрузится стартовая страница из папки сайты с приветствием «Ваш веб-сайт».

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

touch ~/Sites/index.php
sudo nano ~/Sites/index.php

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

<?php
phpinfo();
?>

Сохраняем файл 

index.php

 и вновь переходим по адресу 

http://localhost/

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

(дополнение от 4.01.2016)

Обязательно нужно еще проделать операцию с конфигурационным файлом 

php.ini

 он находится в папке 

/etc/php.ini.defaults

, его необходимо переименовать в 

php.ini

:

sudo cp /etc/php.ini.default /etc/php.ini

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

apache virtual host example

Фото 3. Конфигурация виртуальных хостов в Apache на mac os

Все проекты будут размещаться в каталоге пользователя Сайты (

/Users/имя_пользователя/Sites/

). Создадим в этом каталоге новую папку с названием 

test

, а в ней файл 

index.php

 с тестовым скриптом. Локальный сайт будет открываться по адресу 

http://test/

. Переходим к командной строке и вводим следующие команды:

mkdir ~/Sites/test
cd ~/Sites/test
touch index.php
nano index.php

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

<?php
phpinfo();
?>

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

/etc/hosts

 и добавим в исключения адрес локального сайта (

http://test/

). Переходим к командной строке:

sudo nano /etc/hosts

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

127.0.0.1 test

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

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

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

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

sudo apachectl restart

 

Проверка и тестирование результата

 тестирование веб сервера

фото 4. Тестирование веб сервера Hello Word

Теперь, если перейти по адресу 

http://test/

откроется страница с приветствием «Hello world!»

Если ни чего не получилось, то возвращаемся в начало статьи и делаем все заново и внимательнее, если и после ни чего не получилось, то смотрим где у нас в конфигурационном файле httpd.conf лежит лог файл (по умолчанию он выглядит так  ErrorLog «/private/var/log/apache2/error_log»  и если Вы ничего не изменяли, то смотрите логи /private/var/log/apache2/error_log и присылайте ошибки, будем разбираться почему у Вас не работает веб сервер.

Еще можно проверить синтаксические ошибки в файле http.conf настроек командой

ВСЕ!

Данная инструкция писалась пошагово, когда я сам настраивал на своем Макбук Веб сервер. Если Вы все делаете в точности по инструкции, то у Вас точно на все 100% получится настроить web server.

Всем удачи и хорошихзимних каникул!

 

 

На правах рекламы хочу Вам рассказать о магазине где я купил светодиодную ленту и украсил свой дом и устроил своей семье настоящий праздник! Всем советую магазин http://arlight.moscow/

 



Если Вам помогла моя статья, поставьте ей в рейтинге 5 звездочек :-)

1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 5,00 out of 5)
Загрузка...


Статьи которые будут Вам полезны:

Понравилась статья? Тогда оставь свой отзыв!
3 комментариев “Запуск WEB сервера под MAC OS x

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

  1. Бекжан

    Спасибо! У меня получилось. Но с трудом)

    В статье не сказано что надо раскомментировать это:
    Include /private/etc/apache2/extra/httpd-vhosts.conf

    И надо удалить примеры виртуальных хостов написать свои, к примеру:

    ServerAdmin webmaster@school.loc
    DocumentRoot «/Users/sbeka/Sites/school.loc»
    ServerName school.loc

    AllowOverride All
    Order allow,deny
    Allow from all

  2. Василий

    Здавствуйте. Никак не получается настроить все правильно. http://localhost работает. Все другое нет. Проверил все 100 раз.
    Вот ошибки.Спасибо!
    [Sat Oct 15 18:37:58.937155 2016] [mpm_prefork:notice] [pid 2578] AH00163: Apac$
    [Sat Oct 15 18:37:58.937445 2016] [core:notice] [pid 2578] AH00094: Command lin$
    [Sat Oct 15 18:44:58.203894 2016] [mpm_prefork:notice] [pid 2578] AH00169: caug$
    [Sat Oct 15 18:45:07.396358 2016] [mpm_prefork:notice] [pid 2706] AH00163: Apac$
    [Sat Oct 15 18:45:07.396504 2016] [core:notice] [pid 2706] AH00094: Command lin$
    [Sat Oct 15 18:58:34.899385 2016] [mpm_prefork:notice] [pid 2706] AH00169: caug$