Apache http server установка linux

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

Под веб-серверами понимают как физические машины, так и специальное программное обеспечение. С точки зрения софта, веб-сервер — это программа, которая реализует логику сервера в клиент-серверной архитектуре: принимает HTTP-запросы от клиентов и возвращает соответствующие ответы.

На рынке представлено большое количество различных веб-серверов, которые предлагают своим пользователям дополнительный функционал. В зависимости от своих потребностей пользователь может выбрать наиболее подходящее его задачам решение.

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

Что такое Apache

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 можно отнести:

  • Бесплатное ПО;
  • Кастомизация: веб-сервер на Apache можно легко подстроить под конкретные цели и задачи благодаря большому количеству дополнительных модулей и открытому коду.
  • Большое комьюнити;
  • Кроссплатформенность;
  • Хороший уровень производительности и безопасности.
  • Требовательность к ресурсам, особенно при обслуживании большого количества одновременных запросов;
  • Ограниченная многопоточность: Apache использует технологию мультипроцессинга, помещая каждое соединение в отдельный поток. Количество таких потоков ограниченно, что негативно сказывается при большом количестве запросов;
  • Сложность настройки из-за большого количества настроек.

Установка Apache

Установка Apache выполняется в несколько шагов:

Шаг 1. Обновите индексы пакетов apt

Перед установкой любого программного обеспечения на Ubuntu в первую очередь необходимо обновить индексы пакетов. Благодаря этому в репозитории будут находиться последние пакеты, доступные для установки.

Читайте также:  Linux service status codes

Для обновления индекс пакетов APT до последней версии выполните следующую команду:

Шаг 2. Установка веб-сервера Apache

Установка веб-сервера Apache на Ubuntu — это простой процесс, включающий в себя выполнение одной команды и перезагрузку системы. Чтобы установить Apache, выполните следующую команду:

После чего перезагрузите систему.

Шаг 3. Запуск и автозагрузка Apache

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

sudo systemctl start apache2

Эту команду придется выполнять каждый раз при запуске сервера. Чтобы избежать этого, добавим Apache в автозагрузку:

sudo systemctl enable apache2

Шаг 4. Проверка установки сервера Apache

Проверим статус службы Apache, чтобы убедиться в успешности установки:

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

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

UFW (Uncomplicated Firewall) — это интерфейс командной строки для iptables, который представляет собой фаервол для ОС Linux. Он предназначен для упрощения управления правилами фаервола, делая его более доступным для новичков. UFW позволяет легко настраивать правила фаервола, такие как открытие или закрытие портов, блокировка или разрешение доступа к сети и т.д.

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

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

При включенном брандмауэре вы можете обнаружить, что подключение к серверу Apache с удаленного устройства невозможно. Это связано с тем, что порты, которые использует Apache, по умолчанию закрыты. Речь идет о 80 порту (для HTTP) и 443 порту (для HTTPS). Откроем подключение к обоим портам

Давайте начнем с открытия 80 порта. Через этот порт будут проходить подключения к Apache через HTTP.

Даже если вы планируете работать только с HTTPS-соединениями, не лишним будет открыть подключения на 80 порту, чтобы вы могли перенаправлять их на HTTPS.

В первую очередь проверим, включен ли файрвол UFW:

Мы должны увидеть статус Active . Если это не так, запустите сервис ufw следующей командой:

Чтобы разрешить доступ к порту 80 с помощью UFW, мы можем использовать следующую команду в терминале:

Также если вы планируете использовать HTTPS с сервером Apache на Ubuntu, вам также необходимо открыть порт 443.

Порт 443 — это порт, через который HTTPS работает по умолчанию. Поэтому если вы посетили сайт, использующий протокол «https://», ваш веб-браузер будет использовать именно этот порт.

Вы можете разрешить этот порт с помощью этой команды:

Посещение вашего веб-сайта

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

Читайте также:  Можно ли добавить дополнительный язык ввода astra linux

Посетив страницу сервера, мы увидим только страницу по умолчанию. Это хороший показатель того, что все работает правильно.

Если планируется подключения с удаленного устройства, то в первую очередь необходимо узнать IP-адрес сервера Apache. Есть несколько способов узнать это.

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

Например, нашему тестовому серверу присвоен только локальный IP-адрес, который мы видим ниже.

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

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

Это говорит о том, что вы успешно запустили Apache на Ubuntu.

Заключение

В рамках этого материала мы рассмотрели установку Apache на Ubuntu 22.04, настройку брандмауэра и запуск сервера. При разработке сайта или веб-приложение эти шаги будут первыми на пути к готовому продукту. Если вы хотите создать свой сервер, то для этих планов вы можете арендовать облачный сервер на timeweb.cloud.

Источник

Установка Apache в Linux

img

