Настройка веб-сервера Ubuntu

Обновлено: 24.11.2024

Apache — наиболее часто используемый веб-сервер в системах Linux. Веб-серверы используются для обслуживания веб-страниц, запрашиваемых клиентскими компьютерами. Клиенты обычно запрашивают и просматривают веб-страницы с помощью приложений веб-браузера, таких как Firefox, Opera, Chromium или Internet Explorer.

Пользователи вводят унифицированный указатель ресурса (URL), чтобы указать на веб-сервер с помощью его полного доменного имени (FQDN) и пути к требуемому ресурсу. Например, чтобы просмотреть домашнюю страницу веб-сайта Ubuntu, пользователь введет только полное доменное имя:

Чтобы просмотреть подстраницу сообщества, пользователь должен ввести полное доменное имя, а затем путь:

Веб-серверы Apache часто используются в сочетании с ядром базы данных MySQL, языком сценариев препроцессора гипертекста (PHP) и другими популярными языками сценариев, такими как Python и Perl. Эта конфигурация называется LAMP (Linux, Apache, MySQL и Perl/Python/PHP) и образует мощную и надежную платформу для разработки и развертывания веб-приложений.

Установка

Веб-сервер Apache2 доступен в Ubuntu Linux. Чтобы установить Apache2:

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

Конфигурация

Apache2 настраивается путем размещения директив в текстовых файлах конфигурации. Эти директивы разделены между следующими файлами и каталогами:

apache2.conf: основной файл конфигурации Apache2. Содержит настройки, которые являются глобальными для Apache2.

conf-available: этот каталог содержит доступные файлы конфигурации. Все файлы, которые ранее находились в /etc/apache2/conf.d, следует переместить в /etc/apache2/conf-available .

conf-enabled: содержит символические ссылки на файлы в /etc/apache2/conf-available . Когда файл конфигурации имеет символическую ссылку, он будет включен при следующем перезапуске apache2.

envvars: файл, в котором устанавливаются переменные среды Apache2.

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

mods-enabled: содержит символические ссылки на файлы в /etc/apache2/mods-available . Когда файл конфигурации модуля связан символической ссылкой, он будет включен при следующем перезапуске apache2.

ports.conf: содержит директивы, определяющие, какие TCP-порты прослушивает Apache2.

сайты доступны: в этом каталоге находятся файлы конфигурации для виртуальных хостов Apache2. Виртуальные хосты позволяют настроить Apache2 для нескольких сайтов с отдельными конфигурациями.

sites-enabled: как и с модами, site-enabled содержит символические ссылки на каталог /etc/apache2/sites-available. Точно так же, когда файл конфигурации в Sites-Available является символической ссылкой, настроенный им сайт будет активен после перезапуска Apache2.

магия: инструкции по определению типа MIME на основе первых нескольких байтов файла.

Кроме того, с помощью директивы Include можно добавить другие файлы конфигурации, а для включения многих файлов конфигурации можно использовать подстановочные знаки. Любая директива может быть помещена в любой из этих конфигурационных файлов. Изменения в основных файлах конфигурации распознаются Apache2 только при его запуске или перезапуске.

Сервер также считывает файл, содержащий типы MIME-документов; имя файла задается директивой TypesConfig, обычно через /etc/apache2/mods-available/mime.conf , которая также может включать дополнения и переопределения, и по умолчанию является /etc/mime.types.

Основные настройки

В этом разделе объясняются основные параметры конфигурации сервера Apache2. Дополнительные сведения см. в документации Apache2.

Apache2 поставляется с конфигурацией по умолчанию, удобной для виртуального хоста. То есть он настроен с одним виртуальным хостом по умолчанию (с помощью директивы VirtualHost), который можно изменить или использовать как есть, если у вас есть один сайт, или использовать в качестве шаблона для дополнительных виртуальных хостов. если у вас несколько сайтов. Если оставить его в покое, виртуальный хост по умолчанию будет служить вашим сайтом по умолчанию, или пользователи сайта увидят, не соответствует ли введенный ими URL-адрес директиве ServerName любого из ваших пользовательских сайтов. Чтобы изменить виртуальный хост по умолчанию, отредактируйте файл /etc/apache2/sites-available/000-default.conf .

Примечание

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

Если вы хотите настроить новый виртуальный хост или сайт, скопируйте этот файл в тот же каталог с выбранным вами именем. Например:

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

