Настройка MAMP для SSL - PullRequest
       40

Настройка MAMP для SSL

34 голосов
/ 12 июня 2011

Хорошо, коллеги, я пытаюсь настроить MAMP с SSL на моем Mac для разработки.Я прочитал и попробовал следующие инструкции:
http://www.emersonlackey.com/article/mamp-with-ssl-https http://www.webopius.com/content/355/getting-mamp-working-with-ssl-on-os-x

без удачи.Я могу нажать либо 127.0.0.1, либо localhost с http, но оба https://localhost и https://127.0.0.1 вернут ошибку хоста не найдена.

глядя на phpinfo, я не вижу загружаемого mod_ssl.

кто-нибудь делал это с os x 10.6.7?Я понятия не имею, куда идти отсюда.

надеюсь, что кто-то может помочь.

спасибо

------ начало редактирования ------

Ниже приведены изменения, которые ясделали, чтобы файлы конфигурации заработали https.Следуйте приведенным выше правилам, чтобы получить созданный сертификат / ключ и удалить пароль (как также указано @ dallas ниже ).

httpd.conf

Закомментируйте ifdef, чтобы убедиться, что LoadModule выполнен

#<IfDefine SSL>
    LoadModule ssl_module modules/mod_ssl.so
#</IfDefine>

, убедитесь, что в файле есть следующее ...

Listen 80
ServerName localhost:80

ssl.conf

Добавьте следующее ....

<VirtualHost localhost:443>
    DocumentRoot /Users/myname/Documents/DevProjects/WebdevProjects
    ServerName localhost
    SSLEngine on
    SSLCertificateFile /Applications/MAMP/conf/ssl/server.crt
    SSLCertificateKeyFile /Applications/MAMP/conf/ssl/server.key
</VirtualHost>

до того, как существующие

<VirtualHost _default_:443>

server.crt и server.key будут вновь созданы согласноссылки вышеупомянутых ссылок.

Комментарий

#<IfDefine SSL> 

вокруг строки 35 и закрывающий тег вокруг строки 245 для включения строки ...

Listen 443

inобновите все ссылки на сертификаты для вновь созданных файлов в соответствии с приведенным выше определением VirtualHost.

Ответы [ 6 ]

38 голосов
/ 24 августа 2014

Если вы используете MAMP 3 или 4 , инструкции немного отличаются.Вот что сработало для меня, начиная с новой установки MAMP 3.0.5 на Mavericks без Pro.

Обновление: все еще работает на Yosemite после исправления Apache, как описано в этот ответ .

Дальнейшее обновление: комментарии показывают, что это все еще работает, по крайней мере, через MAMP 4.2.1 .

Создание сертификата

Эта частьпрямо из учебников, поэтому, если вы уже сделали это, вы можете перейти к «Настройка MAMP».

Используйте терминал для генерации закрытого ключа в папке по умолчанию:

cd ~
# generate a private key
openssl genrsa -des3 -out server.key 2048
# make up a passphrase and remember it, you’ll need it 3 more times.

# generate certificate signing request
openssl req -new -key server.key -out server.csr
# same password
# answer the questions, use "localhost" for your Common Name
Country Name: US
State Name: California
Locality: My City
Organization: My Company
Organization Unit Name: # leave blank
Common Name: localhost
Email address: email@example.com
A challenge password: # leave blank
An optional company name: # leave blank

# generate the certificate from the CSR for 5 years
openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt

# remove the password requirement from the server key
cp server.key server.tmp
openssl rsa -in server.tmp -out server.key

Настроить MAMP 3.0.5

Вот где инструкции из предыдущих версий немного не подходят.Изменены имена файлов и расположение, а некоторые команды в файлах conf отличаются.Вот что сработало для меня при новой установке MAMP 3.0.5.

Переместите файлы сертификатов (server.key и server.crt) в:

/ Applications /MAMP / conf / apache /

Открыть файл Apache httpd.conf:

/ Applications / MAMP / conf / apache / httpd.conf

# set your listen port to 80 (near the top of the file)
Listen 80

# set your ServerName to localhost:80 (default is 8888)
ServerName localhost:80

# uncomment the line that includes the secure (SSL/TLS) connection conf
Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf

Сохраните его и закройте.Теперь откройте файл Apache ssl conf:

/ Applications / MAMP / conf / apache / extra / httpd-ssl.conf

Найдите запись <VirtualHost> (большой блокв конце файла, начинающегося с <VirtualHost _default_:443> и заканчивающегося </VirtualHost>), и замените все это на:

<VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile /Applications/MAMP/conf/apache/server.crt
        SSLCertificateKeyFile /Applications/MAMP/conf/apache/server.key
</VirtualHost>

Сохраните и закройте.Запустите свой сервер MAMP.Вы должны иметь доступ к корневому каталогу документа по http://localhost и https://localhost.

.
25 голосов
/ 15 мая 2012

Это очень сложный способ для https. Здесь простой способ.

Откройте MAMP Pro.

  1. На вкладке «Сервер» убедитесь, что ваш порт HTTP равен 80, а порт HTTPS - 443 * 1006.*
  2. Щелкните вкладку Hosts
  3. Нажмите кнопку со стрелкой «плюс», чтобы добавить новый хост.
  4. Добавить 127.0.0.1 в качестве имени хоста
  5. Нажмите SSL Enable
  6. Выберите каталог Где находится ваша папка htdocs или веб-сайтов
  7. Нажмите на вкладку SSL
  8. Создайте самоподписанный сертификат с помощью кнопки ниже.
  9. Затем он запросит место сохранения после сохранения.выберите сертификат автоматически.
  10. Перезагрузите сервер MAMP.

