FaceHost - Статьи

Установка Apache2

База знаний
Apache2 (или Apache HTTP Server) - свободный и открытый веб-сервер, который используется для хостинга веб-сайтов. Он является одним из наиболее популярных веб-серверов в мире и может быть установлен на различных операционных системах, таких как Linux, Windows, macOS и другие.
Apache2 поддерживает множество протоколов, включая HTTP, HTTPS, FTP и другие, и может быть настроен для обработки динамических контентов, таких как PHP, Python, Perl и другие. Apache2 также имеет множество модулей и расширений, которые позволяют настраивать его для различных задач и требований.

Как установить?

Пропишем команду установки Apache2:
apt-get install apache2
Для centOS используйте команду «yum install httpd» (второе название Apache2).
Перед установкой Apache2 убедитесь, что на сервере отсутствует nginx!
Теперь перейдем к процессу настройки сервера.

Как правильно настроить Apache2

Переходим в sFTP по адресу /etc/apache2/sites-available и создаем файл server_name.conf (имя может быть любым), содержащий следующий текст с вашими данными:
<VirtualHost *:80>
        ServerName aeza.net # Указать домен сайта
        ServerAdmin admin@aeza.net # Ваш email
        DocumentRoot /var/www/html # Путь до папки с сайтом
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Для запуска сайта введите команду:
a2ensite server_name.conf //укажите имя файла вашего сайта
Для отключения сайте используйте следующую команду:
a2dissite server_name.conf //укажите имя файла вашего сайта
Для перезагрузки следующую команду:
service apache2 reload

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

Для использования php файлов установим специальный пакет:
apt-get install libapache2-mod-php -y
Перезагружаем Apache2:
service apache2 reload

Включение rewrite (перезаписи файлов)

Без этой настройки может не работать значительная часть CMS сайтов.
Пропишем настройки для файла .htaccess:
a2enmod rewrite
Перезагружаем Apache2:
service apache2 reload

Включение SSL (протокол шифрования)

Является не обязательным пунктом, повышающим доверие к вашему сайту
Включим модуль шифрования SSL:
a2enmod ssl
Перейдём по sFTP по адресу /etc/apache2/sites-available и создадим новый конфиг site_name-ssl.conf:
<VirtualHost *:443>
        ServerName aeza.net # Указать домен сайта
        ServerAdmin admin@aeza.net # Ваш 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
Как видим, ничего сложного.