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).
Тепер перейдемо до процесу налаштування сервера.
Переходимо в sFTP за адресою /etc/apache2/sites-available і створюємо файл server_name.conf (ім'я може бути будь-яким), що містить наступний текст із вашими даними:
<VirtualHost *:80>
ServerName # Указать домен сайта
ServerAdmin admin # Ваш 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 файлів встановимо спеціальний пакет:
apt-get install libapache2-mod-php -y
Перезавантажуємо Apache2:
service apache2 reload
Без цього налаштування може не працювати значна частина CMS сайтів.
Пропишемо налаштування для файлу .htaccess:
a2enmod rewrite
Перезавантажуємо Apache2:
service apache2 reload
Є не обов'язковим пунктом, що підвищує довіру до вашого сайту
Увімкнемо модуль шифрування SSL:
a2enmod ssl
Перейдемо по sFTP за адресою /etc/apache2/sites-available
і створимо новий конфіг site_name-ssl.conf
:
<VirtualHost *:443>
ServerName # Указать домен сайта
ServerAdmin admin # Ваш 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
Як бачимо, нічого складного.