Директива ServerAdmin указывает адрес электронной почты, который будет рекламироваться для администратора сервера. Значение по умолчанию — webmaster@localhost. Это должно быть изменено на адрес электронной почты, который доставлен вам (если вы являетесь администратором сервера). Если на вашем веб-сайте возникла проблема, Apache2 отобразит сообщение об ошибке, содержащее этот адрес электронной почты, на который следует сообщить о проблеме. Найдите эту директиву в файле конфигурации вашего сайта в /etc/apache2/sites-available.

Директива Listen указывает порт и, возможно, IP-адрес, который Apache2 должен прослушивать. Если IP-адрес не указан, Apache2 будет прослушивать все IP-адреса, назначенные машине, на которой он работает. Значение по умолчанию для директивы Listen — 80. Измените это значение на 127.0.0.1:80, чтобы заставить Apache2 прослушивать только ваш петлевой интерфейс, чтобы он не был доступен в Интернете, на (например) 81, чтобы изменить порт, который он слушает или оставьте все как есть для нормальной работы. Эту директиву можно найти и изменить в отдельном файле /etc/apache2/ports.conf

Директива DocumentRoot указывает, где Apache2 должен искать файлы, составляющие сайт. Значение по умолчанию — /var/www/html, как указано в /etc/apache2/sites-available/000-default.conf. При желании измените это значение в файле виртуального хоста вашего сайта и не забудьте создать этот каталог, если это необходимо!

Включите новый VirtualHost с помощью утилиты a2ensite и перезапустите Apache2:

Примечание

Обязательно замените mynewsite на более описательное имя виртуального хоста. Один из способов — назвать файл после директивы ServerName VirtualHost.

Аналогичным образом используйте утилиту a2dissite для отключения сайтов. Это может быть полезно при устранении неполадок с конфигурацией нескольких виртуальных хостов:

Настройки по умолчанию

В этом разделе объясняется настройка параметров сервера Apache2 по умолчанию. Например, если вы добавите виртуальный хост, параметры, настроенные для виртуального хоста, будут иметь приоритет для этого виртуального хоста. Для директивы, не определенной в настройках виртуального хоста, используется значение по умолчанию.

DirectoryIndex – это страница по умолчанию, которую сервер обслуживает, когда пользователь запрашивает индекс каталога, указав косую черту (/) в конце имени каталога.

По умолчанию сервер записывает журнал передачи в файл /var/log/apache2/access.log . Вы можете изменить это для каждого сайта в файлах конфигурации вашего виртуального хоста с помощью директивы CustomLog или опустить его, чтобы принять значение по умолчанию, указанное в /etc/apache2/conf-available/other-vhosts. -access-log.conf . Вы также можете указать файл, в который заносятся ошибки, с помощью директивы ErrorLog, значение по умолчанию которой — /var/log/apache2/error.log . Они хранятся отдельно от журналов передачи, чтобы помочь в устранении неполадок с вашим сервером Apache2. Вы также можете указать LogLevel (значение по умолчанию — «warn») и LogFormat (значение по умолчанию см. в /etc/apache2/apache2.conf).

Некоторые параметры задаются для каждого каталога, а не для каждого сервера. Параметры — одна из этих директив. Раздел каталога заключен в XML-подобные теги, например:

Директива Options в разделе Directory принимает одно или несколько следующих значений (среди прочих), разделенных пробелами:

ExecCGI — разрешить выполнение сценариев CGI. Сценарии CGI не выполняются, если этот параметр не выбран.

Внимание!

Большинство файлов не должны выполняться как сценарии CGI. Это было бы очень опасно. CGI-скрипты должны храниться в каталоге, отдельном от вашего DocumentRoot и за его пределами, и только этот каталог должен иметь установленную опцию ExecCGI. Это значение по умолчанию, а расположение CGI-скриптов по умолчанию — /usr/lib/cgi-bin .

Включает — разрешить включение на стороне сервера. Включение на стороне сервера позволяет HTML-файлу включать другие файлы. Дополнительную информацию см. в документации по Apache SSI (сообщество Ubuntu).

Индексы — отображение отформатированного списка содержимого каталога, если в запрашиваемом каталоге нет DirectoryIndex (например, index.html).

Внимание!

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

Мультипросмотр — поддержка мультипросмотра с согласованием содержания; эта опция отключена по умолчанию из соображений безопасности. См. документацию Apache2 по этому параметру.

