Меню Рубрики

Установка apache на macbook

Настройка и запуск WEB сервера apache2 на базе Mac OS X

Перед тем как делать изменения в системных файлав рекомендую вам настроить и использовать Time Machine

Для запуска web сервера и сайта можно использовать пакет MAMP, но это совсем не обязательно.

Можно запустить встроенный сервер Apache с помощью терминала и настроек операционной системы. В версии Mac OS X Lion 10.7 это делалось включением в системных настройках/общий доступ, но в версии 10.8 произошли изменения, которые требуют использования терминала.

Запускаем программу терминал (terminal) находящуюся по адресу:

/Applications/Utilities/Terminal если включен русский язык то /Applications/Utilities/Терминал

Самый простой путь, запустить Finder, нажать клавиши CMD+Shift+G и вставить данный адрес. Если все правильно запустится Терминал

набираем (копируем) команду

Для выполнения данной команды может потребоваться пароль суперпользователя (тот же самый который требуется для установки программ). Его нужно ввести.

Эта команда запускает сервер apache на Mac OS X.

Следующая команда не является обязательной, но она показывает текущую версию сервера

Теперь проверим работоспособность сервера:

В браузере введем адрес http://localhost

It works !

Сервер Apache корректно запустился, но сейчас сайты на компьютере находятся в корневой папке сервера apache, по адресу

и основным файлом является index.html.en

что не совсем удобно для дальнейшего использования. Для удобства применения сервера желательно откорректировать файл httpd.conf.

Для редактирования переходим в каталог:

я предпочитаю это сделать через Finder с помощью нажатия клавиш CMD+Shift+G. Там будет файл: httpd.conf

Первое что необходимо сделать это его архивную копию, чтобы в случае неправильных действий его восстановить.

Теперь его необходимо отредактировать, не всегда OS X позволяет отредактировать его в стандартном текстовом редакторе, но всегда можно сделать и отредактировать его копию и потом заменить файл. Можно спокойно редактировать в терминале с помощью встроенного редактора nano (работа в редакторе nano), но работать с ним не очень удобно.

Здесь требуется исправить следующие строки:

и удалить с нее комментарий, данная строка включает PHP на сервере apache

где «ИмяПользователя» это имя пользователя в системе, так мы поменяли главную папку документов на сервере apache. Аналогично необходимо изменить данные еще в одной строке:

Все! сохраняем сайт. Если делали в копии, то меняем «родной» файл.

Не забудьте проверить наличие папки sites в папке пользователя «ИмяПользователя»

Данная команда перезапускает сервер apache (ее необходимо использовать при каждом изменении файлов настроек сервера). Проверяем работу, в адресной строке набираемhttp://localhost

Теперь должны увидеть содержимое папки sites. Если ничего не получилось, то восстанавливаем исходный файл httpd.conf из архивной копии или по адресу

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

И повторяем процедуру повторно. В некоторых случаях необходимо сделать следующее:

После этого необходимо исправить права на доступ к файлу username.conf

Все! Сервер apache на Mac OS X должен работать и интерпретатор PHP запущен.

Если при проверке синтаксиса файлов настройки появляется ошибка

Необходимо в файл httpd.conf добавить строку

Команда для редактирования

Если apache все-таки не запускается и не отвечает на запрос в браузере localhost , то имеет смысл посмотреть логи.
Сначала стоит взглянуть на системный журнал. Для этого запускаем программу «консоль» и отфильтровываем по слову apache.
Вполне возможно, что вы увидите следующее сообщение:

Далее, для работы сайтов использующих CMS необходимо установить MySQL. Как это сделать описано здесь.

Можно установить ускоритель исполнения php APC

и желательно настроить виртуальный хостинг httpd_vhosts_config

источник

Как настроить веб-сервер Apache в MacOS Sierra 10.12

Эта статья является переводом статьи How to Set up Apache in macOS Sierra 10.12, и я размещаю ее здесь в первую очередь для себя, так как часто приходится к ней прибегать для настройки/перенастройки Apache в Sierra. Возможно, кому-то этот русскоязычный перевод облегчит понимание, и я буду рад что смог чем-то помочь.

