Pull to refresh

MAMP своими руками — собираем Apache под Mac OS X

Reading time 3 min
Views 9.5K
Этот хабратопик будет из серии о том, как своими руками организовать MAMP (Mac OS X + Apache + MySQL + PHP).

Начнем с обновления Apache 2.


Думаю пользователям Mac OS X Leopard известно, что Apache (версии 2, начиная с 10.5.2) и так поставляется в комплекте с операционной системой. Но это совсем не означает, что умение самостоятельно обновить свой Apache бесполезен.

Примечание: для того, чтобы у вас все получилось, нужно установить Unix Development Tools, которые входят в XcodeTools и присутствуют на диске Leopard или тут.

Поскольку организация файлов и т.п. на Mac OS отличается от принятых в остальных Unix системах (равняюсь на них из-за того, что работать мы будем через терминал) и расположение файлов того же предустановленного Apache отличается от стандартного, я буду давать инструкции по именно обновлению веб-сервера, без создания его лишних копий и с сохранением функции управления оным через Sharing в System Preferences.

Итак, приступим. Для начала скачаем пследнюю версию исходников Apache (на момент написания хабратопика — 2.2.8) — тут (уточню, нам нужны Unix Source — вот прямая ссылка).

Распакуем оную куда-нибудь в сохранное место (замечу, что удалять мы эти сорцы не будем — наоборот, они буду лежать у нас для последующего добавления компонентов наименьшими усилиями — при таковой надобности).

Открываем Terminal (папка Utilities в Applications). Тулим к той папки коммандой, допустим она лежит в папке src, в домашней папке юзера:
cd ~/src/httpd-2.2.8

В этой папке открываем config.layout и дописываем в конец следующее:
prefix: /usr
exec_prefix: ${prefix}
bindir: ${exec_prefix}/bin
sbindir: ${exec_prefix}/sbin
libdir: ${exec_prefix}/lib
libexecdir: ${exec_prefix}/libexec+
mandir: ${prefix}/share/man
sysconfdir: /etc+
datadir: /Library/Webserver
installbuilddir: ${prefix}/share/httpd/build
errordir: ${prefix}/share/httpd/error
iconsdir: ${prefix}/share/httpd/icons
htdocsdir: ${datadir}/Documents
manualdir: ${datadir}/share/httpd/manual
cgidir: ${datadir}/CGI-Executables
includedir: ${prefix}/include+
localstatedir: /var
runtimedir: ${localstatedir}/run
logfiledir: ${localstatedir}/log+
proxycachedir: ${runtimedir}/proxy


Это — схема расположения файлов веб-сервера на нашей машинке. Она четко повторяет схему расположения родного Apache, который устанавливается системой Leopard.

Далее создадим тут же файлик conf.args:
./configure \
--enable-layout=Leopard \
--enable-mods-shared=all \
--with-mpm=prefork \
--disable-static \
--disable-unique-id \
--disable-ipv6 \
--enable-dav \
--enable-cache \
--enable-proxy \
--enable-shared \
--enable-logio \
--enable-deflate \
--with-included-apr \
--enable-cgi \
--enable-cgid \
--enable-suexec


Это конфигурационная команда, которая приготовит сорцы к компиляции под вашу систему и определит схему расположения файлов (--enable-layout=Leopard). Кроме того там указаны дополнительные настройки, которые использую локально лично я. Если вам надо еще что-то или чего-то не надо — редактированию подлежит.
В файлик мы ее положили, чтобы, когда что-то надо будет дополнить или изменить — был предыдущий вариант конфигурации.

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

Далее выполняем:
make
Ждем, а после:
sudo make install

В общем-то, сервер обновлен. :) Позднее добавлю как его в автозагрузку добавить.

И еще, я часто упоминал, что в последующем можно будет удалять или добавлять компоненты — делается это просто. На те же сорцы применяем .configure с новыми параметрами, потом make и sudo make install. Преимущество того, что вы делать это будете еще раз на те же сорцы в том, что конфигурация и make будет происходить значительно быстрее.
Tags:
Hubs:
+16
Comments 23
Comments Comments 23

Articles