SymLinksIfOwnerMatch – переходите по символическим ссылкам только в том случае, если у целевого файла или каталога тот же владелец, что и у ссылки.

Настройки apache2

В этом разделе объясняются некоторые основные настройки конфигурации демона apache2.

LockFile. Директива LockFile задает путь к файлу блокировки, используемому при компиляции сервера с использованием либо USE_FCNTL_SERIALIZED_ACCEPT, либо USE_FLOCK_SERIALIZED_ACCEPT. Он должен храниться на локальном диске. Следует оставить значение по умолчанию, если только каталог журналов не находится в общем ресурсе NFS. В этом случае значение по умолчанию следует изменить на расположение на локальном диске и на каталог, доступный для чтения только пользователю root.

PidFile — директива PidFile задает файл, в котором сервер записывает свой идентификатор процесса (pid). Этот файл должен быть доступен для чтения только пользователю root. В большинстве случаев следует оставить значение по умолчанию.

Пользователь. Директива User устанавливает идентификатор пользователя, используемый сервером для ответа на запросы. Этот параметр определяет доступ к серверу. Любые файлы, недоступные для этого пользователя, также будут недоступны для посетителей вашего сайта. Значением по умолчанию для пользователя является «www-data».

Предупреждение

Если вы точно не знаете, что делаете, не устанавливайте для директивы User значение root. Использование root в качестве пользователя создаст большие дыры в безопасности вашего веб-сервера.

Группа. Директива Group аналогична директиве User. Группа задает группу, под которой сервер будет отвечать на запросы. Группа по умолчанию также «www-data».

Модули Apache2

Apache2 — это модульный сервер. Это означает, что в главный сервер включены только самые основные функции. Расширенные функции доступны через модули, которые можно загрузить в Apache2. По умолчанию базовый набор модулей включается в сервер во время компиляции. Если сервер скомпилирован для использования динамически загружаемых модулей, то модули можно скомпилировать отдельно и добавить в любой момент с помощью директивы LoadModule. В противном случае Apache2 необходимо перекомпилировать для добавления или удаления модулей.

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

Вы можете установить дополнительные модули Apache2 и использовать их на своем веб-сервере. Например, выполните следующую команду в терминале, чтобы установить модуль Python 3 WSGI:

Установка активирует модуль автоматически, но мы можем отключить его с помощью a2dismod :

А затем используйте утилиту a2enmod, чтобы снова включить его:

Дополнительные модули, уже доступные в вашей системе, см. в каталоге /etc/apache2/mods-available.

Модуль mod_ssl доступен в пакете apache2-common. Выполните следующую команду в терминале, чтобы включить модуль mod_ssl:

Примечание

Каталоги /etc/ssl/certs и /etc/ssl/private являются местоположениями по умолчанию. Если вы устанавливаете сертификат и ключ в другом каталоге, не забудьте соответствующим образом изменить SSLCertificateFile и SSLCertificateKeyFile.

Примечание

В зависимости от того, как вы получили сертификат, вам может потребоваться ввести кодовую фразу при запуске Apache2.

Общий доступ к записи

Чтобы несколько пользователей могли писать в один и тот же каталог, необходимо предоставить разрешение на запись группе, к которой они принадлежат. В следующем примере группе «веб-мастера» предоставляется совместное разрешение на запись в /var/www/html.

Эти команды рекурсивно устанавливают групповое разрешение для всех файлов и каталогов в /var/www/html, чтобы разрешить чтение, запись и поиск в каталогах. Многие администраторы находят это полезным, позволяя нескольким пользователям редактировать файлы в дереве каталогов.

Предупреждение

Демон apache2 будет работать от имени пользователя www-data, у которого есть соответствующая группа www-data. Им не следует предоставлять доступ на запись к корню документа, так как это будет означать, что уязвимости в Apache или обслуживаемых им приложениях позволят злоумышленникам перезаписать обслуживаемый контент.

Ссылки

Документация Apache2 содержит подробную информацию о директивах конфигурации Apache2. Кроме того, официальную документацию по Apache2 см. в пакете apache2-doc.

Поваренная книга O’Reilly по Apache – это хороший ресурс для выполнения определенных конфигураций Apache2.

В этом руководстве мы объясним, как установить веб-сервер Apache на сервер Ubuntu 20.04.

Предпосылки

