MAMP и несколько доменов на Mac OS

Есть такая отличная штука как MAMP, это набор программ (Mac, Apache, MySQL, PHP) который позволяет за 5-10 минут установить на компьютер под управлением Mac OS необходимые программы для PHP-разработчика. После чего комьютер готов для установки любой PHP CMS на Mac OS, к примеру отлично устанавливаются — Joomla, phpBB, DLE, WordPress и т.д. Кстати, MAMP это прямой аналог Denwer под Windows, идеалогия таже самая, поэтому если вы работали с Denwer, то и с MAMP будете чувстовать себя как дома.

Но как правило, спустя непродолжительное время, появляется необходимость создания нескольких доменов для удобства работы с установленными CMS на локальном компьютере. Эта задача решается созданием виртуальных хостов VirtualHost в Apache. Но в случаи c MAMP есть пара ньансов которые необходимо учесть при настройки.

1. Необходимо отредактировать локальный файл DNS имен /etc/hosts, например редактом vim:

sudo vim /etc/hosts

Далее добавляем в конец файла список локальных доменов, я добавил только один — joomla254.local:

127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
192.168.100.254 controller.mobile.lan
# Block Adobe Activation
127.0.0.1 activate.adobe.com
127.0.0.1 practivate.adobe.com
127.0.0.1 ereg.adobe.com
127.0.0.1 activate.wip3.adobe.com
127.0.0.1 wip3.adobe.com
127.0.0.1 3dns-3.adobe.com
127.0.0.1 3dns-2.adobe.com
127.0.0.1 adobe-dns.adobe.com
127.0.0.1 adobe-dns-2.adobe.com
127.0.0.1 adobe-dns-3.adobe.com
127.0.0.1 ereg.wip3.adobe.com
127.0.0.1 activate-sea.adobe.com
127.0.0.1 wwis-dubc1-vip60.adobe.com
127.0.0.1 activate-sjc0.adobe.com
127.0.0.1 hl2rcv.adobe.com
127.0.0.1 joomla254.local

2. Теперь надо настроить web-сервер, для чего редактируем /Applications/MAMP/conf/apache/httpd.conf, вот пример моей конфигурации:

NameVirtualHost *
 
<VirtualHost *:8888>
        ServerName localhost
 
        ServerAdmin poluxster@gmail.com
 
        DocumentRoot "/Users/shagimuratov/htdocs"
        ErrorLog /Applications/MAMP/logs/localhost.local_error_log
 
        <Directory "/Users/shagimuratov/htdocs">
                Options Indexes FollowSymLinks
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
 
</VirtualHost>
 
<VirtualHost *:8888>
        ServerName joomla254.local
 
        ServerAdmin poluxster@gmail.com
 
        DocumentRoot "/Users/shagimuratov/htdocs.base/joomla254"
        ErrorLog /Applications/MAMP/logs/joomla254.local_error_log
 
        <Directory "/Users/shagimuratov/htdocs.base/joomla254">
                Options Indexes FollowSymLinks
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
 
</VirtualHost>

В этих настройках кроется второй ньанс — запускать виртуальные хосты нада на порту tcp/8888, а так же обязательно должен присутствовать виртуальный хост для домена localhost дабы работала панель управления MAMP, phpMyAdmin и другие инструменты из дистрибутива MAMP. Других изменений httpd.conf не требует.

Исправив указанные файлы перезапускаем MAMP, я для этого использую соответствующий виджет в LaunchPad, смотрите скриншот.

Виджет MAMP в Mac OS

И проверяем результат в броузере, к примеру сделав запрос на вновь добавленный виртуальных хост http://joomla254.local.

Виртуалхост для Joomla на MAMP

Вот и все, Mac OS готов к работе с несколькими доменами!

