Назад в блог

Установка сервера Apache на Ubuntu 18.04: пошаговое руководство

Установка сервера Apache на Ubuntu 18.04: пошаговое руководство

Введение

Apache HTTP Server — это веб-сервер с открытым исходным кодом, созданный Apache Software Foundation. Это программное обеспечение, которое соединяет ваш локальный сервер с веб-клиентами, такими как Firefox или Google Chrome. Это соединение используется для отправки и получения файлов и данных.

Это самый популярный сервер в мире. Более 40% всех веб-сайтов во Всемирной паутине работают на базе Apache HTTP. Причинами его популярности являются высокая настраиваемость, отличные возможности интеграции и надежная поддержка медиафайлов. Apache работает на основе модульной архитектуры. Вы можете изменять отдельные модули для добавления и удаления различных функций. В этом руководстве мы расскажем вам, как установить сервер Apache на Ubuntu 18.04.

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

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

Как установить веб-сервер Apache на Ubuntu 18.04

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

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

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

Эта команда отображает последние изменения из апстрима в индексе пакетов. Далее нам нужно ввести команду для установки пакета apache2:

Шаг 2. Изменение настроек брандмауэра

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

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

Вы увидите профиль вашего приложения в списке, подобном этому:

Apache Server ufw app list

Приведенный выше список показывает, что были созданы три профиля приложений, а именно Apache, Apache Full and Apache Secure. Вот некоторые полезные сведения о каждом из этих профилей:

  • Apache:

Профиль Apache может открывать только порт 80. Этот порт разрешает обычный и незашифрованный веб-трафик.

  • Apache Full:

Профиль Apache Full может открывать как порт 80, так и порт 443. В то время как порт 80 разрешает обычный незашифрованный веб-трафик, порт 443 отвечает за трафик, зашифрованный с помощью TLS/SSL.

  • Apache Secure:

Наконец, Apache Secure открывает только порт 443. Как упоминалось выше, он отвечает за пропуск веб-трафика, зашифрованного с помощью TLS или SSL.

При выборе между этими профилями подумайте о настроенном вами трафике. Вам нужно убедиться, что желаемый трафик проходит, выбирая при этом наиболее строгий профиль. Настройка SSL на данный момент выходит за рамки нашего руководства. Поэтому пока мы сосредоточимся на трафике, поступающем через порт 80. Это означает, что в данном сценарии мы включаем профиль приложения «Apache». Вы можете сделать это следующим образом:

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

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

Apache Server firewall status

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

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

Установка Apache завершена, а настройки брандмауэра изменены. По завершении этого процесса Ubuntu 18.04 автоматически запустит Apache. Далее вам необходимо проверить с помощью системы инициализации systemd, работает ли служба в данный момент. Если вы хотите узнать больше о системах инициализации, вы можете ознакомиться с нашим руководством по управлению службами и юнитами Systemd с помощью Systemctl. Чтобы проверить, работает ли служба, введите:

Вывод будет следующим:

apache2 status

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

Эта команда покажет результат с несколькими IP-адресами, разделенными пробелами. Протестируйте каждый из них отдельно в браузере. Другой способ получить доступ — узнать свой публичный IP-адрес. Вы можете использовать следующую команду:

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

Откроется веб-страница Apache по умолчанию для Ubuntu 18.04. Она выглядит следующим образом:

ubuntu homepage

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

Шаг 4. Базовое управление в Apache

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

Конфигурация по умолчанию вашего Apache запускает его при каждой загрузке сервера. У вас есть возможность отключить эту настройку. Введите:

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

Затем введите следующее, если вы хотите остановить сервер вручную:

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

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

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

Шаг 5. Настройка виртуального хоста

Хотя это и не обязательно, настоятельно рекомендуется настроить виртуальные хосты. Виртуальные хосты — это небольшие блоки на сервере, содержащие группы конфигурационных данных. Вы можете разместить несколько доменов на одном виртуальном хосте вашего сервера.

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

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

Теперь вам нужно назначить владельца каталога. Для этой цели вы можете использовать переменную окружения $USER:

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

Далее мы создадим страницу index.html. Вы можете использовать nano, как мы, или любой другой редактор, если у вас есть предпочтения:

Добавьте этот пример HTML-кода внутрь index, затем сохраните и закройте:

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

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

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

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

Теперь, когда конфигурация готова, вы можете проверить её на наличие ошибок, введя:

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

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

Вуаля! Вы настроили виртуальный хост и указали свое доменное имя. Чтобы проверить, действительно ли Apache обслуживает your_domain, перейдите по адресу http://your_domain.

Шаг 6. Обзор файлов и каталогов

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

Содержимое
  • /var/www/html

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

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

 

  • /etc/apache2

Это основной каталог конфигурации Apache. Это означает, что данный каталог содержит все конфигурационные файлы, связанные с Apache.

  • /etc/apache2/apache2.conf

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

  • /etc/apache2/ports.conf

Как следует из названия, этот файл относится к портам, которые мы обсуждали ранее. Порт 80 включен по умолчанию, а порт 443 активируется при подключении модулей с поддержкой SSL. Этот файл содержит сведения о том, какие порты открыты и включены.

  • /etc/apache2/sites-available/

Здесь будут располагаться ваши виртуальные хосты. Вся конфигурация серверных блоков выполняется в этом каталоге. Чтобы включить серверные блоки, их необходимо связать с другими каталогами с помощью a2ensite. Apache получит доступ к файлам в этом каталоге только в том случае, если они были включены путем создания ссылки на каталог sites-enabled.

  • /etc/apache2/sites-enabled/

Это каталог, в котором находятся включенные виртуальные хосты. Как мы уже упоминали, хосты включаются, когда вы связываете файлы в каталоге sites-available с помощью команды a2ensite. Файлы в этом каталоге важны при запуске, перезагрузке или компиляции конфигурации Apache.

  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/

Эти каталоги работают аналогично sites-available и sites-enabled. Чтобы включить файлы в каталоге conf-available, необходимо использовать команду a2enconf. Для отключения используется команда a2disconf. Вместо хранения виртуальных хостов для конкретных сайтов, эти каталоги содержат сведения о конфигурации, не относящиеся к виртуальному хосту:

  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/

Эти каталоги также имеют связь, аналогичную двум предыдущим примерам. Они содержат модули: доступные и включенные с помощью команды a2enmod. Чтобы отключить модуль, вы можете использовать команду a2dismod. Файлы с суффиксом .load содержат фрагменты, которые могут загрузить данный модуль. Файлы с суффиксом .conf содержат соответствующие сведения о конфигурации для данного модуля.

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

 

  • /var/log/apache2/access.log

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

  • /var/log/apache2/error.log

Это журнал ошибок. Все возникающие ошибки по умолчанию записываются прямо в этот файл. Вы можете настроить степень детализации записи журналов ошибок с помощью директивы LogLevel.

Заключение

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

Вы также можете узнать, как защитить свой сервер Apache с помощью Let’s Encrypt, следуя нашему пошаговому руководству. Если вы хотите узнать, как установить Apache на CentOS 7, следуйте нашему руководству по установке стека Linux, Apache, MySQL, PHP (LAMP) на CentOS 7.

Приятной работы!

author

Akshay Nagpal

Автор · CloudSigma

Preslav Dobrev — креативный дизайнер в CloudSigma, сосредоточенный на формировании последовательного корпоративного образа с помощью традиционных и инновационных маркетинговых каналов. Он умело сочетает художественное видение со стратегическим маркетингом, создавая убедительные истории бренда.

Комментарии

Комментариев пока нет. Будьте первым.