Прежде чем приступить к работе с этим руководством, на вашем сервере должен быть настроен обычный пользователь без полномочий root с привилегиями sudo. Кроме того, вам нужно будет включить базовый брандмауэр для блокировки второстепенных портов. Вы можете узнать, как настроить обычную учетную запись пользователя и настроить брандмауэр для своего сервера, следуя нашему руководству по начальной настройке сервера для Ubuntu 20.04.

Если у вас есть доступная учетная запись, для начала войдите в систему как пользователь без полномочий root.

Шаг 1 — Установка Apache

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

Давайте начнем с обновления локального индекса пакетов, чтобы он отражал последние изменения исходной ветки разработки:

Затем установите пакет apache2:

После подтверждения установки apt установит Apache и все необходимые зависимости.

Шаг 2. Настройка брандмауэра

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

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

Выведите список профилей приложений ufw, введя:

Вы получите список профилей приложений:

Как видно из выходных данных, для Apache доступны три профиля:

Рекомендуется включить наиболее строгий профиль, который по-прежнему будет разрешать трафик, который вы настроили. Поскольку в этом руководстве мы еще не настроили SSL для нашего сервера, нам нужно будет разрешить трафик только через порт 80:

Вы можете проверить изменение, набрав:

Как видно из выходных данных, профиль был активирован, чтобы разрешить доступ к веб-серверу Apache.

Шаг 3. Проверка веб-сервера

В конце процесса установки Ubuntu 20.04 запускает Apache. Веб-сервер уже должен быть запущен.

Проверьте систему инициализации systemd, чтобы убедиться, что служба запущена, набрав:

Как видно из этого вывода, служба успешно запущена. Однако лучший способ проверить это — запросить страницу у Apache.

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

Попробуйте ввести это в командной строке вашего сервера:

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

Еще один вариант — использовать инструмент Icanhazip, который должен предоставить вам общедоступный IP-адрес, прочитанный из другого места в Интернете:

Когда у вас есть IP-адрес вашего сервера, введите его в адресную строку браузера:

Вы должны увидеть стандартную веб-страницу Ubuntu 20.04 Apache:

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

Шаг 4 — Управление процессом Apache

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

Чтобы остановить веб-сервер, введите:

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

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

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

По умолчанию Apache настроен на автоматический запуск при загрузке сервера. Если это не то, что вам нужно, отключите это поведение, набрав:

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

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

Шаг 5. Настройка виртуальных хостов (рекомендуется)

При использовании веб-сервера Apache вы можете использовать виртуальные хосты (аналогично блокам сервера в Nginx), чтобы инкапсулировать детали конфигурации и размещать более одного домена с одного сервера. Мы настроим домен под названием your_domain, но вы должны заменить его своим собственным доменным именем. Если вы настраиваете доменное имя в DigitalOcean, обратитесь к нашей сетевой документации.

Apache в Ubuntu 20.04 имеет один включенный по умолчанию серверный блок, настроенный для обслуживания документов из каталога /var/www/html. Хотя это хорошо работает для одного сайта, это может стать громоздким, если вы размещаете несколько сайтов. Вместо изменения /var/www/html давайте создадим структуру каталогов внутри /var/www для сайта your_domain, оставив /var/www/html в качестве каталога по умолчанию, который будет обслуживаться, если запрос клиента не соответствует ни одному из них. другие сайты.

Создайте каталог для your_domain следующим образом:

Затем назначьте владельца каталога с помощью переменной среды $USER:

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

Затем создайте образец страницы index.html с помощью nano или вашего любимого редактора:

Внутри добавьте следующий образец HTML:

Сохраните и закройте файл, когда закончите.

Чтобы Apache мог обслуживать этот контент, необходимо создать файл виртуального хоста с правильными директивами. Вместо того, чтобы напрямую изменять файл конфигурации по умолчанию, расположенный в /etc/apache2/sites-available/000-default.conf, давайте создадим новый в /etc/apache2/sites-available/your_domain.conf :

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

Обратите внимание, что мы изменили DocumentRoot на наш новый каталог, а ServerAdmin на адрес электронной почты, к которому может получить доступ администратор сайта your_domain. Мы также добавили две директивы: ServerName , которая устанавливает базовый домен, который должен соответствовать этому определению виртуального хоста, и ServerAlias ​​, который определяет дополнительные имена, которые должны совпадать, как если бы они были базовым именем.

Сохраните и закройте файл, когда закончите.