Наслаждайтесь !!!!

Введите: https с localhost, тогда вы сможете увидеть результат.

Далее

2 голосов
/ 17 июня 2011

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

Я бегу;Mac OS 10.6.7 MAMP 1.9.4

Я только что прочитал материал из webopius, который хорошо работает, но что-то упустил.

Я изменил в httpd.conf

Listen 80 не Listen 127.0.0.1:80

Я также забыл запустить это в терминале <br>cp server.key server.tmp<br> openssl rsa -in server.tmp -out server.key

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

Что вы можете сделать, запустите эту команду, чтобы запустить apache для MAMP и посмотреть, появляются ли какие-либо ошибки.

sudo /Applications/MAMP/Library/bin/apachectl start

Ладно, думаю, это об этом говорит.

1 голос
/ 08 августа 2017

Если вы используете MAMP 4 и по-прежнему боретесь за работу ssl.

Вот как у меня это получилось.

Шаг 1. Сгенерируйте сертификат (следуйте инструкциям Робертса)

Шаг 2. Убедитесь, что 'LoadModule ssl_module modules / mod_ssl.so' не закомментировано.

Шаг 3: Я использую «Слушать 81» (без кавычек) вместо 80 (я думаю, что-то использует это, но протестируйте его на некоторых номерах портов, если можете, или просто придерживайтесь 81).

Шаг 4. Создайте 'ServerName localhost: 81' (без кавычек).

Шаг 5. Раскомментируйте 'Включить /Applications/MAMP/conf/apache/extra/httpd-ssl.conf'

Шаг 6: Убедитесь, что 'server.crt' и 'server.key' находятся в нужном месте (это должно быть правильно, если вы следуете указаниям Робертса)

Шаг 7: Откройте файл httpd-ssl.conf (следуйте по пути, на который указывает включаемый файл) Измените «Listen 443» на «Listen *: 443»

Шаг 8: найдите <VirtualHost _default_:443> измените его на <VirtualHost *:443>

Шаг 9: Вы можете сделать это двумя способами, вы можете указать «DocumentRoot» на папку вашего проекта / веб-сайта или вы можете просто закомментировать «DocumentRoot» (я решил прокомментировать его ).

Шаг 10. Измените «ServerName www.example.com:443» на «localhost: 443»

Шаг 11: Необязательно: путь к каталогу может быть неправильным, потому что 'cgi-bin' на самом деле находится в папке MAMP, а не в библиотеке, однако я оставил это в покое, и мне кажется, что он работает нормально.

Выйдите из MAMP, снова откройте его и запустите сервер. Вы должны иметь доступ к http://localhost:81 и получить доступ к сайту ssl https://localhost:443.

Надеюсь, мои инструкции были ясны и ваш MAMP работает. Удачи

P.s, если это все еще не работает, используйте 'sudo / Applications / MAMP / Library / bin / apachectl start' в терминале, чтобы увидеть, какую ошибку вы получаете.

1 голос
/ 17 февраля 2014

Также убедитесь, что вы раскомментировали эту строку в httpd.conf

# Secure (SSL/TLS) connections
Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf

В противном случае она не будет включена при запуске Apache.Мой почему-то был закомментирован.

1 голос
/ 30 апреля 2012

Я также следовал инструкциям webopius, но не мог загрузить страницы SSL.Как уже упоминалось @djeetee, определение виртуального сервера в httpd.conf и ssl.conf проблематично. лучшее руководство Я нашел рекомендованным сделать следующие изменения в этих файлах:

  1. Прежде чем вносить эти изменения, убедитесь, что вы сгенерировали ключ / сертификат, как подробно описано в webopius ивнес основные изменения в httpd.conf, например, закомментировал операторы SSL IfDefine.
  2. Отредактировал ssl.conf, удалив существующее объявление VirtualHost (около 160 строк, до конца файла)и заменив его чем-то простым:

    <VirtualHost *:443>
      SSLEngine on
      SSLCertificateFile /Applications/MAMP/conf/ssl/server.crt
      SSLCertificateKeyFile /Applications/MAMP/conf/ssl/server.key
    </VirtualHost>
    

    В моем случае я включал SSL только для определенного VirtualHost;Мне пришлось добавить DocumentRoot в определение, чтобы оно работало:

    DocumentRoot "/Applications/MAMP/htdocs/subfolder"
    
  3. Снова отредактируйте httpd.conf, настроив VirtualHosts немного по-другому, чем по умолчанию.

    NameVirtualHost *:80
    NameVirtualHost *:443
    <VirtualHost *:80>
      DocumentRoot "/Applications/MAMP/htdocs"
      ServerName localhost:80
    </VirtualHost>
    

    Опять же, в моем случае у меня был дополнительный VirtualHost, где происходило мое действие SSL:

    <VirtualHost *>
      DocumentRoot "/Applications/MAMP/htdocs/subfolder"
      ServerName dev.subfolder.localhost
    </VirtualHost>
    

Снова, проверьте Mr.Блог Lackey для более подробных инструкций, которые проведут вас через весь процесс;это было то, что я сделал, чтобы спасти мою установку после использования Webopius.

...