Что такое Apache сервер, как установить, настроить и запустить апаче
В этой статье мы простым языком объясним, что такое apache сервер, как правильно его настроить и использовать. На сегодняшний день это один из самых востребованных видов программного обеспечения, которое отвечает за отображение информации на сайте. Поэтому с ним сталкивается каждый веб-разработчик.
Что такое Apache и зачем он нужен
Apache часто называют веб сервером. Но корректнее назвать его программным обеспечением для развертывания веб сервера.
Этот продукт создавался в качестве усовершенствованной модификации другого HTTP-клиента. Разработчики вносили в него доработки и улучшения. Их называют патчи, что в переводе означает «заплатки». Эти части кода автоматически устраняют недочёты общего кода. Когда их объединили, появился новый, уникальный IT-продукт с модульной структурой.
Чтобы понять, для чего нужен apache, вспомним, как протекает процесс открытия сайта.
Человек пишет запрос, адрес сайта. Чтобы предоставить нужную информацию, в том числе изображение, текст, формы и другие элементы, браузеру нужно связаться с сервером. В этом ему помогает веб сервер, обрабатывая расположенные на ресурсе файлы. Его задача – найти нужные и направить их браузеру. Когда браузер их получит, он может продемонстрировать контент пользователю.
Веб-сервер способен обрабатывать несколько запросов параллельно, так что не возникает проблем, если файлы написаны на разных языках программирования. В процессе обработки они всё равно трансформируются в HTML-код, в котором их в итоге получает браузер.
Условно можно выделить 4 ключевые задачи из тех, что делает apache.
- Способствует повышению скорости открывания динамических PHP-страниц.
- Распределяет нагрузку на сервер.
- Повышает отказоустойчивость сервера.
- Помогает настроить сервер при запуске PHP-скриптов.
Архитектура Apache
Apache состоит из ядра и модулей, а его параметры можно изменить, корректируя конфигурационные файлы.
Ядро нужно, чтобы обрабатывать конфигурационные файлы, протокол HTTP/HTTPS и загружать модули. Оно способно функционировать само по себе, без подключения модулей, однако в этом случае функционал будет сильно ограничен.
Как можно расширить функционал веб сервера? Подключить к ядру модули. Это дополнительные файлы, отвечающие за конкретные аспекты обработки запросов. Например, поддержку какого-либо языка программирования, безопасность данных, кэширование и другие функции. То есть общая задача делится на мелкие процессы, и за каждый из них отвечает конкретный модуль.
Модули бывают двух основных видов.
- Статические прикрепляют к ядру ещё до загрузки. По сути, пользователь просто выбирает подходящую версию сборки.
- Динамические можно добавлять позже, в процессе загрузки. Для этого предусмотрен особый встроенный модуль mod_so.
Для апаче уже созданы сотни модулей. А некоторые приложения сразу пишутся в виде модулей для удобного использования.
Конфигурация Apache
Система конфигурации Apache базируется на содержащих настройки текстовых файлах и состоит из трёх уровне.
- Конфигурация сервера – файл httpd.conf. Это главный конфигурационный файл, охватывающий полностью механизм веб-сервера.
- Каталог – файл .htaccess. Это второстепенный конфигурационный файл, так как его директивы действуют исключительно в каталоге, где файл находится, а также его подкаталогах.
- Виртуальный хоста – файл httpd.conf> или extra/httpd-vhosts.conf. Действуют только в конкретном каталоге и его подкаталогах.
Если интересуетесь, как настроить apache, то ищите нужные файлы в папке «conf» и вложенной в неё папке «extra». Редактирование осуществляется в самом файле или командной строке.
Плюсы и минусы Apache
Веб сервер апаче функционирует на базе технологии мультипроцессинга, отсюда вытекают его сильные и слабые стороны.
Любое соединение с сервером образует индивидуальный поток.
Возвращаясь к Apache, второе соединение невозможно до тех пор, пока первое не будет завершено.
Такой подход имеет один серьёзный недостаток – повышенную вероятность перегрузки. Число потоков не бесконечно. И когда пользователей становится много, работоспособность программного обеспечения снижается.
Кроме того, доступность системы становится её недостатком. Ведь злоумышленники тоже могут создать свой модуль или прошить в нём вредоносный код, вирусы. Чтобы избежать проблем, важно внимательно выбирать модули, которые планируете использовать. Ставьте их только в том случае, если уверены в разработчиках и доверяете им.
Иногда лишних модулей слишком много. Для быстрой и удобной работы их приходится отключать вручную.
Зато у него много достоинств.
- Бесплатное использование, в том числе для коммерческих целей.
- Открытый исходный код, благодаря которому он легко адаптируется под индивидуальные требования пользователей.
- Совместимость с различным серверным программным обеспечением за счёт поддержки множества языков программирования.
- Простая и удобная настройка apache с возможностью масштабирования.
- Совместимость с разнообразными CMS.
- Поддержка технологий FastCGI и CGI.
- Возможность применения СУБД для аутентификации пользователей.
- Обширная база знаний. Так как работа над данным IT продуктом началась ещё в 1998 году, за время его существования было создано огромное количество инструкций под самые разнообразные ситуации.
Альтернативы Apache
Исходя из плюсов и минусов Apache, можно сделать вывод, что при повышенных нагрузках на сервер он вызывает торможение. Когда он только появился, был уникальным и функциональным продуктом.
- Nginx. Прекрасный вариант для отображения статичного контента. Может использоваться как HTTP и обратный прокси-сервер, почтовый прокси-сервер.
- XAMPP. Удобный бесплатный дистрибутив Apache, в котором содержатся MariaDB, PHP и Perl.
- Lighttpd. Веб сервер создавался специально для использования в проектах, требовательных к скорости передачи данных.
- Caddy. Расширяемый кроссплатформенный веб-сервер с открытым исходным кодом.
- Tomcat. Контейнер сервлетов для обработки спецификации Java.
- Microsoft IIS. Набор сервисов с целью глубокой интеграции и поддержки продуктов Microsoft.
- Apache kafka – стриминговая платформа для хранения, обработки и доставки большого объёма данных в реальном времени.
На самом деле список очень длинный. При желании можно подобрать оптимальное решение для конкретной задачи.
Как установить apache
Установка apache возможна на операционной системе windows и linux. Инструкция несложная.
Скачайте последнюю версию дистрибутива. Откройте файл, примите лицензионное соглашение. Затем в открывшейся форме заполните все поля с указанием действующего адреса электронной почты.
В следующем окне нужно выбрать пункт «Custom» и нажать «далее».
Создайте и выберете соответствующую папку для установки. Нажмите «Install», а после завершения процесса «Finish».
Как запустить apache
На нижней панели управления появится иконка веб сервера.
Если кликнуть по нему правой кнопкой мыши, откроется доступ к системным службам. Это и есть ответ на вопрос, как включить apache. Всё очень просто.
Как повысить производительность apache
Чтобы обслуживать много сайтов параллельно, каждому виртуальному хосту требуется своя конфигурация.
В Ubuntu они расположены в каталоге /etc/apache2/sites-available внутри файла 000-default.conf.
В первой строке указана директива с параметром 80. Это используемые IP-адрес и порт.
В строчке №3 «ServerAdmin» нужно указать актуальный e-mail. В строчке №4 «DocumentRoot» содержится доступ к файловой системе, корневой каталог. Важно проконтролировать, чтобы он не заканчивался символом «/». В строке №8 «VirtualHost» указан файл, где сохраняются ошибки apache. В строке №9 «CustomLog» применяется для регистрации запросов.
Чтобы добавить ещё один виртуальный хост, необходимр создать каталог, для использования в качестве document root, а также базовую страницу – именно её увидит пользователь, когда откроет сайт.
Файлы виртуальных хостов хранятся в каталоге /etc/apache2/sites-available.
В минимальной конфигурации появится ещё одна директива «ServerName», определяющая виртуальный хост. Файл нужно сохранить как example.conf.
Затем введите команду «a2ensite» для формирования символической ссылки в каталог. Перезагрузите конфигурацию сервера.
Как проверить apache
Важно добавить запись в файл /etc/hosts того устройства, с которого выполняется связь с сайтом.
$ sudo echo “192.168.122.241 www.example.local” >> /etc/hosts
Так вы связываете адрес сервера с названием виртуального хоста. Указание IP-сервера напрямую ссылался бы на виртуальный хост по умолчанию. Теперь, если зайти с клиентского компьютера на указанный адрес, откроется страничка, которую настраивали ранее.
Заключение
Apache – практичное решение для быстрого запуска сайтов. Он совместим с внушительным списком IT продуктов и языков программирования, за счёт чего имеет гибкие возможности для расширения функционала.
И хотя у продукта хорошая техподдержка и к нему прилагается большое количество инструкций, для повышения производительности пользователям потребуются профильные знания.
Установка веб-сервера Apache в Ubuntu 20.04
29 мая, 2020 12:17 пп 4 934 views | Комментариев нетUbuntu | Amber | Комментировать запись
HTTP-сервер Apache – наиболее распространенный веб-сервер в интернете. Он предоставляет множество полезных функций, включая динамическую загрузку модулей, надежную поддержку мультимедиа и широкую интеграцию с другим популярным программным обеспечением.
В этом мануале вы узнаете, как установить веб-сервер Apache на ваш сервер Ubuntu 20.04.
Требования
- Сервер Ubuntu 20.04.
- Пользователь с доступом к sudo (все действия руководства нужно выполнять в сессии этого пользователя).
- Базовый брандмауэр.
Все необходимые инструкции можно найти в мануале по начальной настройке сервера.
Настроив свой сервер, войдите в сессию пользователя с доступом к sudo, чтобы начать работу.
1: Установка Apache
Пакет Apache есть в стандартном репозитории Ubuntu, потому его можно установить с помощью стандартного пакетного менеджера.
Обновите локальный индекс пакетов:
sudo apt update
А затем установите пакет apache2:
sudo apt install apache2
С помощью этой команды менеджер пакетов apt установит Apache и все его зависимости.
2: Настройка брандмауэра
Теперь нужно отредактировать настройки брандмауэра и открыть доступ к стандартному порту Apache. Если вы выполнили мануал по начальной настройке, сейчас UFW блокирует доступ к портам, которые не используются (в том числе и к портам веб-сервера).
Во время установки Apache регистрирует в UFW несколько своих профилей, которые упрощают процесс настройки портов веб-сервера.
Чтобы просмотреть профили приложений ufw, введите:
sudo ufw app list
Вы увидите список доступных профилей:
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
Как видите, у вас есть три профиля Apache:
- Apache: поддерживает трафик по порту 80 (стандартный порт).
- Apache Full: открывает порты 80 и 443 (зашифрованный трафик TLS/SSL).
- Apache Secure: поддерживает только шифрованный трафик TLS/SSL по порту 443.
Рекомендуется включить наиболее строгий профиль, который при этом позволит поддерживать текущий трафик. Поскольку мы еще не настроили SSL-сертификат, нам нужно разрешить трафик по порту 80:
sudo ufw allow 'Apache'
Убедитесь, что профиль включился:
sudo ufw status
Вы увидите такой вывод:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Apache ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Apache (v6) ALLOW Anywhere (v6)
3: Проверка веб-сервера
После установки сервер Ubuntu 20.04 запускает 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 Thu 2020-04-23 22:36:30 UTC; 20h ago
Docs: https://httpd. apache.org/docs/2.4/
Main PID: 29435 (apache2)
Tasks: 55 (limit: 1137)
Memory: 8.0M
CGroup: /system.slice/apache2.service
├─29435 /usr/sbin/apache2 -k start
├─29437 /usr/sbin/apache2 -k start
└─29438 /usr/sbin/apache2 -k start
Согласно этому выводу сервис работает правильно. Но лучше также запросить страницу Apache, чтобы подтвердить работу веб-сервера.
Чтобы открыть стандартную посадочную страницу Apache, укажите свой домен. Если у вас нет домена, укажите внешний IP-адрес своего сервера. Если вы не знаете свой IP-адрес, вы можете узнать его с помощью командной строки. Введите такую команду:
hostname -I
Вы получите список адресов, разделенных пробелами. Проверьте каждый полученный адрес в браузере, чтобы узнать, какой из них работает.
Также вы можете узнать свой IP, запросив его с помощью команды curl. Чтобы извлечь icanhazip.com (IPv4) с помощью curl, введите:
curl -4 icanhazip.com
Узнав свой внешний адрес, введите в браузер:
http://your_server_ip
Вы увидите стандартную страницу Apache для Ubuntu 20. 04.
Эта страница позволяет убедиться, что веб-сервер Apache работает правильно; также она содержит базовую информацию о важных файлах и каталогах Apache.
4: Управление процессами Apache
Теперь мы рассмотрим несколько базовых команд для управления веб-сервером с помощью systemctl.
Чтобы остановить сервер, введите:
sudo systemctl stop apache2
Чтобы запустить сервер, введите:
sudo systemctl start apache2
Для перезапуска используйте команду:
sudo systemctl restart apache2
Во время настройки Apache можно часто перезагружать, не сбрасывая соединений. Для этого нужно использовать команду:
sudo systemctl reload apache2
По умолчанию Apache запускается автоматически вместе с сервером. Чтобы удалить этот сервис из автозагрузки, отключите его:
sudo systemctl disable apache2
Чтобы добавить Apache в автозагрузку, используйте эту команду:
sudo systemctl enable apache2
5: Настройка виртуального хоста (рекомендуется)
На веб-сервере Apache вы можете использовать виртуальные хосты (в Nginx это блоки server) для изоляции настроек и размещения нескольких доменов на одном сервере. Здесь используется условный домен your_domain, который вы должны заменить собственным доменом.
Apache Ubuntu 20.04 по умолчанию предоставляет один включенный виртуальный хост, который обслуживает каталог /var/www/html. Этого хватит для обслуживания одного сайта, но если вы хотите разместить несколько сайтов, вам нужно создать новые виртуальные хосты. Создайте структуру каталогов в /var/www для сайта your_domain, а /var/www/html оставьте как каталог по умолчанию, который будет обслуживаться, если запрос клиента не отвечает другим сайтам.
Создайте каталог для your_domain.
sudo mkdir /var/www/your_domain
Затем задайте права на каталог с помощью переменной $USER:
sudo chown -R $USER:$USER /var/www/your_domain
Права должны быть установлены верно, если вы не меняли unmask, но на всякий случай вы можете ввести эту команду (тогда права на чтение, запись и выполнение будут только у владельца каталога, все остальные пользователи и групп смогут только читать его):
sudo chmod -R 755 /var/www/your_domain
Затем создайте образец страницы index. html с помощью nano или другого редактора:
sudo nano /var/www/your_domain/index.html
Вставьте в файл такой код HTML:
<html>
<head>
<title>Welcome to Your_domain!</title>
</head>
<body>
<h2>Success! The your_domain virtual host is working!</h2>
</body>
</html>
Сохраните и закройте файл.
Чтобы Apache мог обслуживать этот контент, необходимо создать файл виртуального хоста с правильными директивами. Вместо того чтобы напрямую изменять конфигурационный файл по умолчанию, /etc/apache2/sites-available/000-default.conf, создайте новый файл /etc/apache2/sites-available/your_domain.conf:
sudo nano /etc/apache2/sites-available/your_domain.conf
Вставьте в файл следующий блок конфигураций. Он похож на конфигурации по умолчанию, но содержит правильный домен и каталог:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName your_domain
ServerAlias www. your_domain
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Обратите внимание: DocumentRoot содержит путь нового каталога, а ServerAdmin – новый адрес электронной почты администратора сайта your_domain. Мы также добавили в файл две директивы: ServerName определяет базовый домен, который должен соответствовать этому виртуальному хосту, а ServerAlias определяет алиасы.
Сохраните и закройте файл.
Включите файл с помощью a2ensite:
sudo a2ensite your_domain.conf
Отключите стандартный сайт, который определяется файлом 000-default.conf:
sudo a2dissite 000-default.conf
Проверьте ошибки в конфигурациях:
sudo apache2ctl configtest
Если ошибок нет, команда вернет такой вывод:
Syntax OK
Перезапустите Apache:
sudo systemctl restart apache2
Теперь Apache обслуживает домен вашего сайта. Чтобы убедиться в этом, откройте ссылку http://your_domain.
6: Важные файлы и каталоги Apache
Контент
Контент сайта должен храниться в каталоге /var/www/html. По умолчанию из него обслуживается только стандартная страница Apache, которую вы видели ранее. Чтобы изменить корневой каталог сайта, отредактируйте настройки Apache.
Конфигурации
- /etc/apache2: каталог Apache, в котором хранятся все конфигурационные файлы.
- /etc/apache2/apache2.conf: главный конфигурационный файл, в котором находятся глобальные настройки Apache. Он отвечает за загрузку других файлов.
- /etc/apache2/ports.conf: указывает порты, которые прослушивает Apache. По умолчанию веб-сервер прослушивает порт 80; также он может прослушивать порт 443 после включения модуля для поддержки SSL.
- /etc/apache2/sites-available/: каталог, в котором хранятся все файлы виртуальных хостов. Apache не будет использовать их, пока они не связаны с каталогом sites-enabled (см. ниже). Обычно в этом каталоге происходит настройка виртуальных хостов.
- /etc/apache2/sites-enabled/: хранит включенные виртуальные хосты. При запуске или перезапуске Apache читает конфигурационные файлы и ссылки в этом каталоге, чтобы скомпилировать конфигурации.
- /etc/apache2/conf-available/, /etc/apache2/conf-enabled/: каталоги типа sites-available и sites-enabled, работают по тому же принципу. В conf-available хранятся фрагменты конфигураций, которых нет в виртуальном хосте. Файлы в conf-available включаются с помощью команды a2enconf и выключаются с помощью a2disconf.
- /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: также работают по принципу sites-available и sites-enabled. Эти каталоги содержат доступные и активные модули соответственно. Файлы с расширением .load содержат фрагменты для загрузки конкретных модулей. Файлы с расширением .conf хранят настройки этих модулей. Модули включаются и выключаются с помощью команд a2enmod и a2dismod.
Логи сервера
- /var/log/apache2/access. log: по умолчанию каждый запрос к веб-серверу записывается в этом логе доступа (Apache можно настроить иначе).
- /var/log/apache2/error.log: по умолчанию здесь записываются все сообщения об ошибках. Директива LogLevel в настройках Apache определяет, сколько данных будет вноситься в лог.
Заключение
Теперь веб-сервер Apache установлен и готов к работе. Вы можете обслуживать разные типы контента и внедрить множество технологий для положительного пользовательского опыта.
Читайте также: Установка стека LAMP в Ubuntu 20.04
Tags: Apache, Ubuntu, Ubuntu 20.04
|
|
404: Страница не найдена
Страница, которую вы пытались открыть по этому адресу, похоже, не существует. Обычно это результат плохой или устаревшей ссылки. Мы приносим свои извинения за доставленные неудобства.
Что я могу сделать сейчас?
Если вы впервые посещаете TechTarget, добро пожаловать! Извините за обстоятельства, при которых мы встречаемся. Вот куда вы можете пойти отсюда:
Поиск- Пожалуйста, свяжитесь с нами, чтобы сообщить, что эта страница отсутствует, или используйте поле выше, чтобы продолжить поиск
- Наша страница «О нас» содержит дополнительную информацию о сайте, на котором вы находитесь, WhatIs.com.
- Посетите нашу домашнюю страницу и просмотрите наши технические темы
Поиск по категории
ПоискСеть
- беспроводная ячеистая сеть (WMN)
Беспроводная ячеистая сеть (WMN) — это ячеистая сеть, созданная путем соединения узлов беспроводной точки доступа (WAP), установленных в …
- Wi-Fi 7
Wi-Fi 7 — это ожидаемый стандарт 802. 11be, разрабатываемый IEEE.
- сетевая безопасность
Сетевая безопасность охватывает все шаги, предпринятые для защиты целостности компьютерной сети и данных в ней.
ПоискБезопасность
- Что такое модель безопасности с нулевым доверием?
Модель безопасности с нулевым доверием — это подход к кибербезопасности, который по умолчанию запрещает доступ к цифровым ресурсам предприятия и …
- RAT (троянец удаленного доступа)
RAT (троян удаленного доступа) — это вредоносное ПО, которое злоумышленник использует для получения полных административных привилегий и удаленного управления целью …
- атака на цепочку поставок
Атака на цепочку поставок — это тип кибератаки, нацеленной на организации путем сосредоточения внимания на более слабых звеньях в организации …
ПоискCIO
- пространственные вычисления
Пространственные вычисления широко характеризуют процессы и инструменты, используемые для захвата, обработки и взаимодействия с трехмерными данными.
- Пользовательский опыт
Дизайн взаимодействия с пользователем (UX) — это процесс и практика, используемые для разработки и внедрения продукта, который будет обеспечивать положительные и …
- соблюдение конфиденциальности
Соблюдение конфиденциальности — это соблюдение компанией установленных правил защиты личной информации, спецификаций или …
SearchHRSoftware
- Поиск талантов
Привлечение талантов — это стратегический процесс, который работодатели используют для анализа своих долгосрочных потребностей в талантах в контексте бизнеса …
- удержание сотрудников
Удержание сотрудников — это организационная цель сохранения продуктивных и талантливых работников и снижения текучести кадров за счет стимулирования …
- гибридная рабочая модель
Гибридная рабочая модель — это структура рабочей силы, включающая сотрудников, работающих удаленно, и тех, кто работает на месте, в офисе компании.