Давайте активируем файл с помощью инструмента a2ensite:

Отключить сайт по умолчанию, указанный в 000-default.conf :

Далее проверим ошибки конфигурации:

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

Перезапустите Apache, чтобы изменения вступили в силу:

Шаг 6. Знакомство с важными файлами и каталогами Apache

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

Контент

  • /var/www/html : Фактический веб-контент, который по умолчанию состоит только из страницы Apache по умолчанию, которую вы видели ранее, обслуживается из каталога /var/www/html. Это можно изменить, изменив файлы конфигурации Apache.

Конфигурация сервера

  • /etc/apache2 : каталог конфигурации Apache. Здесь находятся все файлы конфигурации Apache.
  • /etc/apache2/apache2.conf : основной файл конфигурации Apache. Это можно изменить, чтобы внести изменения в глобальную конфигурацию Apache. Этот файл отвечает за загрузку многих других файлов в каталоге конфигурации.
  • /etc/apache2/ports.conf : в этом файле указаны порты, которые Apache будет прослушивать. По умолчанию Apache прослушивает порт 80 и дополнительно прослушивает порт 443, когда включен модуль, предоставляющий возможности SSL.
  • /etc/apache2/sites-available/ : каталог, в котором могут храниться виртуальные хосты для каждого сайта. Apache не будет использовать файлы конфигурации, найденные в этом каталоге, если они не связаны с каталогом, поддерживающим сайты. Как правило, вся конфигурация серверного блока выполняется в этом каталоге, а затем включается путем ссылки на другой каталог с помощью команды a2ensite.
  • /etc/apache2/sites-enabled/ : каталог, в котором хранятся включенные виртуальные хосты для каждого сайта. Как правило, они создаются путем ссылки на файлы конфигурации, находящиеся в каталоге sites-available, с помощью файла a2ensite . Apache считывает файлы конфигурации и ссылки, найденные в этом каталоге, при запуске или перезагрузке для компиляции полной конфигурации.
  • /etc/apache2/conf-available/ , /etc/apache2/conf-enabled/ : эти каталоги имеют те же отношения, что и каталоги с доступом к сайтам и каталоги с поддержкой сайтов, но используются для хранения фрагментов конфигурации, которые не принадлежать виртуальному хосту. Файлы в каталоге conf-available можно включить с помощью команды a2enconf и отключить с помощью команды a2disconf.
  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: эти каталоги содержат доступные и включенные модули соответственно. Файлы, заканчивающиеся на .load, содержат фрагменты для загрузки определенных модулей, а файлы, заканчивающиеся на .conf, содержат конфигурацию этих модулей. Модули можно включать и отключать с помощью команд a2enmod и a2dismod.

Журналы сервера

  • /var/log/apache2/access.log : по умолчанию каждый запрос к вашему веб-серверу записывается в этот файл журнала, если Apache не настроен иначе.
  • /var/log/apache2/error.log : по умолчанию все ошибки записываются в этот файл. Директива LogLevel в конфигурации Apache указывает, сколько подробностей будут содержать журналы ошибок.

Заключение

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

Если вы хотите создать более полный стек приложений, вы можете прочитать эту статью о том, как настроить стек LAMP в Ubuntu 20.04

Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!

Присоединяйтесь к нашему сообществу DigitalOcean, насчитывающему более миллиона разработчиков, бесплатно! Получайте помощь и делитесь знаниями в нашем разделе "Вопросы и ответы", находите руководства и инструменты, которые помогут вам расти как разработчику и масштабировать свой проект или бизнес, а также подписывайтесь на интересующие вас темы.

Веб-сервер Apache — это наиболее широко используемый веб-сервер с открытым исходным кодом, который поддерживается большинством операционных систем, включая Linux, Windows, MacOS, Solaris и т. д. Он легко настраивается и может быть интегрирован с другими модулями. Установить и настроить Apache для базовой настройки довольно просто. В этой статье объясняется, как установить и настроить веб-сервер Apache в операционной системе Ubuntu.

Примечание. Мы объяснили процедуру, описанную в этой статье, для системы Ubuntu 20.04 LTS.

Установка Apache2; Шаг 1. Обновите

Во-первых, нам нужно обновить индекс системного репозитория, чтобы установить самую последнюю версию Apache2. Для этого запустите Терминал с помощью сочетания клавиш Ctrl+Alt+T и выполните следующую команду:

Обратите внимание, что только авторизованный пользователь может устанавливать, обновлять или удалять пакеты из системы Linux.

Шаг 2. Установите Apache2

Следующим шагом мы установим веб-сервер Apache2. Для этого выполните следующую команду в Терминале:

Система может запросить подтверждение, предоставив вам вариант Y/n. Нажмите y, а затем Enter, чтобы продолжить. После этого веб-сервер Apache2 и все его зависимости будут установлены в вашей системе.

После установки проверьте версию сервера Apache следующим образом:

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

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

Здесь вы можете увидеть различные профили Apache.

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

Теперь проверьте статус, который покажет, что Apache разрешен в брандмауэре.

Настройка веб-сервера Apache; Проверка службы Apache

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

Из приведенного выше вывода видно, что служба Apache2 активна и работает.

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

Затем откройте веб-браузер и перейдите на страницу приветствия apache следующим образом:

Замените 192.168.72.134 на IP-адрес вашего компьютера.

Перейдя по указанной выше ссылке в браузере, вы увидите страницу приветствия Apache, которая указывает на то, что сервер Apache работает правильно.

Настройка виртуальных хостов в Apache

Шаг 1. Создайте каталог для своего домена

На этом шаге мы создадим каталог для нашего доменного имени. Этот каталог будет использоваться для хранения данных на нашем веб-сайте.

Сменить владельца каталога на текущего пользователя:

Назначьте необходимые разрешения следующим образом:

Шаг 2. Создайте образец страницы для своего веб-сайта

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

Скопируйте и вставьте эти строки кода HML:

Теперь используйте Ctrl+O для сохранения, а затем Ctrl+X для выхода из файла.

Шаг 3. Создайте файл виртуального хоста

Сервер Apache по умолчанию поставляется с файлом виртуального хоста.Этот файл используется для обслуживания содержимого веб-сервера. Однако мы создадим новый файл виртуального хоста с помощью следующей команды:

Теперь используйте Ctrl+O для сохранения, а затем Ctrl+X для выхода из файла.

Шаг 4. Активируйте файл конфигурации виртуального хоста

На этом шаге мы создадим файл конфигурации виртуального хоста. Для этого выполните в Терминале следующую команду:

Теперь отключите виртуальный файл конфигурации по умолчанию «000-default.conf» следующим образом:

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

Шаг 5. Проверка на наличие ошибок

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

Вы можете получить следующую ошибку:

Чтобы устранить эту ошибку, отредактируйте файл servername.conf:

Сохраните и выйдите из файла servername.conf и запустите:

Теперь снова выполните:

Надеемся, на этот раз вы не получите никаких ошибок.

Шаг 6. Тестирование виртуального хоста

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

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

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

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

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

Чтобы остановить сервер Apache:

Чтобы остановить, а затем запустить Apache”

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

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

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

В этой статье подробно объясняется установка и настройка веб-сервера Apache в Ubuntu 20.04. Мы также объяснили настройку виртуального хоста. Теперь вы можете настроить несколько доменов на одном сервере Apache. В конце мы упомянули некоторые команды, которые могут быть очень полезны при управлении веб-сервером Apache.

Об авторе

Карим Буздар

Карим Буздар имеет степень инженера в области телекоммуникаций и несколько сертификатов системного администратора. Как ИТ-инженер и технический автор, он пишет для различных веб-сайтов. Он ведет блог на LinuxWays.

Это руководство посвящено установке и настройке Apache2 в вашей системе Ubuntu. Команды и процедуры, упомянутые в этой статье, были запущены в системе Ubuntu 18.04 LTS. Поскольку в этой статье мы используем командную строку Ubuntu, Терминал; вы можете открыть его с помощью системного тире или сочетания клавиш Ctrl+Alt+T.

Установите Apache 2 в Ubuntu Linux

Выполните следующие шаги, чтобы установить программное обеспечение Apache2 через официальные репозитории Ubuntu.

Шаг 1. Обновите системные репозитории

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

Шаг 2. Установите Apache 2 с помощью команды apt

Затем введите следующую команду от имени sudo, чтобы установить Apache2 и его необходимые зависимости:

Вам может быть предложено выбрать вариант y/n для продолжения установки. Пожалуйста, введите Y, после чего начнется процедура установки.

Шаг 3. Проверьте установку Apache

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

Настройте параметры брандмауэра

