Другие дистрибутивы не проверял. Установку проводил на Windwos XP, но все это будет работать и на серверных осях.
1) Скачиваем дистрибутив Apache для win32 с поддержкой SSL (на текущий момент это apache_2.2.6-win32-x86-openssl-0.9.8e.msi) и запускаем установку. Скачать можно тут http://www.sai.msu.su/apache/httpd/binaries/win32/
2) На этом экране жмем Next
3) Далее соглашаемся с лицензией (иначе ни как :) )
4) Вдумчиво читаем во это :), если есть время :)
5) Заполняем поля как показано ниже (потом все это можно изменить в файле конфигурации httpd.conf)
6) Выбираем Custom (мы же умные :) )
7) Выбираем каталог для установки. Путь может быть любой, но лучше избегать пробелов в названиях папок. Далее (в других статьях) все примеры будут относительно этого пути. Так что бдите :) ПУТЬ и да пребудет с вами Сила. Омммм.....
8) Жмем Next, затем Install и пошла установка... Пару раз всплывет консолька, это удаляются временные файлы и устанавливается Apache как сервис. В трее появится значок для управления сервисом Apache.
9) Проверяем установку. Просто вводим в строке браузера localhost. И видим страничку с надписью It works! как показано на рисунке ниже.
Если такого не увидели, то повторяем шаги от 1 до 9 пока не увидим. :)
10) Правим файлик httpd.conf, который в моем случае лежит в папочке Z:\WAMPServer\Apache\conf
Добавляем туда строчку Listen 443 под строкой Listen 80, как показано на рисунке ниже.
11) Рестартуем Apache. И вводим в строке броузера http://localhost:443/ и наблюдаем в браузере надпись It works! как показано на картинке ниже. И погодите радоваться :) Это еще не SSL, это просто проверка того, что Apache слушает на 443 потру.
Если не видим, то пробуем остановить Apache и запустить его снова (иногда рестарт не помогает). Если и это не помогло, то повторяем шаги с 1 по 11 пока не увидим :)
12) Далее копируем из папочки Z:\WAMPServer\Apache\bin два файлика ssleay32.dll и libeay32.dll в каталог %systemroot%\system32. Внимание!!! Это очень важный шаг! Не пропустите его!
13) Копируем файлик openssl.cnf из каталога Z:\WAMPServer\Apache\conf в каталог Z:\WAMPServer\Apache\bin
14) Создаем сертификат для нашего сервера. Для этого заходим в каталог Z:\WAMPServer\Apache\bin (консолью или FAR-ом) и там вводим команду:
openssl req -config openssl.cnf -new -out my-server.csr
И отвечаем на все вопросы. Как показано на картинке (пароль естественно не виден, вообще вы можете ввести здесь все что угодно или просто ставить точку в ответе, тогда это поле останется пустым, единственное исключение составляет вопрос Common Name, здесь надо ввести доменное имя для которого будет использоваться сертификат, например www.vasya.ru, в нашем случае localhost):
После этого в каталоге Z:\WAMPServer\Apache\bin образуется файлик my-server.csr
Далее последовательно даем команды:
openssl rsa -in privkey.pem -out my-server.key
openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 365
openssl x509 -in my-server.cert -out my-server.der.crt -outform DER
15) Создаем каталог ssl в каталоге Z:\WAMPServer\Apache\conf и перемещаем туда файлики my-server.key и my-server.cert из каталога Z:\WAMPServer\Apache\bin
16) В файле httpd.conf находим и раскоментируем строчку
LoadModule ssl_module modules/mod_ssl.so
Далее идем в конец фала и видим там блок:
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
Приводим его к следующему виду:
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLMutex default
SSLSessionCache none</IfModule>
Далее в конце добавляем следующее:
<VirtualHost localhost:443>
SSLEngine On
SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key</VirtualHost>
В конечном итоге это должно выглядеть как на картинке ниже:
17) Останавливаем Apache если он был запущен и запускаем его из командной строки с ключом -D SSL. Для этого даем команду
Z:\WAMPServer\Apache\bin>httpd.exe -D SSL
Запускать лучше из командной строки с ключом отладки SSL, чтобы можно было увидеть ошибки.
18) В строке браузера вводим https://localhost/ (именно HTTPS) и видим следующее (это при условии что у вас IE7):
Это означает что все работает. Просто нас предупреждают, что сертификат данного узла не был выпущен доверенным центром сертификации, и это правильно, так как сертификат выпустили мы сами :). Жмем Продолжить открытие этого веб-узла и видим следующую картинку:
Итак, все работает :)! Если у вас не заработало, то вдумчиво повторяем шаги с 1 по 18 пока не заработает :)
15 комментариев:
Огромнейшее спасибо!!!!!!!! Это лучшее, что я встречал. Было бы оч хорошо, если бы ты описал как ко всему этому прикрутить subversion)))))))
Большое.
Общечеловеческое.
Спасибо.
Спасибо, огромное. Я перерыл и перечиатл кучу инфы. Но такого подробного мануала нигде не находил. Ты мне реально помог. Пожал бы руку при встрече и напоил бы пивом!
Спасибо огромное за статью.
Есть только один вопрос: Возможно ли как-то поцепить https на другой порт, не 443?
Огромное спасибо!!! На весь интернет единственная такая статья!!! СПАСИБО!!!
Спасибо что все так подробно описали! Хотела добавить для тех у кого появляется такая ошибка при запуске апач "make_sock: could not bind to address 0.0.0.0:443" или "make_sock: could not bind to address 0.0.0.0:80". Мне помогло на время запуска апач отключение skype :) И все теперь отлично работает!
Отличная статья! По ней настроил SSL для WampServer2/ Правда были кое-какие нюансы с путями к файлам, но это мелочи :)
Лене хочу сказать, что использование 80 порта скайпом можно настроить в самом скайпе. А указанную выше ошибку я исправил указав явно порты для айпишника, то есть не
Listen 80
Listen 443
а
Listen 127.0.0.1:80
Listen 127.0.0.1:443
Удачи, может кому-то и мой совет поможет ;)
Вроде бы все работает.
А как запускать не из командной строки, а из "Монитора" в режиме -D SSL ?
1) Пока не создал папку C:\openssl-1.0.2l-win64\ssl\ для openssl.cnf не удавалось сделать сертификат
2) с опцией SSLMutex default апач 2.4 у меня не стартует, решение: Mutex default
1) Пока не создал папку C:\openssl-1.0.2l-win64\ssl\ для openssl.cnf не удавалось сделать сертификат
2) с опцией SSLMutex default апач 2.4 у меня не стартует, решение: Mutex default
1) Пока не создал папку C:\openssl-1.0.2l-win64\ssl\ для openssl.cnf не удавалось сделать сертификат
2) с опцией SSLMutex default апач 2.4 у меня не стартует, решение: Mutex default
1) Пока не создал папку C:\openssl-1.0.2l-win64\ssl\ для openssl.cnf не удавалось сделать сертификат
2) с опцией SSLMutex default апач 2.4 у меня не стартует, решение: Mutex default
1) Пока не создал папку C:\openssl-1.0.2l-win64\ssl\ для openssl.cnf не удавалось сделать сертификат
2) с опцией SSLMutex default апач 2.4 у меня не стартует, решение: Mutex default
ОГРОМНОЕ СПАСИБО! Только твоя статья спасла, весь день убил, пока не наткнулся на нее =)
пожалуйста
Отправить комментарий