---
description: >-
  Apache является кроссплатформенным ПО, поддерживает операционные системы
  Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.
---

# Установка apache2

{% hint style="danger" %}
Перед установкой Apache2 нужно убедится, что не установлен nginx!

[Подробнее](https://docs.evenhost.ru/~/edit/drafts/-LICotjlGDcUj63ESGD7/ustanovka-apache2)
{% endhint %}

## Установка Apache 2:

Для установки Apache2 на VDS необходимо прописать:

```
apt-get install apache2
```

## Настройка Apache2:

Для настройки apache2 переходим по /etc/apache2/sites-available и создаем файл по оброзцу site.conf

{% code title="site.conf" %}
```
<VirtualHost *:80>
        ServerName evenhost.ru # Указать домен сайта
        ServerAdmin admin@evenhost.ru # Ваш email
        DocumentRoot /var/www/html # Путь до папки с сайтом

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
```
{% endcode %}

Включаем сайт, место site.conf должно быть названия конфига, который вы создали:

```
a2ensite site.conf
```

**Если нужно отключить сайт**, место site.conf должно быть названия конфига,**:**

```
a2dissite site.conf
```

Перезагружаем apache2:

```
service apache2 reload
```

### Подключения PHP к Apache2

Для того, что бы Apache смог корректно отображать php файлы, нужно установить пакет:&#x20;

```
apt-get install libapache2-mod-php -y
```

Перезагружаем apache2:

```
service reload apache2
```

### Включения rewrite

{% hint style="danger" %}
Без этой опции не будет работать 70% CMS для сайтов
{% endhint %}

Большинство сайтов содержат файл **.htaccess** для его работы нужно:

```
a2enmod rewrite
```

Перезагружаем apache2:

```
service reload apache2
```

### Включения SSL

{% hint style="info" %}
Подключение SSL не обязательно, осуществляется при его наличии и Вашем желание.
{% endhint %}

Нужно включить модуль, который отвечает за SSL:

```
a2enmod ssl
```

Создаем еще один конфиг в /etc/apache2/sites-available , он будет отвечать за SSL, например site-ssl.conf :

{% code title="site-ssl.conf" %}
```
<VirtualHost *:443>
        ServerName evenhost.ru # Указать домен сайта
        ServerAdmin admin@evenhost.ru # Ваш email
        DocumentRoot /var/www/html # Путь до папки с сайтом
        
        SSLEngine on
        SSLCertificateFile /path/to/your_domain_name.pem # Путь до публичного сертефеката
        SSLCertificateKeyFile /path/to/your_private.key # Путь до приватного сертефеката

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
```
{% endcode %}

Перезагружаем apache2:

```
service reload apache2
```

## Проверка на nginx

Если apache 2 поставить c nginx, то они будут конфликтовать из-за 80 порта. Так что нужно удалить один из web-server. Проверяем установлен ли nginx.&#x20;

```
service nginx status
```

{% hint style="info" %}
&#x20;Если не будет огромного сообщения с информацией, то он не установлен.
{% endhint %}

Если nginx установлен, нужно его удалить :

```
apt-get remove --purge nginx* -y
```

## Удаления Apache2

Для удаления Apache2:

```
apt-get remove --purge apache2* -y
```

