Установка на Mac OS X Apache, MySQL, PHP и Python

Статус
В этой теме нельзя размещать новые ответы.

Markus Lang

Постоялец
Регистрация
8 Июл 2008
Сообщения
267
Реакции
170
Сервер будем ставить в пользовательскую директорию в подкаталог Server /Users/Ex/Server/Apache/ (Users/Ex/ — моя пользовательская директория).

Установка Apache

Apache будем ставить в /Users/Ex/Server/Apache/.

В Mac OS X конечно уже входит Apache, но все хочется своего и свежей версии, так что приступим.
Берем свежие исходники с сайта , качаем и распаковываем. Заходим в терминал и переходим в папку куда распаковали исходники

cd /Users/Ex/Server/Sources/httpd-2.2.9

Выполняем ./configure с нужными ключами, тут главное не забыть указать

--prefix — путь к апачу
--exec-prefix — путь откуда будет запускаться апач
--enable-so — включаем поддержку so модулей

./configure --prefix=/Users/Ex/Server/Apache/ --exec-prefix=/Users/Ex/Server/Apache/ --enable-so --enable-rewrite --enable-cgi
make
make install


Теперь в каталоге /Users/Ex/Server/Apache/ у нас лежит установленный сервер. Для проверки выполним в терминале

sudo /Users/Ex/Server/Apache/bin/apachectl -f /Users/Ex/Server/Apache/conf/httpd.conf -k start


И наберем в браузере

localhost/
887027_607x400.png

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

sudo /Users/Ex/Server/Apache/bin/apachectl -f /Users/Ex/Server/Apache/conf/httpd.conf -k stop

Для запуска я использую полный путь до апача и конфига иначе запускается встроенный апач.

Ставим MySQL

MySQL необходимо ставить перед сборкой PHP иначе PHP не сможет собраться с поддержкой MySQL.
Готовый пакет для установки можно взять на . Если есть желание собрать MySQL из исходников, то качаем их там же и распаковываем.

cd /Users/Ex/Server/Sources/mysql
./configure --prefix=/Users/Ex/Server/MySQL --with-unix-socket-path=/Users/Ex/Server/MySQL/run/mysql_socket --with-mysqld-user=mysql --with-comment --with-debug
make
make install



Запускаем

sudo /Users/Ex/Server/MySQL/bin/mysqld_safe --user=mysql

И меням пароль

/Users/Ex/Server/MySQL/bin/mysqladmin -u root password root


Ставим PHP

Берем свежие исходники с сайта , качаем и распаковываем. Заходим в терминал и переходим в папку куда распоковали исходники
cd /Users/Ex/Server/Sources/php-5.2.6
Выполняем ./configure. Стоит обратить внимание на следующие ключи

--libexecdir — путь к папке где будет лежать модуль апача
--exec-path — путь к PHP
--with-config-file-path — куда мы хотим запихнуть конфиг PHP
--enable-mbstring — насколько я знаю это включает поддержку unicode, без этого ключа PHP не собирается
--with-apxs2 — собрать модуль so для апача и положить в указанную папку


--libexecdir=/Users/Ex/Server/Apache/modules --exec-prefix=/Users/Ex/Server/PHP --with-config-file-path=/Users/Ex/Server/PHP --with-curl --with-zlib --with-sqlite --with-mysql=/Users/Ex/Server/MySQL --enable-ctype --enable-mbstring --enable-mbregex --with-apxs2=/Users/Ex/Server/Apache/bin/apxs


make
make install



Открываем файл httpd.conf и добавляем три строчки (первая строчка уже должна присутствовать в конфиге)

LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps



Проверяем. Создадим в папке /Users/Ex/Server/Apache/htdocs/ файл test.php

<? php
phpinfo();
?>



Перезапускаем апач

sudo /Users/Ex/Server/Apache/bin/apachectl -f /Users/Ex/Server/Apache/conf/httpd.conf -k restart


И набираем в адресной строке браузера

localhost/test.php

887026_592x408.png


Установка Python

В Mac OS уже установлен Python (у меня версия 2.5.1), но если хочется чего-то посвежей идет на , качаем установочный пакет и устанавливаем. Для связки Apache и Python я использую mod_python. Для его установки скачиваем исходники с сайта и собираем

cd /Users/Ex/Server/Sources/mod_python-3.3.1/

./configure --with-apxs=/Users/Ex/Server/Apache/bin/apxs

make
make install



В папке /Users/Ex/Server/Apache/modules/ должен появиться файл mod_python.so. Открываем файл httpd.conf и пишем следующую строчку

LoadModule python_module modules/mod_python.so


Для тестирования созданим папку /Users/Ex/Server/Apache/htdocs/python/ и положим туда файл main.py

#main.py

from mod_python import apache

def handler(req:(
req.content_type = 'text/plain'
req.write(«Hello World!»)
return apache.OK



В httpd.conf пропишем

<Directory /Users/Ex/Server/Apache/htdocs/python>
AddHandler mod_python main.py
PythonHandler mptest
PythonDebug On
<//Directory>



Этим мы указываем апачу что при запросе папки /python вызывать файл main.py. Перезапускаем апача и набираем в адресной строке

localhost/python/

887030_608x407.png


Думаю у вас все получилось как и у меня. Перед запуском свежего апача желательно убедиться что встроенный апач остановлен. Для этого откройте System Preferences -> Sharing и убери галку с Web Sharing. Всю дополнительную информацию о ключах ищите на официальных сайтах.

Добавлено через 13 минут
Примечание:

Этот мануал был опробован неоднократно. Полноценный веб-сервер устанавливался на разные маки от MacBook Pro до Mac Pro и xServe на Mac OSX 10.5.6.
Лично мне данное решение нравится больше, чем к примеру MAMP или MAMP Pro, которые грузят систему и бывает начинают конфликтовать с другими программами. Да и просто глупо не использовать *nix'овую сторону Mac OSX. :)
 
есть еще неплохой веб сервер XAMPP, устанаваливается очч просто, с помощью инсталлера, да и не сильно громоздкой он, я отдаю свое предпочтение ему :)
 
есть еще неплохой веб сервер XAMPP, устанаваливается очч просто, с помощью инсталлера, да и не сильно громоздкой он, я отдаю свое предпочтение ему :)

XAMPP по моему тогды был только в разработке для MAC OSX, когда я искал веб-сервер были варианты с MAMP, MAMP Pro или все руками устанавливать, ну или искал плохо :)
 
Использовать мамп самое простое для новичка.
А не новичок всё сам поставит.
 
согласен, сам исключительно xamppом пользуюсь, он есть под все ОС. Как веб-сервер не покатит, но для дебага - самое оно.
 
А я Rewrite Mode что в xampp что в mamp ниасилил :confused:
 
А я Rewrite Mode что в xampp что в mamp ниасилил
кстате тож такую хрень заметил =\ к примеру надо протестить чпу для форума, создаю в корне папки .htaccess а мак его принимает каксвой и естессно в итоге интернал сервер эррор =\ приходится на хосте тестировать
 
Я пробовал xamp и прочие, но пришел к такой конфигурации:
— стандартный apache
— скачал установил mysql (пакет установочный)
— установил (копируется и все, ничего не надо компилировать) entropy php (погуглите) вместо стандартного — это для поддеожки GD и еще каких-то вещей, которых нет в стандартном php

python есть по-умолчанию, я им пользуюсь мало, так что не помню делал что или нет.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху