Здравствуйте! Установка модуля `mod_evasive` на CentOS 9 действительно может потребовать некоторых дополнительных шагов, так как этот модуль может отсутствовать в стандартных репозиториях. Вот несколько способов установки `mod_evasive`:
### Способ 1: Установка из сторонних репозиториев (EPEL)
1. **Установите EPEL-репозиторий**:
```bash
sudo dnf install epel-release
```
2. **Установите `mod_evasive`**:
В некоторых случаях модуль может быть доступен через EPEL:
```bash
sudo dnf install mod_evasive
```
### Способ 2: Сборка модуля из исходников
Если модуль не доступен через EPEL или вы хотите установить его самой последней версии, вы можете собрать его из исходников.
1. **Установите необходимые инструменты для сборки**:
```bash
sudo dnf groupinstall "Development Tools"
sudo dnf install httpd-devel
```
2. **Скачайте исходный код `mod_evasive`**:
Перейдите на [страницу проекта](https://github.com/awilkins/mod_evasive) и скачайте последнюю версию:
```bash
wget https://github.com/awilkins/mod_evasive/archive/refs/tags/1.10.tar.gz
tar -xzvf 1.10.tar.gz
cd mod_evasive-1.10
```
3. **Соберите и установите модуль**:
```bash
apxs -i -a -c mod_evasive.c
```
Если `apxs` не установлен, его можно установить с помощью:
```bash
sudo dnf install httpd-devel
```
### Шаг 3: Настройка `mod_evasive`
1. **Создайте файл конфигурации для `mod_evasive`**:
Создайте файл, например, `/etc/httpd/conf.d/mod_evasive.conf`:
```bash
sudo nano /etc/httpd/conf.d/mod_evasive.conf
```
Добавьте в него следующую конфигурацию:
```apache
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 10
DOSSiteCount 100
DOSSiteInterval 1
DOSCartCount 2
DOSCartInterval 1
DOSSiteCount 50
DOSSiteInterval 10
DOSEmail "your_email@example.com"
DOSLogDir "/var/log/httpd"
</IfModule>
```
Не забудьте заменить `your_email@example.com` на ваш реальный адрес электронной почты.
2. **Перезагрузите Apache**:
```bash
sudo systemctl restart httpd
```
### Шаг 4: Проверка
Проверьте, что модуль установлен и работает, выполнив команду:
```bash
httpd -M | grep evasive
```
Если конфигурация была успешной, то в выводе появится `evade_module`.
### Заключение
Теперь `mod_evasive` должен быть успешно установлен и активирован на вашем сервере Apache под управлением CentOS 9. Если возникнут какие-либо ошибки или проблемы, проверьте журналы Apache на наличие сообщений об ошибках.