Перед установкой Apache2 необходимо убедиться, что на сервере отсутствует nginx!

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

apt-get install apache2


Настройка Apache2:


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

<VirtualHost *:80>
       ServerName spacecore.pro # Указать домен сайта
       ServerAdmin [email protected] # Ваш 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 должно быть названия конфига:

a2dissite site.conf


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

service apache2 reload


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

apt-get install libapache2-mod-php -y


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

service apache2 reload


Включение rewrite:
Без этой опции не будет работать 70% CMS для сайтов.
Большинство сайтов содержат файл .htaccess для его работы необходимо прописать:

a2enmod rewrite


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

service apache2 reload


Включение SSL:
Подключение SSL не обязательно, осуществляется при его наличии и Вашем желании.
Нужно включить модуль, который отвечает за SSL:

a2enmod ssl


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

<VirtualHost *:443>
       ServerName spacecore.pro # Указать домен сайта
       ServerAdmin [email protected] # Ваш 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>


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

service apache2 reload


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

service nginx status


Если не будет видно огромного сообщения с информацией, значит он не установлен.
Если nginx установлен, нужно его удалить:

apt-get remove --purge nginx* -y


Удаление Apache2


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

apt-get remove --purge apache2* -y