Установка и настройка Apache веб-сервера — различия между версиями

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск
(Новая страница: «= Установка и настройка Apache веб-сервера = == 1. Подготовка системы == * Войдите в систему под…»)
 
Строка 11: Строка 11:
  
 
1. Обновите список пакетов:
 
1. Обновите список пакетов:
<code>
+
<code>sudo apt update</code>
sudo apt update
 
</code>
 
  
 
2. Установите Apache веб-сервер:
 
2. Установите Apache веб-сервер:
<code>
+
<code>sudo apt install apache2</code>
sudo apt install apache2
 
</code>
 
  
 
3. Запустите и включите автозапуск Apache:
 
3. Запустите и включите автозапуск Apache:
<code>
+
<code>sudo systemctl start apache2</code>
sudo systemctl start apache2
+
<code>sudo systemctl enable apache2</code>
sudo systemctl enable apache2
 
</code>
 
  
 
=== Для CentOS/RHEL/Fedora ===
 
=== Для CentOS/RHEL/Fedora ===
  
 
1. Установите Apache:
 
1. Установите Apache:
<code>
+
<code>sudo yum install httpd</code>
sudo yum install httpd
 
</code>
 
 
# или для новых версий
 
# или для новых версий
<code>
+
<code>sudo dnf install httpd</code>
sudo dnf install httpd
 
</code>
 
  
 
2. Запустите и включите автозапуск:
 
2. Запустите и включите автозапуск:
<code>
+
<code>sudo systemctl start httpd</code>
sudo systemctl start httpd
+
<code>sudo systemctl enable httpd</code>
sudo systemctl enable httpd
 
</code>
 
  
 
== 3. Проверка установки ==
 
== 3. Проверка установки ==
Строка 53: Строка 41:
  
 
1. Создайте директорию для вашего сайта:
 
1. Создайте директорию для вашего сайта:
<code>
+
<code>sudo mkdir -p /var/www/example.com/public_html</code>
sudo mkdir -p /var/www/example.com/public_html
 
</code>
 
  
 
2. Создайте файл конфигурации виртуального хоста:
 
2. Создайте файл конфигурации виртуального хоста:
<code>
+
<code>sudo nano /etc/apache2/sites-available/example.com.conf</code>
sudo nano /etc/apache2/sites-available/example.com.conf
 
</code>
 
  
 
3. Добавьте следующую конфигурацию:
 
3. Добавьте следующую конфигурацию:
<code>
+
<code><VirtualHost *:80>
<VirtualHost *:80>
 
 
     ServerName example.com
 
     ServerName example.com
 
     ServerAlias www.example.com
 
     ServerAlias www.example.com
Строка 76: Строка 59:
 
     ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
 
     ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
 
     CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
 
     CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
+
</VirtualHost></code>
</code>
 
  
 
4. Включите виртуальный хост:
 
4. Включите виртуальный хост:
<code>
+
<code>sudo a2ensite example.com.conf</code>
sudo a2ensite example.com.conf
 
</code>
 
  
 
5. Перезапустите Apache:
 
5. Перезапустите Apache:
<code>
+
<code>sudo systemctl restart apache2</code>
sudo systemctl restart apache2
 
</code>
 
  
 
== 5. Настройка модулей Apache ==
 
== 5. Настройка модулей Apache ==
Строка 94: Строка 72:
  
 
1. Включите модуль rewrite:
 
1. Включите модуль rewrite:
<code>
+
<code>sudo a2enmod rewrite</code>
sudo a2enmod rewrite
 
</code>
 
  
 
2. Включите модуль SSL:
 
2. Включите модуль SSL:
<code>
+
<code>sudo a2enmod ssl</code>
sudo a2enmod ssl
 
</code>
 
  
 
3. Включите модуль headers:
 
3. Включите модуль headers:
<code>
+
<code>sudo a2enmod headers</code>
sudo a2enmod headers
 
</code>
 
  
 
4. Перезапустите Apache:
 
4. Перезапустите Apache:
<code>
+
<code>sudo systemctl restart apache2</code>
sudo systemctl restart apache2
 
</code>
 
  
 
== 6. Настройка файрвола ==
 
== 6. Настройка файрвола ==
Строка 118: Строка 88:
  
 
1. Разрешите HTTP и HTTPS трафик:
 
