Раздел помощи SpaceWeb

Установка и настройка Apache на Ubuntu 22.04

09 авг, 2024

В этой статье мы рассмотрим процесс установки Apache на операционную систему Ubuntu 22.04, а также обсудим основные настройки и тестирование установленного сервера.

Что такое Apache

Apache – это широко используемый веб-сервер с открытым исходным кодом. Он выступает в качестве посредника между пользователями и веб-сайтами, обеспечивая доставку страниц по протоколу HTTP. 

Apache поддерживает различные модули для расширения своей функциональности: например, модуль для обработки динамического контента (например, PHP, Python), модули безопасности, кеширования и балансировки нагрузки.

Особенность Apache – его гибкость и настраиваемость, которая позволяет администраторам серверов регулировать параметры конфигурации, тем самым оптимизируя производительность и безопасность. Он также поддерживает виртуальные хосты, поэтому может обслуживать множество сайтов одновременно.

На протяжении многих лет Apache остается одним из самых популярных веб-серверов в мире, поддерживая миллионы сайтов и приложений в интернете. И вот почему:

Плюсы Apache:

  1. Надежность и стабильность. Apache – один из самых проверенных временем веб-серверов, известный своей надежностью и стабильной работой.
  2. Гибкость и расширяемость. Большое количество модулей позволяет легко добавлять функциональность и настраивать сервер под специфические запросы.
  3. Кроссплатформенность. Apache работает на большинстве операционных систем, включая различные версии Unix, Linux и Windows.

Минусы Apache:

  1. Производительность. Apache может уступать по скорости и эффективности обработки запросов некоторым современным веб-серверам (например, Nginx), особенно под высокой нагрузкой.
  2. Ресурсоемкость. В некоторых конфигурациях Apache может потреблять больше памяти и CPU по сравнению с другими веб-серверами.
  3. Сложность настройки. Несмотря на обилие возможностей, новичкам может быть сложно разобраться в настройках и конфигурационных файлах Apache без предварительной подготовки.

Установка Apache на Ubuntu 22.04

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

sudo apt update
sudo apt upgrade -y

Они обновят список доступных пакетов и уже установленные пакеты до последних версий.

После обновления системы можно приступать к установке Apache. Для этого выполните следующую команду:

sudo apt install apache2 -y

Она установит Apache и все необходимые зависимости.

Убедитесь, что Apache работает корректно:

sudo systemctl status apache2

В результате вы увидите примерно следующий вывод:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since ...

Если в строке «Active» сказано «active (running)», значит Apache успешно установлен.

Настройка брандмауэра 

Теперь, когда вы установили Apache на Ubuntu, важно обеспечить возможность внешних подключений через брандмауэр UFW (Uncomplicated Firewall).

UFW – это удобный интерфейс командной строки, который помогает упростить настройки и управление правилами фаервола в операционных системах на базе Linux. Он позволяет легко открывать или закрывать порты, блокировать или разрешать доступ к сети и выполнять другие важные задачи по управлению безопасностью.

UFW представляет собой простой и эффективный инструмент для обеспечения безопасности как для частных пользователей, так и для крупных предприятий. Он может значительно повысить уровень защиты сервера или компьютера.

Если на вашем сервере еще не запущен брандмауэр или не установлен UFW, рекомендуется установить и настроить его для повышения безопасности устройства.

Прежде всего, убедитесь, что UFW включен. Для этого выполните команду:

sudo ufw status

Если вывод показывает, что UFW не активен («Status: inactive»), включите его следующей командой:

sudo ufw enable

Порт 80 используется для передачи данных по протоколу HTTP. Чтобы разрешить доступ к этому порту, выполните команду:

sudo ufw allow 80

Даже если вы планируете использовать только HTTPS, открытие порта 80 полезно для перенаправления HTTP-трафика на HTTPS.

Порт 443 используется для передачи данных по протоколу HTTPS. Чтобы разрешить доступ к этому порту, выполните команду:

sudo ufw allow 443

В обоих случаях в выводе вы получите:

Rule added
Rule added (v6)

После того как вы разрешили доступ к необходимым портам, проверьте текущие правила UFW, чтобы убедиться, что они применены правильно. 

Пропишите

sudo ufw status

Вы должны увидеть примерно следующий вывод:

Status: active
To                         Action      From
--                         ------      ----
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
80 (v6)                    ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)

Тестирование веб-сервера 

Теперь, когда вы установили веб-сервер Apache на Ubuntu и открыли необходимые порты в брандмауэре, пришло время протестировать его работу.

Первым делом проверьте доступность сервера. Чтобы подключиться к нему через браузер, вам нужно узнать его IP-адрес.

