Инструменты пользователя

Инструменты сайта


apache:apache

Apache

Apache HTTP-сервер (произносится /ə.ˈpæ.ʧi/, назван именем группы племён североамериканских индейцев апачей; кроме того, является сокращением от англ. a patchy server; среди русских пользователей общепринято искажённое апа́ч) — свободный веб-сервер. Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS. Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6.

http://www.apache.org/

Установка

apt-get install apache2

Перечитать настройки

service apache2 reload

Работа по HTTPS

FIXME

Создание ключей

Здесь описывается создание самоподписанного сертификата. Более грамотный подход описан в главе: Инфраструктура открытых ключей (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 нужно добавить:

/etc/apache2/sites-available/default
Redirect / https://www.domain.ru/

Также можно сделать перенаправление для конкретного домена:

/etc/apache2/sites-available/www_domain_ru
<VirtualHost>
  #...
  Redirect / https://www.domain.ru/
</VirtualHost>

Перезагрузить Apache:

service apache2 restart

Решение проблем

Ошибки доступа в Apache 2.4

При сообщениях:

/var/log/apache2/error.log
AH01626: authorization result of Require all denied: denied
AH01626: authorization result of <RequireAny>: denied

В файле:

/etc/apache2/apache2.conf
<Directory />
	Options FollowSymLinks
	AllowOverride None
	Require all denied
</Directory>

заменить:

Require all denied

на

Require all granted

Re: Point Apache2 Root Folder to Subfolder

Apache is running a threaded MPM

При запуске ошибка:

Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe.  You need to recompile PHP.

Решение: в файле

/etc/apache2/mods-available/mpm_event.load
LoadModule mpm_event_module /usr/lib/apache2/modules/mod_mpm_event.so

заменить на

LoadModule mpm_prefork_module /usr/lib/apache2/modules/mod_mpm_prefork.so

[РЕШЕНО] Apache is running a threaded MPM

Ссылки

apache/apache.txt · Последние изменения: 2019-05-10 23:12 — GreyWolf