1. Разрешите HTTP и HTTPS трафик:
<code>
+
<code>sudo ufw allow 'Apache Full'</code>
sudo ufw allow 'Apache Full'
 
</code>
 
  
 
=== Для CentOS/RHEL (firewalld) ===
 
=== Для CentOS/RHEL (firewalld) ===
  
 
1. Разрешите HTTP и HTTPS:
 
1. Разрешите HTTP и HTTPS:
<code>
+
<code>sudo firewall-cmd --permanent --add-service=http</code>
sudo firewall-cmd --permanent --add-service=http
+
<code>sudo firewall-cmd --permanent --add-service=https</code>
sudo firewall-cmd --permanent --add-service=https
+
<code>sudo firewall-cmd --reload</code>
sudo firewall-cmd --reload
 
</code>
 
  
 
== 7. Управление Apache ==
 
== 7. Управление Apache ==
Строка 136: Строка 102:
  
 
* '''Запуск Apache''':
 
* '''Запуск Apache''':
<code>
+
<code>sudo systemctl start apache2</code>
sudo systemctl start apache2
 
</code>
 
  
 
* '''Остановка Apache''':
 
* '''Остановка Apache''':
<code>
+
<code>sudo systemctl stop apache2</code>
sudo systemctl stop apache2
 
</code>
 
  
 
* '''Перезапуск Apache''':
 
* '''Перезапуск Apache''':
<code>
+
<code>sudo systemctl restart apache2</code>
sudo systemctl restart apache2
 
</code>
 
  
 
* '''Перезагрузка конфигурации''':
 
* '''Перезагрузка конфигурации''':
<code>
+
<code>sudo systemctl reload apache2</code>
sudo systemctl reload apache2
 
</code>
 
  
 
* '''Проверка статуса''':
 
* '''Проверка статуса''':
<code>
+
<code>sudo systemctl status apache2</code>
sudo systemctl status apache2
 
</code>
 
  
 
* '''Проверка конфигурации''':
 
* '''Проверка конфигурации''':
<code>
+
<code>sudo apache2ctl configtest</code>
sudo apache2ctl configtest
 
</code>
 
  
 
== 8. Настройка производительности ==
 
== 8. Настройка производительности ==
Строка 170: Строка 124:
  
 
1. Отредактируйте основной файл конфигурации:
 
1. Отредактируйте основной файл конфигурации:
<code>
+
<code>sudo nano /etc/apache2/apache2.conf</code>
sudo nano /etc/apache2/apache2.conf
 
</code>
 
  
 
2. Настройте параметры производительности:
 
2. Настройте параметры производительности:
<code>
+
<code>MaxRequestWorkers 150</code>
# Максимальное количество процессов
+
<code>Timeout 300</code>
MaxRequestWorkers 150
+
<code>KeepAliveTimeout 5</code>
 
+
<code>LoadModule deflate_module modules/mod_deflate.so</code>
# Таймауты
 
Timeout 300
 
KeepAliveTimeout 5
 
 
 
# Сжатие
 
LoadModule deflate_module modules/mod_deflate.so
 
</code>
 
  
 
== 9. Мониторинг и логи ==
 
== 9. Мониторинг и логи ==
Строка 192: Строка 137:
  
 
* '''Логи ошибок''':
 
* '''Логи ошибок''':
<code>
+
<code>sudo tail -f /var/log/apache2/error.log</code>
sudo tail -f /var/log/apache2/error.log
 
</code>
 
  
 
* '''Логи доступа''':
 
* '''Логи доступа''':
<code>
+
<code>sudo tail -f /var/log/apache2/access.log</code>
sudo tail -f /var/log/apache2/access.log
 
</code>
 
  
 
* '''Все логи Apache''':
 
