Привет всем. Сегодня все-таки добрался до Ooo2.4 и решил написать ещё одну заметку.
Недавно столкнулся с такой проблемой... Нужно было поставить Apache2 и настроить его, чтобы он работал с SSL.
Для начала нам нужно поставить сам apache2:
#apt-get install apache2
Далее нам нужно создать .htaccess в /var/www со следующим текстом (данная операция не позволит просмотреть каталог с php файлами если отсутствует index.* файл):
#echo "Options -Indexes" > /var/www/.htaccess
Далее создаем ключ:
#openssl genrsa -des3 -out name.key 1024
genrsa - указывает для библиотеки OpenSSL, что мы хотим сгенерировать пару ключей.
des3 - указывает, что секретный ключ должен быть зашифрован и защищен ключевой фразой (pass phrase).
Опция out указывает, где следует сохранить результаты.
Число 1024 указывает длину генерируемых ключей в битах.
Создаём сертификат
#openssl req -new -key name.key -out name.csr
Вас попросят ввести пароль, который потом будет нужен в дальнейшем при подписи создаваемого сертификата и при запуске apacha2.
На запрос: Country Name (2 letter code) [AU]:
(Выбираем RU)
На запрос: State or Province Name (full name) [Some-State]: (Вводим край или область или ... где находимся)
На запрос: Locality Name (eg, city) []: (Вводим наименование города)
На запрос: Organization Name (eg, company) [Internet Widgits Pty Ltd]: (Вводим наименование организации)
На запрос: Organizational Unit Name (eg, section) []: (Вводим наименование вашего подразделения)
На запрос: Common Name (eg, YOUR name) []: (Вводим ваше имя)
На запрос: Email Address []: (вводим ваш электронный адрес)
Далее идут расширенные опции:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
На них можно просто нажать Enter пока программа не создаст name.csr
Сформированный файл запроса подписи сертификата сохранится файле name.csr. Узнать о содержании сертификата можно узнать так - openssl req -noout -text -in name.csr. В идеале, файл запроса подписи сертификата нужно отослать в сертификационную службу для обработки. Verisign и Thawte - две наиболее известные сертификационные службы. Но можно создать само-подписанный сертификат.
Создаем сертификат с личной подписью
#openssl x509 -req -days 700 -in name.csr -signkey name.key -out name.cert
Следует скопировать файл сертификата name.cert (или тот, что возвращен вам сертификационной службой) и файл с ключами secure.home.net.key в пути SSLCertificateFile и SSLCertificateKeyFile соответственно.
Далее создаем директорию где будут храниться наши ключи и сертификаты:
#mkdir /etc/apache2/keys
Далее перемещаем в /etc/apache2/keys наши name.key, name.csr и name.cert:
#mv name.key /etc/apache2/keys && mv name.csr /etc/apache2/keys && mv name.cert /etc/apache2/keys
Далее правим файл в /etc/apache2/sites-available/default-ssl:
#nano default-ssl
Ищем и правим следующее:
< Directory / >
...
AllowOverride All
< /Directory >
< Directory /var/www >
...
AllowOverride All
...
< /Directory >
Еще ищем следующие строки и редактируем их:
SSLCertificateFile /etcl/apache2/keys/name.cert
SSLCertificateKeyFile /etc/apache2/keys/name.key
После того, как отредактировали этот файл, нам нужно будет включить наш сайт:
#a2ensite default-ssl
Выключить стандартный http:
#a2dissite default
Затем включаем модуль SSL:
#a2enmod ssl
И после всего это нам осталось перезапустить наш Apache2:
#/etc/init.d/apache restart
Зы. Все, теперь можете попробовать зайти на https://localhost. Удачи! =)
http://fearuth.blog.ru/11191075.html
Немає коментарів:
Дописати коментар