Самый простой способ узнать IP-адрес сервера – использовать команду hostname с опцией -I. Она выведет список IP-адресов, которые назначены вашему устройству.

hostname -I

Вывод этой команды может выглядеть так:

10.211.55.21 

Этот адрес можно использовать для подключения к серверу с любого устройства в вашей сети. 

Если вы подключаетесь к серверу непосредственно с самой машины Ubuntu, можно использовать адрес 127.0.0.1 или localhost.

Далее откройте веб-браузер на любом устройстве в вашей сети и введите IP-адрес вашего сервера в адресную строку. Например:

http://10.211.55.21

Если вы подключаетесь с локального сервера, используйте:

Прописав адрес и перейдя по нему, вы должны увидеть стандартную страницу приветствия Apache с сообщением «It works!» – оно означает, что сервер успешно установлен.

Управление процессами Apache 

Давайте рассмотрим, как управлять веб-сервером Apache. Вы можете делать это с помощью утилиты systemctl – инструмента для управления службами в системах на базе Linux.

Остановка веб-сервера

Чтобы остановить веб-сервер Apache, используйте следующую команду:

sudo systemctl stop apache2

Она немедленно остановит работу Apache.

Запуск веб-сервера

Чтобы запустить веб-сервер Apache, используйте следующую команду:

sudo systemctl start apache2

Перезапуск веб-сервера

Иногда требуется полностью перезапустить веб-сервер для применения новых настроек или обновлений. Введите:

sudo systemctl restart apache2

Она остановит и затем снова запустит Apache.

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

Если вы вносите изменения в конфигурационные файлы Apache и хотите применить их без прерывания текущих соединений, используйте следующую команду:

sudo systemctl reload apache2

Управление автозагрузкой

По умолчанию Apache настроен на автоматический запуск при загрузке системы. Вы можете изменить это поведение по своему усмотрению.

Чтобы отключить автоматический запуск Apache при загрузке системы, введите:

sudo systemctl disable apache2

Чтобы снова добавить Apache в автозагрузку, выполните:

sudo systemctl enable apache2

Основные файлы и каталоги Apache

Для работы с веб-сервером Apache важно понимать, где находятся основные файлы конфигурации и каталоги. Они играют ключевую роль в настройке и управлении сервером.

Основные конфигурационные файлы и каталоги:

  • /etc/apache2/apache2.conf. Основной конфигурационный файл Apache. В этом файле содержатся глобальные настройки сервера, которые применяются ко всем сайтам и службам, работающим под управлением Apache.
  • /etc/apache2/sites-available/. Каталог, в котором хранятся конфигурационные файлы для всех виртуальных хостов, которые могут быть активированы на сервере. Эти файлы определяют настройки для отдельных веб-сайтов.
  • /etc/apache2/sites-enabled/. Каталог, который содержит символические ссылки на файлы из каталога sites-available, которые активированы и обслуживаются сервером Apache. Чтобы активировать сайт, необходимо создать ссылку на соответствующий файл конфигурации в этом каталоге.
  • /etc/apache2/mods-available/. Каталог, который содержит конфигурационные файлы для всех доступных модулей Apache. Они расширяют функциональность сервера.
  • /etc/apache2/mods-enabled/. Каталог, который содержит символические ссылки на файлы из каталога mods-available. Модули можно активировать или деактивировать путем создания или удаления ссылок в этом каталоге.
  • /var/www/. Основной каталог для хранения веб-контента. По умолчанию, основной документный корень Apache находится в /var/www/html, но это можно изменить в конфигурационных файлах виртуальных хостов.
  • /etc/apache2/ports.conf. Файл, содержащий настройки портов, которые слушает Apache. Обычно здесь указываются порты 80 (HTTP) и 443 (HTTPS).
  • /etc/apache2/envvars. Файл, в котором определены переменные среды для Apache. Эти переменные используются при запуске серверных процессов.
  • /etc/apache2/conf-available/ и /etc/apache2/conf-enabled/. Каталоги для хранения дополнительных конфигурационных файлов и символических ссылок на них. Они могут содержать дополнительные настройки, которые не относятся к конкретным виртуальным хостам или модулям.

Логи:

  • /var/log/apache2/access.log. Журнал доступа, в который записываются все запросы к серверу. Этот файл полезен для мониторинга трафика и анализа посетителей сайта.
  • /var/log/apache2/error.log. Журнал ошибок, в который записываются все ошибки, возникшие при работе Apache. Этот файл важен для выявления и устранения проблем с сервером.

Заключение

Установка и настройка Apache на Ubuntu 22.04 – это важный шаг для создания надежного и функционального веб-сервера. С помощью нашего руководства вы сможете установить Apache, настроить брандмауэр, протестировать работу сервера и управлять им утилитой systemctl.