Чтобы настроить Apache, нам сначала нужно разрешить внешний доступ к определенным веб-портам нашей системы и разрешить Apache на вашем брандмауэре UFW.

Шаг 1. Список профилей приложений UFW

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

Реклама

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

Шаг 2. Разрешите Apache на UFW и проверьте его статус

Разрешение Apache на UFW откроет порт 80 для сетевого трафика, обеспечивая при этом максимальную безопасность сервера. Пожалуйста, настройте UFW, чтобы разрешить Apache с помощью следующей команды:

Состояние UFW теперь будет отображать, что Apache включен на брандмауэре.

$ sudo ufw статус

Настройте параметры веб-сервера Apache

Шаг 1. Убедитесь, что служба Apache запущена

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

Статус «активен (работает)» подтверждает, что служба apache2 запущена.

Шаг 2. Убедитесь, что Apache работает правильно и прослушивает ваш IP-адрес

Вы также можете проверить, работает ли Apache, запросив страницу с сервера Apache. Для этого вы можете использовать IP-адрес вашего сервера для доступа к целевой странице Apache.

Используйте следующую команду, чтобы узнать IP-адрес вашего сервера:

Затем попробуйте IP-адреса один за другим из выходных данных в веб-браузере следующим образом:

Настройка виртуальных хостов в Apache

Шаг 1. Настройте доменное имя

Блок сервера, включенный по умолчанию, может обслуживать документы из /var/www/html. Однако мы создадим каталог в /var/www/, оставив нетронутым каталог по умолчанию.

Затем назначьте владельца каталога с помощью следующих команд:

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

Введите следующий HTML-код для индексной страницы:

Мы используем редактор nano для создания файла HTML.

Вы можете сохранить файл в nano, нажав Ctrl+X, затем введите Y и нажмите Enter.

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

Введите следующие данные индивидуальной конфигурации для нашего доменного имени:

Для создания этого файла .conf мы используем редактор nano.

Вы можете сохранить файл в nano, нажав Ctrl+X, а затем введите Y и нажмите Enter.

Шаг 2. Включите файл конфигурации домена

Давайте включим файл конфигурации, который мы создали с помощью инструмента a2ensite:

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

Теперь перезапустите службу Apache:

Шаг 3. Проверка на наличие ошибок

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

Если вы не получите никаких ошибок, вы получите следующий вывод:

Однако в Ubuntu 18.04 часто встречается следующая ошибка

Устраните ошибку:

Введите следующую команду, чтобы устранить вышеупомянутую ошибку:

Теперь, когда вы снова проверите наличие ошибок, вы увидите, что эта ошибка устранена с помощью следующего вывода:

Шаг 4. Проверьте, обслуживает ли Apache ваше доменное имя

Сервер Apache теперь настроен для обслуживания вашего доменного имени. Это можно проверить, введя имя своего сервера в любом из веб-браузеров, работающих в вашей системе, следующим образом:

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

Некоторые распространенные команды управления Apache

После настройки веб-сервера вам может потребоваться выполнить некоторые основные операции по управлению Apache. Вот команды, которые вы можете вводить в приложении «Терминал» для этих операций.

Используйте эту команду от имени sudo, чтобы запустить сервер Apache.

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

Используйте эту команду от имени sudo, чтобы остановить и снова запустить службу Apache.

Используйте эту команду от имени sudo, чтобы применить изменения конфигурации без перезапуска соединения.

Используйте эту команду от имени sudo, чтобы разрешить запуск Apache при каждой загрузке системы.

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

Заключение

Благодаря этой статье вы научились устанавливать и настраивать веб-сервер Apache в своей системе Ubuntu. Это включает в себя внесение некоторых изменений в брандмауэр UFW, а затем настройку веб-сервера для вашего IP-адреса. Мы также рекомендуем вам настроить виртуальный хост через Apache; это даст вам представление о том, как использовать Apache для размещения ваших файлов в Интернете. Основные команды управления Apache также помогут вам как веб-администратору оптимально управлять своим веб-сервером.

Похожие сообщения:

Карим Буздар

Об авторе: Карим Буздар имеет степень инженера в области телекоммуникаций и несколько сертификатов системного администратора. Как ИТ-инженер и технический автор, он пишет для различных веб-сайтов. Вы можете связаться с Каримом в LinkedIn

Поиск

Об этом сайте

Последние руководства

сообщить об этом объявлении

Читайте также: