Под веб-серверами понимают как физические машины, так и специальное программное обеспечение. С точки зрения софта, веб-сервер — это программа, которая реализует логику сервера в клиент-серверной архитектуре: принимает HTTP-запросы от клиентов и возвращает соответствующие ответы.
На рынке представлено большое количество различных веб-серверов, которые предлагают своим пользователям дополнительный функционал. В зависимости от своих потребностей пользователь может выбрать наиболее подходящее его задачам решение.
Самые распространенные веб-серверы в 2023 году — это Nginx и Apache. В этом материале мы расскажем, как установить и настроить Apache на операционной системе Ubuntu 22.04.
Apache HTTP Server или просто Apache — это бесплатный кроссплатформенный веб-сервер с открытым исходным кодом. Он был разработан в 1995 году группой разработчиков для устранения недостатков популярного на тот момент веб-сервера NCSA HTTPd.
NCSA HTTPd был одним из первых веб-серверов. Его разработали в 1993 году в NCSA, университет Иллинойса. Он распространялся бесплатно и позволял пользователям размещать в интернете первые страницы, но NCSA HTTPd имел ограниченные возможности по сравнению с современными веб-серверами и ряд других недостатков, которые по итогу вылились в появление Apache.
Через год после выхода Apache получил популярность среди хостинг-компаний и разработчиков благодаря новой функциональности и кроссплатформенности. В 2005 году порядка 70% всех серверов в сети работало на Apache. Сейчас эта цифра держится в районе 20%, а основной конкурент Apache — это Nginx.
Apache состоит из двух основных компонентов: ядра и модулей. Ядро выполняет базовые функции веб-сервера: обрабатывает конфигурационные файлы, выполняет действия, связанные с HTTP, и загружает дополнительные модули. Модули позволяют расширить базовый функционал ядра: поддержка новых языков программирования, авторизация пользователей, повышение уровня безопасности. Над ядром работает исключительно команда Apache.
В целом, к плюсам Apache можно отнести:
А к минусам:
vds
Установка Apache выполняется в несколько шагов:
Шаг 1. Обновите индексы пакетов apt
Перед установкой любого программного обеспечения на Ubuntu в первую очередь необходимо обновить индексы пакетов. Благодаря этому в репозитории будут находиться последние пакеты, доступные для установки.
Для обновления индекс пакетов APT до последней версии выполните следующую команду:
sudo apt update
Шаг 2. Установка веб-сервера Apache
Установка веб-сервера Apache на Ubuntu — это простой процесс, включающий в себя выполнение одной команды и перезагрузку системы. Чтобы установить Apache, выполните следующую команду:
sudo apt install apache2
После чего перезагрузите систему.
Шаг 3. Запуск и автозагрузка Apache
Чтобы запустить службу Apache, выполните эту команду:
sudo systemctl start apache2
Эту команду придется выполнять каждый раз при запуске сервера. Чтобы избежать этого, добавим Apache в автозагрузку:
sudo systemctl enable apache2
Шаг 4. Проверка установки сервера Apache
Проверим статус службы Apache, чтобы убедиться в успешности установки:
service apache2 status
Теперь, когда вы установили Apache на Ubuntu, необходимо разрешить внешние подключения через брандмауэр UFW.
UFW (Uncomplicated Firewall) — это интерфейс командной строки для iptables, который представляет собой фаервол для ОС Linux. Он предназначен для упрощения управления правилами фаервола, делая его более доступным для новичков. UFW позволяет легко настраивать правила фаервола, такие как открытие или закрытие портов, блокировка или разрешение доступа к сети и т.д.
UFW является простым и эффективным способом обеспечения безопасности вашего сервера или компьютера. Он может использоваться как для домашних пользователей, так и для предприятий.
Вы можете пропустить этот раздел, если на вашем сервере не запущен UFW или не установлен брандмауэр. Но это не совсем безопасно, поэтому для обеспечения безопасности вашего устройства мы рекомендуем вам использовать брандмауэр.
При включенном брандмауэре вы можете обнаружить, что подключение к серверу Apache с удаленного устройства невозможно. Это связано с тем, что порты, которые использует Apache, по умолчанию закрыты. Речь идет о 80 порту (для HTTP) и 443 порту (для HTTPS). Откроем подключение к обоим портам
Давайте начнем с открытия 80 порта. Через этот порт будут проходить подключения к Apache через HTTP.
Даже если вы планируете работать только с HTTPS-соединениями, не лишним будет открыть подключения на 80 порту, чтобы вы могли перенаправлять их на HTTPS.
В первую очередь проверим, включен ли файрвол UFW:
sudo ufw status
Мы должны увидеть статус Active
. Если это не так, запустите сервис ufw следующей командой:
sudo ufw enable
Чтобы разрешить доступ к порту 80 с помощью UFW, мы можем использовать следующую команду в терминале:
sudo ufw allow 80
Также если вы планируете использовать HTTPS с сервером Apache на Ubuntu, вам также необходимо открыть порт 443.
Порт 443 — это порт, через который HTTPS работает по умолчанию. Поэтому если вы посетили сайт, использующий протокол "https://", ваш веб-браузер будет использовать именно этот порт.
Вы можете разрешить этот порт с помощью этой команды:
sudo ufw allow 443
Теперь, когда вы установили веб-сервер Apache на Ubuntu и открыли подключения в брандмауэре, давайте попробуем зайти на него.
Посетив страницу сервера, мы увидим только страницу по умолчанию. Это хороший показатель того, что все работает правильно.
Если планируется подключения с удаленного устройства, то в первую очередь необходимо узнать IP-адрес сервера Apache. Есть несколько способов узнать это.
Самый простой способ — использовать команду hostname
с опцией -I
. Команда в качестве результата выведет список IP-адресов, назначенных вашему устройству.
hostname -I
Например, нашему тестовому серверу присвоен только локальный IP-адрес, который мы видим ниже.
192.168.0.215
По этому адресу нужно перейти в любом браузере. Если вы получаете доступ непосредственно с вашего сервера Ubuntu, вы можете использовать 127.0.0.1
или localhost
вместо этого.
После перехода по этому адресу вы должны увидеть страницу, аналогичную той, что показана на скриншоте ниже.
Это говорит о том, что вы успешно запустили Apache на Ubuntu.
Подготовили для вас выгодные тарифы на VDS/VPS
В рамках этого материала мы рассмотрели установку Apache на Ubuntu 22.04, настройку брандмауэра и запуск сервера. При разработке сайта или веб-приложение эти шаги будут первыми на пути к готовому продукту. Если вы хотите создать свой сервер, то для этих планов вы можете арендовать облачный сервер на timeweb.cloud.
Не забудьте сделать ufw allow 22/tcp ufw allow 21/tcp
А то потом не зайдете по SSH и FTP.