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

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

Текущая версия на 10:42, 15 октября 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 и других компонентов вашего сервера!