* '''Все логи Apache''':
<code>
+
<code>sudo tail -f /var/log/apache2/*.log</code>
sudo tail -f /var/log/apache2/*.log
 
</code>
 
  
 
== 10. Безопасность ==
 
== 10. Безопасность ==
Строка 211: Строка 150:
  
 
1. Скрыть версию Apache:
 
1. Скрыть версию Apache:
<code>
+
<code>ServerTokens Prod</code>
ServerTokens Prod
+
<code>ServerSignature Off</code>
ServerSignature Off
 
</code>
 
  
 
2. Отключить ненужные модули:
 
2. Отключить ненужные модули:
<code>
+
<code>sudo a2dismod autoindex</code>
sudo a2dismod autoindex
+
<code>sudo a2dismod status</code>
sudo a2dismod status
 
</code>
 
  
 
3. Настроить права доступа к файлам:
 
3. Настроить права доступа к файлам:
<code>
+
<code>sudo chown -R www-data:www-data /var/www/</code>
sudo chown -R www-data:www-data /var/www/
+
<code>sudo chmod -R 755 /var/www/</code>
sudo chmod -R 755 /var/www/
 
</code>
 
  
 
== Заключение ==
 
== Заключение ==

Версия 20:03, 14 октября 2025

Установка и настройка Apache веб-сервера

1. Подготовка системы

  • Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
  • Обновите систему до последней версии пакетов.

2. Установка Apache

Для Ubuntu/Debian

1. Обновите список пакетов: sudo apt update

2. Установите Apache веб-сервер: sudo apt install apache2

3. Запустите и включите автозапуск Apache: sudo systemctl start apache2 sudo systemctl enable apache2

Для CentOS/RHEL/Fedora

1. Установите Apache: sudo yum install httpd

  1. или для новых версий

sudo dnf install httpd

2. Запустите и включите автозапуск: sudo systemctl start httpd sudo systemctl enable httpd

3. Проверка установки

1. Откройте веб-браузер и перейдите по адресу http://ваш-ip-адрес или http://localhost. 2. Вы должны увидеть страницу приветствия Apache.

4. Базовая настройка Apache

Настройка виртуальных хостов

1. Создайте директорию для вашего сайта: sudo mkdir -p /var/www/example.com/public_html

2. Создайте файл конфигурации виртуального хоста: sudo nano /etc/apache2/sites-available/example.com.conf

3. Добавьте следующую конфигурацию: <VirtualHost *:80>

   ServerName example.com
   ServerAlias www.example.com
   DocumentRoot /var/www/example.com/public_html
   
   <Directory /var/www/example.com/public_html>
       AllowOverride All
       Require all granted
   </Directory>
   
   ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
   CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined

</VirtualHost>

4. Включите виртуальный хост: sudo a2ensite example.com.conf

5. Перезапустите Apache: sudo systemctl restart apache2

5. Настройка модулей Apache

Включение необходимых модулей

1. Включите модуль rewrite: sudo a2enmod rewrite

2. Включите модуль SSL: sudo a2enmod ssl

3. Включите модуль headers: sudo a2enmod headers

4. Перезапустите Apache: sudo systemctl restart apache2

6. Настройка файрвола

Для Ubuntu/Debian (ufw)

1. Разрешите HTTP и HTTPS трафик: sudo ufw allow 'Apache Full'

Для CentOS/RHEL (firewalld)

1. Разрешите HTTP и HTTPS: sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload

7. Управление Apache

Основные команды управления

  • Запуск Apache:

sudo systemctl start apache2

  • Остановка Apache:

sudo systemctl stop apache2

  • Перезапуск Apache:

sudo systemctl restart apache2

  • Перезагрузка конфигурации:

sudo systemctl reload apache2

  • Проверка статуса:

sudo systemctl status apache2

  • Проверка конфигурации:

sudo apache2ctl configtest

8. Настройка производительности

Оптимизация конфигурации

1. Отредактируйте основной файл конфигурации: sudo nano /etc/apache2/apache2.conf

2. Настройте параметры производительности: MaxRequestWorkers 150 Timeout 300 KeepAliveTimeout 5 LoadModule deflate_module modules/mod_deflate.so

9. Мониторинг и логи

Просмотр логов

  • Логи ошибок:

sudo tail -f /var/log/apache2/error.log

  • Логи доступа:

sudo tail -f /var/log/apache2/access.log

  • Все логи Apache:

sudo tail -f /var/log/apache2/*.log

10. Безопасность

Базовая настройка безопасности

1. Скрыть версию Apache: ServerTokens Prod ServerSignature Off

2. Отключить ненужные модули: sudo a2dismod autoindex sudo a2dismod status

3. Настроить права доступа к файлам: sudo chown -R www-data:www-data /var/www/ sudo chmod -R 755 /var/www/

Заключение

Apache веб-сервер успешно установлен и настроен! Теперь вы можете размещать веб-сайты и управлять их конфигурацией.

Для размещения ваших проектов на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):

Наши специалисты помогут с настройкой Apache и других компонентов вашего сервера!