Apache — популярный бесплатный opensource веб-сервер. Он является частью стека LAMP (Linux, Apache, MySQL, PHP), который обеспечивает большую часть Интернета. Мы уже рассказывали про его установку на Windows и сравнивали его с nginx, а сегодня расскажем про то как установить Apache на Linux.

Установка Apache в Linux

А про то как установить nginx на Linux, можно прочитать в нашей статье.

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

Установка Apache на CentOS и RHEL

Откройте окно терминала и обновите списки пакетов репозитория, введя следующее:

Теперь вы можете установить Apache с помощью команды:

httpd — это имя службы Apache в CentOS. Опция –y автоматически отвечает да на запрос подтверждения.

sudo yum –y install httpd

Установка Apache на Ubuntu и Debian

В Ubuntu и Debian пакет и служба Apache называются apache2 . Сначала также обновите инструмент управления пакетами apt .

Теперь устанавливаем Apache:

Запуск и управление веб-сервером Apache

Apache — это сервис, работающий в фоновом режиме. В Debian и Ubuntu он автоматически запустится после установки, а в CentOS его нужно запустить вручную.

Запустите службу Apache, введя следующее:

sudo systemctl start httpd

Система не возвращает вывод, если команда выполняется правильно.

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

sudo systemctl enable httpd

Чтобы проверить состояние службы Apache:

sudo systemctl status httpd

sudo systemctl status httpd

Чтобы перезагрузить Apache (перезагрузит файлы конфигурации, чтобы применить изменения):

sudo systemctl reload httpd

Чтобы перезапустить весь сервис Apache:

sudo systemctl restart httpd
sudo systemctl stop httpd

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

sudo systemctl disable httpd

Проверить веб-сервер Apache

Задача вашего программного обеспечения Apache — обслуживать веб-страницы по сети. Ваша новая установка Apache имеет тестовую страницу по умолчанию, но вы также можете создать собственную тестовую страницу.

Читайте также:  Linux забыл пароль от phpmyadmin

Проверьте тестовую страницу Apache

В окне терминала найдите IP-адрес вашей системы:

Если вы знакомы с командами ip addr show или ifconfig , вы можете использовать их вместо этого. Подробно про команду ip можно прочитать тут.

Откройте веб-браузер и введите IP-адрес, отображаемый в выводе. Система должна показать тестовую страницу HTTP-сервера Apache, как показано на скриншоте ниже:

Apache CentOS

Или так, если у вас Ubuntu:

Apache Ubuntu

Если ваша система не имеет графического интерфейса, используйте команду curl:

curl [your_system's_IP_address]:80

Примечание. В конце: 80 обозначает порт 80, стандартный порт для интернет-трафика. Обязательно напишите соответствующий IP-адрес вместо [your_system’s_IP_address].

Создать HTML-файл для тестирования

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

В окне терминала создайте новый индекс файл HTML:

echo My Apache Web Server > /var/www/html/index.html

Отредактируйте файл по своему вкусу и сохраните его.

Теперь вы можете выполнить действия, описанные в предыдущем разделе, и если ваш сервер Apache работает правильно, если он отобразит указанную пользовательскую страницу.

Настройка фаервола для Apache

Фаервол в вашей системе блокирует трафик через разные порты. Каждый порт имеет свой номер, и разные виды трафика используют разные порты. Для вашего веб-сервера вам нужно разрешить HTTP и HTTPS трафик через порты 80 и 443 .

В терминале введите следующее:

sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload

Еще раз проверьте, правильно ли настроен ваш фаервол:

sudo firewall-cmd --list-all | grep services

Вы должны увидеть http и https в списке разрешенных сервисов.

Если вы пользуйтесь UFW, то можно открыть порты HTTP ( 80 ) и HTTPS ( 443 ), включив профиль Apache Full :

sudo ufw allow 'Apache Full'

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

nft add rule inet filter input tcp dport ct state new,established counter accept

Файлы и каталоги Apache

Apache управляется путем применения директив в файлах конфигурации:

  • /etc/httpd/conf/httpd.conf — основной файл конфигурации Apache
  • /etc/httpd/ — Расположение всех файлов конфигурации
  • /etc/httpd/conf.d/ — Все конфигурационные файлы в этом каталоге включены в основной файл настроек
  • /etc/httpd/conf.modules.d/ — Расположение конфигурационных файлов модуля Apache

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

Логи Apache расположены тут:

  • /var/log/httpd/ — расположение файлов логов Apache
  • /var/log/httpd/access_log — показывает журнал систем, которые обращались к серверу
  • var/log/httpd/error_log — показывает список любых ошибок, с которыми сталкивается Apache

Назначьте каталог для хранения файлов для вашего сайта. Используйте файлы конфигурации, чтобы указать каталог, который вы выбрали. Некоторые типичные места включают в себя:

  • /home/username/my_website
  • /var/www/my_website
  • /var/www/html/my_website
  • /opt/my_website

Источник

Оцените статью
Adblock
detector