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

Тема в разделе "Mac OS X", создана пользователем Markus Lang, 1 янв 2009.

Статус темы:
Закрыта.
Модераторы: Archiby
  1. Markus Lang

    Markus Lang

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

    Установка Apache

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

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

    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/
    [​IMG]
    Для остановки апача следует выполнить

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

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

    Ставим MySQL

    MySQL необходимо ставить перед сборкой PHP иначе PHP не сможет собраться с поддержкой MySQL.
    Готовый пакет для установки можно взять на mysql.com. Если есть желание собрать 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

    Берем свежие исходники с сайта php.net, качаем и распаковываем. Заходим в терминал и переходим в папку куда распоковали исходники
    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

    [​IMG]

    Установка Python

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

    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/

    [​IMG]

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

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

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

    we_are_hakers

    Регистр.:
    10 апр 2008
    Сообщения:
    650
    Симпатии:
    178
    есть еще неплохой веб сервер XAMPP, устанаваливается очч просто, с помощью инсталлера, да и не сильно громоздкой он, я отдаю свое предпочтение ему :)
     
  3. Markus Lang

    Markus Lang

    Регистр.:
    8 июл 2008
    Сообщения:
    265
    Симпатии:
    170
    XAMPP по моему тогды был только в разработке для MAC OSX, когда я искал веб-сервер были варианты с MAMP, MAMP Pro или все руками устанавливать, ну или искал плохо :)
     
  4. enzo74

    enzo74 Постоялец

    Регистр.:
    18 май 2008
    Сообщения:
    89
    Симпатии:
    14
    Использовать мамп самое простое для новичка.
    А не новичок всё сам поставит.
     
  5. slimper

    slimper Писатель

    Регистр.:
    8 дек 2008
    Сообщения:
    5
    Симпатии:
    0
    согласен, сам исключительно xamppом пользуюсь, он есть под все ОС. Как веб-сервер не покатит, но для дебага - самое оно.
     
  6. we_are_hakers

    we_are_hakers

    Регистр.:
    10 апр 2008
    Сообщения:
    650
    Симпатии:
    178
    xampp вообщето и есть веб-сервер, тот же самый апач, тот же самый мускл
     
  7. Aiwe

    Aiwe Создатель

    Регистр.:
    18 сен 2008
    Сообщения:
    26
    Симпатии:
    12
    А я Rewrite Mode что в xampp что в mamp ниасилил :confused:
     
  8. we_are_hakers

    we_are_hakers

    Регистр.:
    10 апр 2008
    Сообщения:
    650
    Симпатии:
    178
    кстате тож такую хрень заметил =\ к примеру надо протестить чпу для форума, создаю в корне папки .htaccess а мак его принимает каксвой и естессно в итоге интернал сервер эррор =\ приходится на хосте тестировать
     
  9. kaveo

    kaveo Постоялец

    Регистр.:
    29 июн 2008
    Сообщения:
    96
    Симпатии:
    14
    Я пробовал xamp и прочие, но пришел к такой конфигурации:
    — стандартный apache
    — скачал установил mysql (пакет установочный)
    — установил (копируется и все, ничего не надо компилировать) entropy php (погуглите) вместо стандартного — это для поддеожки GD и еще каких-то вещей, которых нет в стандартном php

    python есть по-умолчанию, я им пользуюсь мало, так что не помню делал что или нет.
     
  10. vitaliyphp

    vitaliyphp Создатель

    Регистр.:
    22 фев 2009
    Сообщения:
    34
    Симпатии:
    2
    тоже его использую
     
Статус темы:
Закрыта.