Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
linux:apache [2021/07/18 16:11] admin создано |
linux:apache [2023/01/07 04:31] (текущий) admin |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Apache ====== | ====== Apache ====== | ||
+ | |||
+ | |||
+ | ===== Общее ===== | ||
+ | |||
+ | Доступные сайты хранятся в **/ | ||
+ | Управление сайтами: | ||
+ | <code bash># {a2ensite, a2dissite} < | ||
+ | |||
+ | Для работы в моей вики почему то потребовалось ставить **модуль " | ||
+ | <code bash> | ||
+ | $ apt install libapache2-mod-phpX.X | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | <code bash> | ||
+ | < | ||
+ | ServerName zxcx.ru | ||
+ | DocumentRoot / | ||
+ | |||
+ | < | ||
+ | order deny,allow | ||
+ | allow from all | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | order allow,deny | ||
+ | deny from all | ||
+ | satisfy all | ||
+ | </ | ||
+ | |||
+ | Redirect / https:// | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | ServerName zxcx.ru | ||
+ | DocumentRoot / | ||
+ | SSLEngine on | ||
+ | SSLCertificateFile / | ||
+ | SSLCertificateKeyFile / | ||
+ | |||
+ | < | ||
+ | order deny,allow | ||
+ | allow from all | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | order allow,deny | ||
+ | deny from all | ||
+ | satisfy all | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | **Команды**\\ | ||
+ | <code bash> | ||
+ | service apache2 reload | ||
+ | apache2ctl configtest | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | === Реинсталяция вики === | ||
+ | Перенос вики на другой сайт:\\ | ||
+ | * перенес папку **/ | ||
+ | * на новом сервере поставил **certbot** и папку **/ | ||
+ | * скопировал **/ | ||
+ | * **a2enmod ssl && apt install libapache2-mod-php7.3** | ||
===== SSL ===== | ===== SSL ===== | ||
+ | |||
+ | Возможно требуется включение модуля **SSL**\\ | ||
+ | <code bash># a2enmod ssl</ | ||
+ | |||
==== Получение сертификата ==== | ==== Получение сертификата ==== | ||
- | Получение бесплатного сертификата от Let's Encrypt.\\ | + | === Настройка apache === |
При запросе, | При запросе, | ||
+ | :!: Этот момент под вопросом, | ||
Создаем общий конфигурационный файл (**/ | Создаем общий конфигурационный файл (**/ | ||
<code bash> | <code bash> | ||
- | в данном примере, | + | в данном примере, |
Проверяем корректность конфигурационного файла и ребутим если все норм: | Проверяем корректность конфигурационного файла и ребутим если все норм: | ||
Строка 19: | Строка 94: | ||
<code bash># apt install certbot</ | <code bash># apt install certbot</ | ||
- | Получение сертификата: | + | |
+ | === Получение === | ||
+ | Получение сертификата: | ||
+ | :!: При первом получении, | ||
<code bash># certbot certonly --webroot --agree-tos --email admin@my-site.ru --webroot-path / | <code bash># certbot certonly --webroot --agree-tos --email admin@my-site.ru --webroot-path / | ||
- | Создадутся 2 файла в **/ | + | Создаются 2 файла в **/ |
- | Публичный ключ будет с именем cert.pem, а приватный — privkey.pem | + | Публичный ключ будет с именем |
- | Для автопродления создаем задачу в планировщике (**crontab -e**). Уточните точный путь (**which certbot**) | + | |
- | <code bash># 0 0 * * 1,4 / | + | === Автопродление === |
+ | Для | ||
+ | <code bash># 0 0 * * 1,4 /usr/ | ||
==== Настройка сайтов ==== | ==== Настройка сайтов ==== | ||
+ | Необходимо проверить наличие модуля **ssl_module** | ||
+ | <code bash># apachectl -M | grep ssl</ | ||
+ | Команда должна вернуть **ssl_module (shared)**, если нет, тогда включаем командой **a2enmod ssl**.\\ | ||
+ | В конфиг сайта добавляем следующее: | ||
+ | <code bash>< | ||
+ | ServerName my-site.ru | ||
+ | DocumentRoot / | ||
+ | SSLEngine on | ||
+ | SSLCertificateFile / | ||
+ | SSLCertificateKeyFile / | ||
+ | </ | ||
+ | |||
+ | Проверяем корректность настроек: | ||
+ | <code bash># apachectl configtest</ | ||
- | <code bash> </ | + | Применяем новую конфигурацию |
+ | <code bash># apachectl graceful</ | ||
+ | Не забываем **разрешить 443 порт** в файерволе.\\ | ||
+ | На данном этапе сайт **уже должен быть доступен по https**.\\ | ||
- | <code bash> </ | ||
+ | === Редирект === | ||
+ | Со старого сайта (блока < | ||
+ | <code bash> | ||
+ | < | ||
+ | ServerName my-site.ru | ||
+ | DocumentRoot / | ||
+ | Redirect / https:// | ||
+ | </ | ||
- | <code bash> </ | + | <VirtualHost *:443> |
+ | ServerName my-site.ru | ||
+ | DocumentRoot / | ||
+ | SSLEngine on | ||
+ | SSLCertificateFile / | ||
+ | SSLCertificateKeyFile / | ||
+ | </ |