# Установка Apache2

<figure><img src="/files/bOhejJVO9G3YZbbcNY0b" alt=""><figcaption></figcaption></figure>

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

## Установка Apache2: <a href="#ustanovka-apache2" id="ustanovka-apache2"></a>

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

```
apt-get install apache2
```

## Настройка Apache2: <a href="#nastroika-apache2" id="nastroika-apache2"></a>

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

```
<VirtualHost *:80>
        ServerName qwins.co # Указать домен сайта
        ServerAdmin admin@qwins.co # Ваш email
        DocumentRoot /var/www/html # Путь до папки с сайтом

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

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

```
a2ensite site.conf
```

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

```
a2dissite site.conf
```

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

```
service apache2 reload
```

#### Подключение PHP к Apache2: <a href="#podklyuchenie-php-k-apache2" id="podklyuchenie-php-k-apache2"></a>

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

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

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

```
service apache2 reload
```

## Включение rewrite: <a href="#vklyuchenie-rewrite" id="vklyuchenie-rewrite"></a>

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

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

```
a2enmod rewrite
```

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

```
service apache2 reload
```

## Включение SSL: <a href="#vklyuchenie-ssl" id="vklyuchenie-ssl"></a>

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

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

```
a2enmod ssl
```

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

{% tabs %}
{% tab title="site-ssl.conf" %}

```
<VirtualHost *:443>
        ServerName qwins.co # Указать домен сайта
        ServerAdmin admin@qwins.co # Ваш 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>
```

{% endtab %}

{% tab title="Second Tab" %}

{% endtab %}
{% endtabs %}

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

```
service apache2 reload
```

## Проверка на nginx: <a href="#proverka-na-nginx" id="proverka-na-nginx"></a>

Если **apache2** поставить c nginx, то они будут конфликтовать из-за порта - 80. Так что необходимо удалить один из **web-server**. Проверяем установлен ли nginx:

```
service nginx status
```

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

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

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

## Удаление Apache2 <a href="#udalenie-apache2" id="udalenie-apache2"></a>

Для удаления **Apache2** используйте:

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.qwins.co/veb-razrabotka/ustanovka-apache2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
