Apache HTTP-сервер (произносится /ə.ˈpæ.ʧi/, назван именем группы племён североамериканских индейцев апачей; кроме того, является сокращением от англ. a patchy server; среди русских пользователей общепринято искажённое апа́ч) — свободный веб-сервер. Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS. Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6.
apt-get install apache2
service apache2 reload
Здесь описывается создание самоподписанного сертификата. Более грамотный подход описан в главе: Инфраструктура открытых ключей (PKI) на OpenSSL
# Создание ключа шифрования openssl genrsa -out https_server.key 2048 # Создание сертификата openssl req \ -new -x509 -nodes -days 365 \ -subj '/CN=www.domain.ru/emailAddress=pki@domain.ru/OU=Organization unit/O=Organization/L=Russia/ST=State/C=RU' \ -key https_server.pem -out www.domain.ru.crt
cp mail.domain.ru.crt /etc/ssl/certs/ cp https_server.pem /etc/ssl/private/ chmod 0600 /etc/ssl/private/https_server.key
Включение mod_ssl
:
a2enmod ssl
В секцию соответствующего сервера нужно добавить параметры настройки SSL
.
Пример:
<IfModule mod_ssl.c> <VirtualHost www.domain.ru:443> DocumentRoot /var/www/domain.ru NameVirtualHost www.domain.ru:443 SSLEngine on SSLProtocol all -SSLv2 SSLCertificateFile /etc/ssl/certs/https_domain.ru.crt SSLCertificateKeyFile /etc/ssl/private/https_domain.ru.key </VirtualHost> </IfModule>
Для того чтобы направить все запросы с http на https нужно добавить:
Redirect / https://www.domain.ru/
Также можно сделать перенаправление для конкретного домена:
<VirtualHost> #... Redirect / https://www.domain.ru/ </VirtualHost>
Перезагрузить Apache:
service apache2 restart
Настройка на работу с LDAP
a2enmod ldap authnz_ldap service apache2 reload
При сообщениях:
AH01626: authorization result of Require all denied: denied AH01626: authorization result of <RequireAny>: denied
В файле:
<Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory>
заменить:
Require all denied
на
Require all granted
При запуске ошибка:
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP.
Решение: в файле
LoadModule mpm_event_module /usr/lib/apache2/modules/mod_mpm_event.so
заменить на
LoadModule mpm_prefork_module /usr/lib/apache2/modules/mod_mpm_prefork.so
apt install libapache2-mpm-itk
<IfModule mpm_itk_module> StartServers 1 MinSpareServers 1 MaxSpareServers 1 MaxClients 150 MaxRequestsPerChild 100 </IfModule>
Краткое руководство по борьбе с DDOS-атаками на http-сервер — Энциклопедия хостинга