macOS Sierra поставляется с веб-сервером Apache версии 2.4.23. Настройка Apache будет состоять из трех этапов:

    Начальная настройка. Мы настроим веб сервер таким образом, что статические (.html) файлы сайта размещенные в папке Sites (внутри вашей домашней папки) будут доступны к просмотру браузером по адресу http://localhost/

username/, где username — это ваше короткое имя пользователя, например admin или andrey.

  • Настройка виртуальных хостов. На этом этапе мы отредактируем Virtual Hosts и /etc/hosts, чтобы наши сайты были доступны по удобному адресу типа foo.localhost вместо указывания длинного пути с иерархией папок.
  • И на последнем этапе мы включим PHP модуль, что позволит размещать в папке Sites не только статические, но и скриптовые (.php) файлы, которые сервер будет соответствующим образом обрабатывать и отдавать в браузер результат их работы.
  • Читайте также:  Установка грузиков вариатора для скутера

    0. Terminal, без которого никуда

    Веб-разработчики знают, как незаменим порой может быть Терминал для быстрого и эффективного выполнения ряда задач. Однако для неподготовленного пользователя Терминал может показаться слишком сложным и недружелюбным, поэтому в этом руководстве мы вкратце рассмотрим основные приемы работы с Терминалом, чтобы вы чувствовали себя с ним более уверенно.

    Прежде чем вы переключитесь в Терминал и начнете выполнять команды, несколько предостерегающих моментов. Некоторые команды, которые мы используем в настоящем руководстве, используют префикс sudo, который позволяет повысить привилегии текущего пользователя до уровня «root» или «superuser». Однако помните, что расширенные возможности влекут за собой повышенную ответственность. Поэтому будьте особенно внимательными, когда используете sudo, убедитесь что не перепутали путь к файлу и что вы не пытаетесь отредактировать файл, который не подлежит изменению.

    Терминал находится по адресу:

    Запустите его. Приглашение командной строки будет иметь следующий вид:

    Сначала будет указано имя компьютера, потом :

    потом ваше короткое имя пользователя и знак $ в конце.

    1.1. Создаем папку Sites и папки для проектов

    Папка Sites будет выступать в роли Document Root для Apache, и в то же время удобно располагаться в вашей домашней папке, обеспечивая беспрепятственный доступ к своему содержимому. Отметим, что папка Sites уже была предустановлена во всех ранних системах Mac OS X и исчезла в OS X 10.7 Lion. Равно как и галочка “web sharing” в System Preferences -> Sharing, которая позволяла запускать/останавливать Apache. Видимо в Apple посчитали, что среднестатистическому пользователю это не нужно, а кому нужно, разберется и без графического интерфейса. Но как только вы создадите папку Sites, сразу станет понятно что Finder ожидает ее возрождения и у него уже есть заготовленная иконка для этой папки с логотипом Safari.

    После создания папки Sites мы создадим две папки внутри для отдельных вебсайтов — Foo и Bar.

    Создать папку можно с помощью Finder, но мы сделаем это через Terminal, из учебных соображений. Для создания директорий есть команда mkdir (сокращение от make directory). После mkdir должен быть указан путь в файловой системе к создаваемой папке. Символом тильда (

    ) обозначается ваш домашний каталог (это сокращение принято во всех Unix системах). Таким образом, следующая команда позволит создать папку Sites внутри вашей домашней директории:

    Как узнать что команда сработала и папка создалась? Выполните:

    Команда ls (сокращенно от list), показывает содержимое указанной директории, в данном случае она покажет содержимое нашей домашней директории так как в качестве пути стоит тильда

    Папка Sites теперь будет показываться среди другого содержимого домашней папки.

    Теперь создадим две папки для сайтов внутри Sites. Используем для этого mkdir:

    С помощью ls убедитесь что папки созданы:

    1.2. Создадим простой HTML файл

    Можно, конечно, создать simple-text файл в TextEdit, и наполнить его HTML кодом, но мы по-прежнему будем использовать Терминал. Создавать файл удобно командой touch. Она либо создает новый пустой файл либо меняет дату изменения на текущую на указанном файле либо директории. Это удобно запомнить, так как touch == потрогать.

    После выполнения этой команды проверьте папку foo — в ней должен находиться index.html.

    От пустого index.html толку мало, нужно наполнить его HTML разметкой, и для этого мы воспользуемся редактором nano:

    Откроется текстовый редактор прямо в окне Терминала. Внизу будут перечислены команды-подсказки. Символ ^ стоящий перед буквой означает что чтобы выполнить эту команду, нужно нажать клавишу Ctrl и соответствующую букву.

    Добавьте следующие строки в файл

    Закройте и сохраните файл используя клавишное сочетание Ctrl+X (выйти) потом Y (да, сохранить) и Enter.

    Теперь подобный файл нужно положить еще и в папку Bar. Но вместо того, чтобы повторять описанные выше действия, мы отработаем новый навык — копирование. Для копирования существует команда cp. Скопировать index.html из foo в bar поможет такая конструкция:

    А теперь откройте свежескопированный файл в nano:

    Измените его содержимое, чтобы оно выглядело примерно так:

    Теперь, когда у нас есть две папки с тестовыми файлами, можно переключиться на настройку Apache.

    1.3. Настраиваем Apache

    1.3.1. Конфигурационный файл Apache

    Первым делом создадим новый конфигурационный файл, который будет указывать вебсерверу Apache где находятся файлы сайта, которые нужно обслуживать. Конфигурационный файл должен состоять из вашего имени пользователя на данном компьютере и расширения ‘.conf’. Например, у меня этот файл называется andrey.conf. Еще не знаете как узнать свое имя пользователя? Выполните в Терминале команду:

    Теперь нам нужно переместиться в директорию /etc/apache2/users и создать там .conf-файл. Apache будет его искать именно там. Переместитесь в эту папку командой cd:

    Читайте также:  Установка fl studio 12 keygen

    Здесь вы создадите файл username.conf, где username — это ваше имя пользователя. Для того чтобы создать файл по этому пути, потребуется использовать префикс sudo, поскольку эта часть файловой системы относится к системным файлам, и по умолчанию, пользователю не разрешается вносить в них изменения. Можете в этот раз не использовать touch, а просто указать после вызова текстового редактора nano имя нового файла:

    Еще раз проверьте что вместо username вы подставили свое реальное имя пользователя!

    Откроется новый пустой текстовый файл в редакторе nano, в который нужно добавить следующее содержимое:

    И снова замените username на ваше имя пользователя. Закройте Ctrl+X редактор, укажите сохранить (Y) документ, и нажмите Enter для подтверждения.

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

    опять-таки, измените username на реальный. Не особо углубляясь в детали структуры прав доступа в Unix системах, вам нужно понимать, что три цифры ‘6’ ‘4’ ‘4’ указывают уровень доступа для Владельца (Owner) Группы (Group) и Прочих (Other). Цифра 6 для владельца указывает что владелец может читать и писать (read/write), 4 и 4 соответственно указывают, что группа и прочие могут лишь читать (read).

    Теперь, когда конфиг-файл создан, и у него установлены корректные права доступа, включим ключевые модули вебсервера Apache.

    1.3.2. Включаем модули в httpd.conf

    На следующем шаге нам нужно переместиться назад или вверх на один уровень, в папку /etc/apache2. Сейчас, вы наиболее вероятно находитесь в /etc/apache2/users (если не переходили никуда с прошлого шага). Чтобы переместиться на уровень вверх (перейти в родительскую папку), используйте команду cd и две точки вместо указания имени папки:

    Перешли? Проверьте, что вы находитесь в правильном месте командой pwd (сокращение от print working directory):

    Команда должна показать: /etc/apache2.

    В папке /etc/apache2 первым делом следует создать резервную копию существующего httpd.conf файла. Используем уже знакомую для копирования команду cp:

    Этой командой мы скопируем httpd.conf в новый файл с именем httpd.conf.bak. Резервная копия никогда не помешает, на случай если мы захотим вернуть все как было, или хотя-бы посмотреть синтаксис оригинального файла.

    Теперь, когда есть резервная копия, внесем необходимые правки в httpd.conf. Откроем его с помощью nano:

    В этом файле мы включим несколько модулей. ‘Включить’ означает раскомментировать строку с названием модуля. Комментарии в данном файле представляют собой такие значки: #

    Так как файл httpd.conf не маленький, найти в нем что-то может оказаться затруднительно. Поэтому можете использовать поиск, доступный по сочетанию клавиш Ctrl+W. В результате, следующие модули/строки должны быть раскомментированы:

    Когда уберете # и таким образом, активируете перечисленные выше модули, сохраните и закройте httpd.conf.

    1.3.3. Редактируем httpd-userdir.conf

    После того как мы обновили файл httpd.conf, нужно внести изменения в httpd-userdir.conf, который находится в папке extra:

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

    Теперь используя уже знакомый нам тектовый редактор nano, поработаем с httpd-userdir.conf:

    Раскомментируйте указанную ниже строку, удалив # перед ней:

    1.3.4. Перезагрузка Apache

    Внеся указанные выше изменения в:

    нужно перезагрузить Apache, чтобы изменения вступили в силу. Выполните для перезагрузки Apache команду:

    После перезапуска Apache можно проверить результат с помощью браузера (Safari, Firefox, или что вы там используете).

    1.3.5. Просмотр локальных веб-сайтов

    Перейдите по адресу http://localhost/

    username, только не забудьте поменять username на свое имя пользователя. Если все настроено верно, вы увидите содержимое папки Sites, среди которого будут созданные нами ранее

    /Sites/bar. Если щелкнуть на foo или bar, откроется заготовленная нами веб-страница которая выводит Hello World. Apache видит наличие html-файла по умолчанию, а именно index.html и при переходе в папку автоматически загружает index.html.

    На этом первая часть настройки Apache завершена, и теперь статические веб-сайты размещенные в папке Sites или во вложенных папках будут доступны к просмотру через браузер.

    2. Настройка виртуальных хостов — опционально

    Если вам приходится работать над несколькими проектами одновременно, или вы по каким-то другим причинам не хотите добираться до своих локальных сайтов, указывая несколько вложенных папок в строке адреса, типа http://localhost/

    username/foo или http://localhost/

    username/bar, можно настроить локальные доменные имена для каждого проекта. В таком случае сайт, размещенный в

    /Sites/foo будет доступен по адресу foo.localhost, а сайт из папки

    /Sites/bar будет доступен соответственно по bar.localhost. Так удобнее, правда?

    Использование виртуальных хостов позволяет описать несколько блоков VirtualHost, в каждом из которых будут указаны переменные ServerName — имя сервера/адрес сайта и DocumentRoot — путь к файлам сайта в файловой системе. Таким образом, Apache будет знать, что если пользователь зашел по адресу ServerName (напр. foo.localhost), то показать ему сайт из папки DocumentRoot (напр. /Users/john/Sites/foo).

    Читайте также:  Установка кнопок на одежду петербург

    Обратите внимание: используя VirtualHosts, нам придется отказаться от индексированного представления на localhost, и нужно будет отредактировать hosts файл вашего Mac, добавив в него уникальные имена хостов для каждого проекта.

    Следуя хорошей традиции, создайте бекап файла описывающего виртуальные хосты — httpd-vhosts.conf. Этот файл располагается по адресу /etc/apache2/extra, и его копию мы сделаем уже знакомой нам командой cp:

    Теперь отредактируйте httpd-vhosts.conf, добавив блоки ‘VirtualHost’ для каждого из сайтов, в нашем случае — для foo.localhost и bar.localhost. Редактируем, как обычно, редактором nano:

    В результате у вас должен получиться файл httpd-vhosts.conf следующего содержания:

    Сохраните и закройте httpd-vhost.conf. Теперь нам необходимо внести изменения в файл /etc/hosts, добавив туда доменные имена foo.localhost и bar.localhost. Файл /etc/hosts очень важный. Он существует в любой операционной системе (путь может отличаться) и представляет собой локальный DNS. Именно его в первую очередь проверит браузер, чтобы узнать, не указан ли для запрашиваемого URL IP адрес. Если не указан — обратится к внешнему DNS, который указан в настройках сети.

    Будьте внимательны редактируя файл hosts. Добавьте ваши записи в низ файла и не изменяйте первых три строчки!

    Откройте файл /etc/hosts с помощью nano:

    Если вы ранее не вносили никаких правок в этот файл, он должен выглядеть так:

    Добавьте в него свои локальные доменные имена, и файл будет выглядеть примерно так:

    Сохраните и закройте /etc/hosts.

    Прежде чем мы сможем проверить что мы понастраивали, нужно перезапустить Apache:

    После перезапуска Apache, заходим на foo.localhost и bar.localhost веб-браузером, оба сайта должны выдавать соответствующий index.html.

    3.0. Включаем модуль PHP — опционально

    Модуль PHP встроен в веб-сервер Apache на macOS Sierra, и чтобы его использовать, достаточно его просто включить. Если вы — PHP разработчик, то наверняка захотите активировать PHP на своем Mac. Обратите внимание, что macOS Sierra поставляется с PHP версии 5.6.3. И в этом руководстве мы просто активируем этот модуль. Если вам нужны новые возможности и улучшенная производительность PHP 7.2, придется обновить версию PHP на вашем Mac, но эта тема выходит за пределы этой статьи, поэтому, мы еще рассмотрим этот вопрос отдельно.

    Обратимся еще раз к файлу httpd.conf:

    Найдите и раскомментируйте в этом файле строку:

    Теперь (если перезапустить Apache), сервер сможет обрабатывать файлы с расширением .php. Apache будет передавать такой файл на обработку интерпретатору PHP, потом получать результат и отдавать его в ответ на HTTP запрос.

    3.1. Интерпретация PHP кода внутри HTML файлов

    Часто бывает ситуация, когда мы имеем дело не с чистыми .php файлами, а php код располагается в виде вставок в .html файлах. И он тоже должен быть как-то обработан. Чтобы реализовать это, внесем изменения в httpd-vhosts.conf:

    Добавьте следующий блок кода в самый верх файла:

    Теперь httpd-vhosts.conf будет выглядеть примерно так:

    И после всех этих изменений перезапустим Apache:

    3.2. Проверка работы PHP модуля

    А теперь проверим, все ли у нас корректно работает. Для начала создадим обычный .php файл:

    Поместите в него php-код следующего содержания или любой другой php-код:

    Сохраните и закройте. Теперь, при обращении по адресу foo.localhost/example.php, браузер должен отобразить надпись «Hello, PHP World!» в стиле соответствующем тегу H1.

    Также желательно протестировать как будет интерпретироваться PHP код, вставленный в HTML документ. Открываем на редактирование index.html:

    Добавим несколько строк PHP кода в самое начало файла, этот код будет задавать переменную $day, присваивая ей текущее значение дня недели. И потом в теле HTML документа мы выведем значение переменной $day:

    Когда вы обратитесь браузером по адресу foo.localhost, вы должны увидеть какой сейчас день недели с учетом часового пояса.

    На этом настройка Apache завершена, и ваш компьютер теперь представляет собой практически полноценный веб-сервер.

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

    Конечно, немаловажный вопрос о версии PHP. К сожалению, в Sierra используется уже немного подустаревший и в плане функционала и в плане производительности PHP 5.6.3. В High Sierra, насколько мне известно уже предустанавливается PHP 7.1. В любом случае, обновление до 7.2 крайне желательно, но эту тему мы рассмотрим уже в другой статье.

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

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

    Для отправки комментария вам необходимо авторизоваться.

    источник

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

    Adblock
    detector