Настройка MAMP для SSL
Ok дружественных кодеров, я пытаюсь настроить 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
обновите все ссылки на сертификаты на вновь созданные файлы в соответствии с приведенным выше определением VirtualHost.
Ответы
Ответ 1
Если вы используете MAMP 3 или 4, инструкции немного отличаются.
Вот что сработало для меня, начиная с новой установки MAMP 3.0.5 на Mavericks без Pro.
Обновление: все еще работает в Yosemite после исправления Apache, как описано в этом ответе.
Дальнейшее обновление: комментарии показывают, что это все еще работает, по крайней мере, через MAMP 5.4.
Создайте сертификат
Эта часть прямо из учебников, поэтому, если вы уже сделали это, вы можете перейти к разделу "Настройка MAMP".
Используйте терминал для генерации закрытого ключа в папке по умолчанию:
cd ~
# generate a private key
openssl genrsa -des3 -out server.key 2048
# make up a passphrase and remember it, youll 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 protected]
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
.
Ответ 2
Это очень трудный путь для https, здесь простой способ.
Открыть MAMP Pro.
- На вкладке "Сервер" убедитесь, что ваш HTTP-порт равен 80, а порт HTTPS - 443
- Нажмите вкладку Hosts
- Нажмите "Добавить плюс" для добавления нового хоста.
- Добавить 127.0.0.1 В качестве имени хоста
- Нажмите "Включить SSL"
- Выберите каталог Где находится ваша htdocs или папка веб-сайтов
- Нажмите вкладку SSL
- Создайте самоподписанный сертификат по кнопке ниже.
- Затем он попросит сохранить местоположение после сохранения, он выберет сертификат автоматически.
- Перезапустите сервер MAMP.
Наслаждайтесь!!!!
Введите https с localhost, после чего вы увидите результат.
Далее
Ответ 3
Я столкнулся с той же проблемой, но смог ее исправить.
Я бегу;
Mac OS 10.6.7
MAMP 1.9.4
Я только прочитал tut от webopius, который делает хорошую работу, но он что-то пропустил.
Я изменил в httpd.conf
Listen 80
не Listen 127.0.0.1:80
Я тоже забыл запустить это в терминале
cp server.key server.tmp
openssl rsa -in server.tmp -out server.key
Это удаляет пароль, необходимый для использования ключа, который, если вы не запускаете apache в терминале, тогда вы не можете ввести пароль для сертификата.
Что вы можете сделать, запустите эту команду, чтобы запустить apache для MAMP и посмотреть, не появляются ли какие-либо ошибки.
sudo /Applications/MAMP/Library/bin/apachectl start
Хорошо, подумайте, что обложки.
Ответ 4
Я также выполнил инструкции webopius, но не смог загрузить страницы SSL. Как упоминалось @djeetee, определение виртуального сервера в httpd.conf и ssl.conf проблематично. лучшее руководство Я нашел рекомендуемый вариант внесения следующих изменений в эти файлы:
- Прежде чем вы выполните эти изменения, убедитесь, что вы создали ключ/сертификат, как описано webopius, и внесли основные изменения в httpd.conf, например, комментируете инструкции SSL IfDefine.
-
Отредактируйте 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"
-
Отредактируйте 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.
Ответ 5
Также убедитесь, что вы раскомментируете эту строку в httpd.conf
# Secure (SSL/TLS) connections
Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf
В противном случае он не будет включен при запуске Apache. По какой-то причине моя была прокомментирована.
Ответ 6
Если вы используете MAMP 4, и вы все еще пытаетесь заставить ssl работать.
Вот как я начал работать.
Шаг 1: сгенерируйте сертификат (следуйте инструкциям Roberts)
Шаг 2: Убедитесь, что 'LoadModule ssl_module modules/mod_ssl.so' раскоментирован.
Шаг 3: Я использую "Слушать 81" (без кавычек) вместо 80 (я думаю, что что-то использует его, но проверяйте его на некоторых номерах портов, если вы можете или просто придерживаться 81).
Шаг 4: Сделать 'ServerName localhost: 81' (без кавычек).
Шаг 5: Uncomment 'Include/Applications/MAMP/conf/apache/extra/httpd-ssl.conf'
Шаг 6: Убедитесь, что "server.crt" и "server.key" находятся в нужном месте (это должно быть правильно, если вы следуете инструкциям Roberts)
Шаг 7: Откройте файл httpd-ssl.conf(следуйте по пути, на который указывает указатель) Измените "Слушать 443" на "Слушать *: 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 работает. Удачи.
Ps, если он все еще не работает, используйте 'sudo/Applications/MAMP/Library/bin/apachectl start' в терминале, чтобы узнать, какую ошибку вы получите.