MAMP и несколько доменов на Mac OS: 18 комментариев

  1. Григорий

    Честно сказать, установил, все работает, но вот правильно апач прописать…. руки не оттуда растут. Напиши подробнее плиз!!! Переход на МАС для меня как удар монтировкой по почкам….

  2. Denis Shagimuratov Автор записи

    Григорий, уточните что не работает в Апаче? Не удается настроить виртуальный хост или есть другие ошибки? Было бы не плохо увидеть ошибки из /Applications/MAMP/logs/apache_error_log

  3. Пётр

    Григорий, а как подключить теперь сайт с локальной машины к внешнему IP адресу? Чтобы было его видно извне.

  4. Владимир

    Денис, я перешел на mac и перенес свой локальный сайт с денвера в mammp. При этом понял настройки конфига, заменив пароли к базе данных. сайт скинул в папку mamp/htdocs/мой сайт.ru/. При заходе по адресу localhost:8888/мой сайт.ru открывается главная страница. при переходе на любые вложения (страницы) браузер отвечает отказам, ругаясь, что такой страницы нет на этом сервере. Подскажите, где собака порылась?

    1. Denis Shagimuratov Автор записи

      Владимир, причин может быть несколько, я бы на вашем месте проверил:
      — .htaccess, настройки mod_rewrite в этом файле.
      — /Applications/MAMP/conf/apache/httpd.conf, опять же настройки mod_rewrite.
      — логи веб-сервера /Applications/MAMP/logs/apache_error_log.

      1. Владимир

        Да, спасибо, разобрался. Не перенес файл .htaccess. Мак ось его просто не видела. Изменил расширение на txt, при этом поменяв настройки переадресcации url

  5. Сергей

    Здравствуйте Денис.
    Не получается!
    Помогите пожалуйста.
    Установил последний MAMP PRO
    Сделал host аккаунт server.ws.dp.ua
    Локально он имеет ссылку http://server.ws.dp.ua:8888
    В host уже была запись сделана автоматически MAMPom но я добавил по вашей инструкции:
    ##
    # Host Database
    #
    # localhost is used to configure the loopback interface
    # when the system is booting. Do not change this entry.
    ##
    127.0.0.1 localhost
    255.255.255.255 broadcasthost
    ::1 localhost
    fe80::1%lo0 localhost
    127.0.0.1 lmlicenses.wip4.adobe.com
    127.0.0.1 lm.licenses.adobe.com
    127.0.0.1 server.ws.dp.ua.local
    192.168.0.100 server.ws.dp.ua # MAMP PRO — Do NOT remove this entry!

    В httpd.conf добавил запись:

    ServerName server.ws.dp.ua.local

    ServerAdmin

    DocumentRoot «/Users/webspace/htdocs.base/server.ws.dp.ua»
    ErrorLog /Applications/MAMP/logs/server.ws.dp.ua.local_error_log

    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all

    Хотя не смог найти такой дириктории как у вас:
    /Users/shagimuratov/htdocs.base/joomla254
    Поэтому просто вписал своего пользователя и имя аккаунта:
    /Users/webspace/htdocs.base/server.ws.dp.ua

    Поддомен server.ws.dp.ua есть, он работает но не направляется на нужный мне аккаунт.
    Что я сделал не так, или что я не сделал?
    Помогите пожалуйста.

    1. Denis Shagimuratov Автор записи

      IP адрес 192.168.0.100 активен? Т.е. его можно пропинговать? Например так,

      ping 192.168.0.100

      С директориями поступили правильно, «joomla254» это директория и хостнейм моего проекта, у вас соответственно название может быть совершенно иным.

  6. Сергей

    Запрос Ping выполняется…

    PING 192.168.0.100 (192.168.0.100): 56 data bytes
    64 bytes from 192.168.0.100: icmp_seq=0 ttl=64 time=0.080 ms
    64 bytes from 192.168.0.100: icmp_seq=1 ttl=64 time=0.087 ms
    64 bytes from 192.168.0.100: icmp_seq=2 ttl=64 time=0.091 ms
    64 bytes from 192.168.0.100: icmp_seq=3 ttl=64 time=0.091 ms
    64 bytes from 192.168.0.100: icmp_seq=4 ttl=64 time=0.085 ms

    1. Denis Shagimuratov Автор записи

      По идее должно работать. Хотя может быть у вас firewall включен для обращений на 192.168.0.100?

      Не пробовали server.ws.dp.ua.local перенести на 127.0.0.1?

      И кстати, а что показывает команда?
      ping server.ws.dp.ua.local?

  7. Сергей

    Пожалуйста, можете на email ваш skype прислать? Очень нужна оперативная ваша помощь. Не могу нигде найти адекватную информацию по данной теме и поддержку.
    Помогите.

    1. Denis Shagimuratov Автор записи

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

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

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

WordPress спам заблокировано CleanTalk.