Ответ 1
У вас есть правильная процедура, но она неполна.
После установки вы должны включить SSL в httpd.conf. и сгенерировать файл server.crt и server.key. Ниже полная процедура:
1. Загрузить Apache
cd /usr/src
wget http://www.apache.org/dist/httpd/httpd-2.4.23.tar.gz
tar xvf httpd-2.4.23.tar.gz
2. Загрузите APR и APR-Util
cd /usr/src
wget -c http://mirror.cogentco.com/pub/apache/apr/apr-1.5.2.tar.gz
wget -c http://mirror.cogentco.com/pub/apache/apr/apr-util-1.5.4.tar.gz
tar xvf apr-1.5.2.tar.gz
tar xvf apr-util-1.5.4.tar.gz
Теперь добавьте APR и APR-Util, которые вы загрузили в исходные файлы apache.
mv apr-1.5.2 /usr/src/httpd-2.4.23/srclib/apr
mv apr-util-1.5.4 /usr/src/httpd-2.4.23/srclib/apr-util
3.Compile
cd /usr/src/httpd-2.4.23
./configure --enable-so --enable-ssl --with-mpm=prefork --with-included-apr --with-included-apr-util
make
make install
Как вы можете видеть в команде ./configure
, мы указываем параметры командной строки для включения apr и apr-utils.
4. Включить SSL в httpd.conf
Конфигурационный файл Apache httpd.conf находится в каталоге /usr/local/apache 2/conf.
nano /usr/local/apache2/conf/httpd.conf
Раскомментируйте строку Include httpd-ssl.conf и строку LoadModule ssl_module
в файле /usr/local/apache 2/conf/httpd.conf:
# LoadModule ssl_module modules/mod_ssl.so
# Include conf/extra/httpd-ssl.conf
Просмотрите httpd-ssl.conf, чтобы просмотреть все конфигурации SSL по умолчанию.
Для большинства случаев вам не нужно ничего изменять в этом файле.
nano /usr/local/apache2/conf/extra/httpd-ssl.conf
Сертификат SSL и ключ необходимы, прежде чем мы начнем Apache.
Файл server.crt и server.key, указанный в httpd-ssl.conf, должен быть создан, прежде чем двигаться вперед.
cd /usr/local/apache2/conf/extra
egrep 'server.crt|server.key' httpd-ssl.conf
SSLCertificateFile "/usr/local/apache2/conf/server.crt"
SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"
5. Создайте файл server.crt и server.key
Сначала создайте server.key с помощью openssl.
cd /usr/src
openssl genrsa -des3 -out server.key 1024
Вышеприведенная команда запросит пароль. Обязательно запомните этот пароль. Вам нужно это, начиная с Apache позже.
Затем создайте файл запроса сертификата (server.csr), используя указанный выше файл server.key.
openssl req -new -key server.key -out server.csr
Наконец, сгенерируйте самоподписанный сертификат ssl (server.crt), используя вышеуказанные файлы server.key и server.csr.
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Скопируйте файл server.key и server.crt в соответствующее расположение каталога конфигурации Apache.
cp server.key /usr/local/apache2/conf/
cp server.crt /usr/local/apache2/conf/
6. Запустить Apache
/usr/local/apache2/bin/apachectl start
Если вы получаете следующее сообщение об ошибке:
AH00526: Syntax error on line 51 of /usr/local/apache2/conf/extra/httpd-ssl.conf:
Invalid command 'SSLCipherSuite', perhaps misspelled or defined by a module not included in the server configuration
Обязательно раскомментируйте строку, показанную ниже в httpd.conf:
vi /usr/local/apache2/conf/httpd.conf
# LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Наконец, это заставит вас ввести пароль для вашего закрытого ключа перед запуском apache. Убедитесь, что процесс Apache httpd запущен в фоновом режиме.
ps -ef | grep http
Вы должны увидеть что-то вроде этого:
root 29529 1 0 13:08 ? 00:00:00 /usr/local/apache2/bin/httpd -k start
antoine 29530 29529 0 13:08 ? 00:00:00 /usr/local/apache2/bin/httpd -k start
antoine 29531 29529 0 13:08 ? 00:00:00 /usr/local/apache2/bin/httpd -k start
antoine 29532 29529 0 13:08 ? 00:00:00 /usr/local/apache2/bin/httpd -k start
root 29616 18260 0 13:09 pts/0 00:00:00 grep http
По умолчанию Apache SSL работает на 443 порту. Откройте веб-браузер и убедитесь, что вы можете получить доступ к своему Apache, используя https://{your-ip-address}
Я надеюсь, что эта помощь, иначе я советую вам пойти: http://jasonpowell42.wordpress.com/2013/04/05/install-apache-2-4-4-on-centos-6-4/