Сайт

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

13.07.2023

Содержание

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

Apache — это популярнейший свободный веб-сервер. Состоянием на 2020 год он используется на 33% всех сайтов интернета, а это приблизительно 304 миллиарда сайтов. Этот веб-сервер был разработан в далеком 1995, как замена для популярного того сервера NCSA и исправил множество его проблем. Ходят слухи что его имя походит от a patchy, заплатка, так как он исправлял ошибки NCSA. Сейчас же, это кроссплатформенная программа, поддерживающая Windows, Linux и MacOS и обеспечивающая достаточную гибкость, настраиваемость и функциональность. Программа имеет модульную структуру, что позволяет расширять ее функциональность почти до бесконечности с помощью модулей.

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

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

Содержание статьи:

Установка Apache

На данный момент, самая новая версия программы 2.4 поэтому и будет рассмотрена настройка apache 2.4. Как я уже говорил, в Linux программа устанавливается буквально в пару команд. Для установки в Ubuntu сначала обновим систему до самой новой версии:

sudo apt update sudo apt upgrade

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

sudo apt install apache2

В других дистрибутивах пакет программы называется либо так, либо httpd и его установка у вас не вызовет трудностей.

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

sudo systemctl enable apache2

Настройка Apache

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

Все настройки содержатся в папке /etc/apache/:

  • Файл /etc/apache2/apache2.conf отвечает за основные настройки
  • /etc/apache2/conf-available/* — дополнительные настройки веб-сервера
  • /etc/apache2/mods-available/* — настройки модулей
  • /etc/apache2/sites-available/* — настойки виртуальных хостов
  • /etc/apache2/ports.conf — порты, на которых работает apache
  • /etc/apache2/envvars

Как вы заметили есть две папки для conf, mods и site. Это available и enabled. При включении модуля или хоста создается символическая ссылка из папки available (доступно) в папку enable (включено). Поэтому настройки лучше выполнять именно в папках available. Вообще говоря, можно было бы обойтись без этих папок, взять все и по старинке свалить в один файл, и все бы работало, но сейчас так никто не делает.

Сначала давайте рассмотрим главный файл конфигурации:

vi /etc/apache2/apache2.conf

Timeout — указывает как долго сервер будет пытаться продолжить прерванную передачу или прием данных. 160 секунд будет вполне достаточно.

KeepAlive On — очень полезный параметр, позволяет передавать несколько файлов, за одно соединение, например, не только саму html страницу, но и картинки и css файлы.

MaxKeepAliveRequests 100

— максимальное количество запросов за одно соединение, чем больше, тем лучше.

KeepAliveTimeout 5 — таймаут соединения, обычно для загрузки страницы достаточно 5-10 секунд, так что больше ставить не нужно, но и рвать соединение раньше чем загрузились все данные тоже не нужно.

User, Group — пользователь и группа, от имени которых будет работать программа.

HostnameLookups — записывать в логи вместо ip адресов доменные имена, лучше отключить, чтобы ускорить работу.

LogLevel — уровень логирования ошибок. По умолчанию используется warn, но чтобы логи заполнялись медленнее достаточно включить error

Include — все директивы include отвечают за подключение рассмотренных выше конфигурационных файлов.

Директивы Directory отвечают за настройку прав доступа к той или иной директории в файловой системе. Синтаксис здесь такой:

<Directory /адрес/в/файловой/системе/> Параметр значение </Directory>

Здесь доступны такие основные опции:

AllowOverride — указывает нужно ли читать .htaccess файлы из этой директории, это такие же файлы настроек и таким же синтаксисом. All — разрешать все, None — не читать эти файлы.

DocumentRoot — устанавливает из какой папки нужно брать документы для отображенияа пользователю

Options — указывает какие особенности веб-сервера нужно разрешить в этой папке. Например, All — разрешить все, FollowSymLinks — переходить по символическим ссылкам, Indexes — отображать содержимое каталога если нет файла индекса.

Require — устанавливает, какие пользователи имеют доступ к этому каталогу. Require all denied — всем запретить, Require all granted — всем разрешить. можно использовать вместо all директиву user или group чтобы явно указать пользователя.

Order — позволяет управлять доступом к директории. Принимает два значения Allow,Deny — разрешить для всех, кроме указанных или Deny,Allow — запретить для всех, кроме указанных. Теперь мы можем запретить доступ к директории для всех: Deny from all, а затем разрешить только для приложения от losst.pro: Allow from losst.pro.

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

У нас остался файл /etc/apache2/ports.conf:

В нем только одна директива, Listen, которая указывает программе на каком порту нужно работать.

Последний файл /etc/apache2/envvars, его вы вряд ли будете использовать, в нем указанны переменные, которые можно использовать в других конфигурационных файлах.

Дальше поговорим немного о htacess. Совсем немного.

Настройка сервера Apache через htaccess

Файлы .htaccess позволяют настраивать веб-сервер на Ubuntu для поведения в определенной директории. Все инструкции, указанные в этом файле выполняются как бы они были обвернуты в тег <directory адрес_папки> если бы находились в основном файле.

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

AllowOverride None, чтобы могли работать все настройки нужно AllowOverride All.

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

Order Deny,Allow Deny from all

Запрещает всем доступ к этой папке, важно применить, для папок с конфигурацией.

/\.]+)/?$ product.php?id=$1 [L]

Но это очень обширная тема и выходит за рамки этой статьи.

Настройка модулей Apache

Как я уже говорил, Apache — модульная программа, ее функциональность можно расширять с помощью модулей. Все доступные модули загрузчики и конфигурационные файлы модулей находятся в папке /etc/apache/mods-available. А активированные в /etc/apache/mods-enable.

Но вам необязательно анализировать содержимое этих папок. Настройка Apache 2.4 с помощью добавления модулей выполняется с помощью специальных команд. Посмотреть все запущенные модули можно командой:

apache2ctl -M

Включить модуль можно командой:

sudo a2enmod имя_модуля

А отключить:

sudo a2dismod имя_модуля

После включения или отключения модулей нужно перезагрузить apache:

sudo systemctl restart apache2

Во время выполнения одной из этих команд создается или удаляется символическая ссылка на файл модуля с расширением load в директории mods-available. Можете посмотреть содержимое этого файла, там только одна строка. Например:

vi /etc/apache2/mods-available/deflate.load

Это к тому, что активировать модуль можно было просто добавив эту строчку в файл apache2.conf. Но принято делать именно так, чтобы избежать путаницы.

Настройки модулей находятся в той же папке, только в файле с расширением .conf вместо load. Например, посмотрим настройки того же модуля для сжатия deflate:

vi /etc/apache2/mods-available/deflate.conf

Файлы в папке conf-available, это такие же модули, только они установлены отдельно от apache, это может быть конфигурационные файлы для включения модуля php или любого другого языка программирования. Здесь работает все точно так же, только команды для включения и отключения этих модулей немного другие:

a2enconf имя_модуля

a2disconf имя модуля

Как вы убедились, включать модули очень просто. Давайте включим несколько необходимых, но не включенных по умолчанию модулей:

sudo a2enmod expires sudo a2enmod headers sudo a2enmod rewrite sudo a2enmod ssl

Модули expires и headers уменьшают нагрузку на сервер. Они возвращают заголовок Not Modified, если документ не изменился с последнего запроса. Модуль expiries позволяет устанавливать время, на которое браузер должен кэшировать полученный документ. Rewrite позволяет изменять запрашиваемые адреса на лету, очень полезно при создании ЧПУ ссылок и т д. А последний для включения поддержки шифрования по SSL. Не забудьте перезагрузить apache2 после завершения настроек.

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

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

Настройки хостов Apache расположены в папке /etc/apache2/sites-available/. Для создания нового хоста достаточно создать файл с любым именем (лучше кончено с именем хоста) и заполнить его нужными данными. Обернуть все эти параметры нужно в директиву VirtualHost. Кроме рассмотренных параметров здесь будут использоваться такие:

  • ServerName — основное имя домена
  • ServerAlias — дополнительное имя, по которому будет доступен сайт
  • ServerAdmin — электронная почта администратора
  • DocumentRoot — папка с документами для этого домена

Например:

vi /etc/apache2/sites-available/test.site.conf

<VirtualHost *:80> ServerName test.site ServerAlias www.test.site ServerAdmin webmaster@localhost DocumentRoot /var/www/test.site/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

Виртуальные хосты, как и модули нужно активировать. Для этого есть специальные утилиты. Чтобы активировать наберите:

sudo a2ensite test.site

Здесь test.site — имя файла виртуального хоста. Для отключения тоже есть команда:

sudo a2dissite test.site

Настройка виртуальных хостов Apache завершена и на публичном сервере это все бы уже работало, но если вам нужна настройка Apache на домашней машине, то вы ваш новый сайт не откроется в браузере. Браузер не знает такого сайта. И откуда ему знать? DNS службы не могут ничего сообщить об этом доменном имени. Но в системе Linux мы можем сами указать ip адреса для доменных имен в файле /etc/hosts. Поэтому добавляем в конец файла такие строки:

vi /etc/hosts

127.0.0.1 test.site 127.0.0.1 www.test.site

Вот, ну теперь будет работать, открывайте браузер, проверяйте.

Выводы

Вот и все. Установка и настройка Apache linux завершена, вы можете использовать программу для размещения ваших сайтов. Более того, вы не просто настроили ее, вы разобрались со всеми подробностями и теперь знаете чуточку больше. Если у вас остались еще вопросы, пишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Как настроить виртуальные хосты в Apache на Ubuntu 18.04/20.04

Каждый владелец VPS сталкивается с вопросом, как разместить несколько сайтов на одном сервере с одним IP-адресом. Если вы используете в качестве веб-сервера Apache, виртуальные хосты (virtual hosts) — верное решение для разделения ресурсов и отдельной конфигурации для каждого сайта.

Предварительная настройка

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

Создание пользователя

По умолчанию после создания сервера для доступа к нему создаётся root пользователь. В целях безопасности не рекомендуем работать под суперюзером.

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

adduser userName

Где UserName — имя нового пользователя.

Система попросит ввести пароль для нового пользователя и дополнительную информацию:

Теперь установите права доступа, чтобы новый пользователь мог использовать команду sudo. Для этого выполните команду:

usermod -aG sudo UserName

Где UserName — имя созданного ранее пользователя.

Готово, новый пользователь создан. Завершите SSH-сеанс под root и подключитесь к серверу под новым пользователем.

Установка Ubuntu Apache

Чтобы выполнить действия ниже, у вас должен быть установлен Apache. Для полноценной работы сайта рекомендуем установить LAMP (Linux Apache MySQL PHP). Это минимальный набор ПО, который чаще всего используется для размещения и запуска сайта. Как установить LAMP, вы можете узнать в инструкции.

Подготовка доменов

Ваши домены должны быть привязаны к облачному серверу. Сделать это вы можете по инструкции.

Обратите внимание

В данной инструкции будут приведены примеры с доменами faq-reg.ru и support-faq.ru. В тех местах, где они будут встречаться, измените домены на свои.

Подготовка каталогов

Подготовим структуру каталогов. Рабочая директория Apache — /var/www. В данной директории мы будем создавать отдельные каталоги для каждого домена (виртуального хоста).

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

sudo mkdir -p /var/www/faq-reg.ru/
sudo mkdir -p /var/www/support-faq.ru/

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

sudo chmod -R 755 /var/www
sudo chown -R $USER:$USER /var/www/faq-reg.ru/
sudo chown -R $USER:$USER /var/www/support-faq.ru/

Готово, структура каталогов и права доступа настроены. Далее подготовим демостраницы.

Создание демостраниц

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

Для faq-reg.ru:

echo "<h2>faq-reg.ru</h2>" > /var/www/faq-reg.ru/index.html

Для support-faq. ru:

echo "<h2>support-faq.ru</h2>" > /var/www/support-faq.ru/index.html

Не забудьте заменить доменные имена на ваши.

Готово, теперь после настройки виртуальных хостов мы сможем проверить корректность их работы.

Создание конфигурационных файлов и настройка

Файл конфигурации Ubuntu Apache virtual hosts отвечает за обработку запросов к разным доменам. У Apache существует дефолтный файл конфигурации, который можно использовать в качестве шаблона. Его название может отличаться в зависимости от настроек сервера. В качестве примера мы обозначим название конфига как 000-default.conf. Для каждого виртуального хоста необходимо будет скопировать его, задать произвольное имя (рекомендуем использовать имя домена) и произвести определённые настройки. Обязательное условие — соблюдение расширения файла: .conf

Создание конфига для faq-reg.ru

  1. 1.

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

    sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/faq-reg.ru.conf

    Где 000-default.conf — название конфигурационного файла по умолчанию.

  2. 2.

    Откройте созданный файл командой:

    sudo nano /etc/apache2/sites-available/faq-reg.ru.conf
  3. 3.

    В файле присутствует секция VirtualHost для обработки запросов на 80 порт (порт для HTTP-запросов). Заполните оставшиеся поля:

    • ServerAdmin — укажите электронный адрес администратора;
    • ServerName — укажите домен, для которого вы создаёте конфигурационный файл;
    • ServerAlias — раскомментируйте эту строку: удалите решётку в начале строки. В ней укажите псевдоним домена. Часто используется вид www.domain.ru;
    • DocumentRoot — укажите каталог домена, который вы создали на этапе подготовки;
    • ErrorLog и CustomLog — упомяните домен в названии файла. Так вы сможете быстрее идентифицировать файлы логов;
    • Directory — ещё раз укажите каталог домена, который вы создали на этапе подготовки.

    Затем сохраните изменения в файле и закройте его:

  4. 4.

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

    sudo cp /etc/apache2/sites-available/faq-reg.ru.conf /etc/apache2/sites-available/support-faq.ru.conf

    Не забудьте изменить faq-reg.ru.conf и support-faq.ru.conf на имена ваших доменов.

  5. org/HowToStep»> 5.

    Откройте файл для редактирования:

    sudo nano /etc/apache2/sites-available/support-faq.ru.conf
  6. 6.

    Заполните поля:

    • ServerAdmin — укажите электронный адрес администратора;
    • ServerName — укажите домен, для которого вы создаёте конфигурационный файл;
    • ServerAlias — раскомментируйте эту строку: удалите решётку в начале строки. В ней укажите псевдоним домена. Часто используется вид www.domain.ru;
    • DocumentRoot — укажите каталог домена, который вы создали на этапе подготовки;
    • ErrorLog и CustomLog — упомяните домен в названии файла. Так вы сможете быстрее идентифицировать файлы логов;
    • Directory — ещё раз укажите каталог домена, который вы создали на этапе подготовки.

    Затем сохраните изменения и закройте файл:

  7. org/HowToStep»> 7.

    Деактивируйте конфиг по умолчанию командой:

    sudo a2dissite 000-default.conf

    И активируйте созданные конфиги:

    sudo a2ensite faq-reg.ru.conf
    sudo a2ensite support-faq.ru.conf
  8. 8.

    Перезапустите Apache командой:

    sudo service apache2 restart

Готово, создание и настройка виртуальных хостов завершена. Далее можем проверить результат.

Проверка работы виртуальных хостов

Если вы заранее привязали ваши домены к серверу и делегирование уже произошло, при переходе по домену должна открыться страница, которую мы создали на этапе «Создание демостраниц».

Если с момента изменения DNS прошло менее 24 часов и домен ещё не делегирован, увидеть результат вы можете, настроив локальные хосты в файле hosts. Подробнее в инструкции.

При переходе по домену faq-reg. ru:

При переходе по домену support-faq.ru:

Готово, файл index.html можно удалить. Далее вы можете загрузить файлы сайта в созданные директории.

Помогла ли вам статья?

Да

раз уже
помогла

Host Несколько сайтов на одном сервере с использованием Apache

Если вы размещаете более одного сайта на сервере, то, скорее всего, вы используете файлы виртуального хоста Apache, чтобы указать, какой домен должен обслуживаться. Виртуальные хосты на основе имени — это один из методов, используемых для разрешения запросов сайта. Это означает, что когда кто-то просматривает ваш сайт, запрос будет отправлен на сервер, который, в свою очередь, определит, какие файлы сайта будут обслуживаться на основе доменного имени. Используя этот метод, вы сможете разместить несколько сайтов на одном сервере с одним и тем же IP-адресом. В этом руководстве мы покажем вам, как настроить файл виртуального хоста для каждого из ваших доменов на сервере VPS Ubuntu 18. 04.

Предварительная проверка

  • Войдите в систему как пользователь root

Шаг 1: Создайте каталог для каждого сайта вы будете размещать в пределах

/ Папка var/www . Это вновь созданное расположение также называется корневым расположением документа; вам нужно будет установить этот путь позже в файле конфигурации. Подпишите domain.com и domain2.com для ваших доменных имен.

mkdir -p /var/www/ domain.com /public_html

mkdir -p /var/www/ domain2.com /public_html

Шаг 2. Установка разрешений для папки

chmod -R 755 /var/www

Шаг 3. Настройка индексной страницы

Чтобы увидеть домашнюю страницу, убедитесь, что файл index.html создан для каждого домена. Что-то такое же простое, как « тестирование для домена.com » можно установить в этом файле.

vim /var/www/ domain.com /public_html/index.html

testing for domain.com

Сохраните и выйдите, нажав кнопку Escape и набрав :wq

Повторите шаги для второго домена, используя приведенную ниже команду.

vim /var/www/ domain2.com /public_html/index.html

Шаг 4. Скопируйте файл конфигурации для каждого сайта

Скопируйте файл конфигурации по умолчанию для каждого сайта, это также гарантирует, что у вас всегда будет копия по умолчанию для будущего создания сайта.

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf

cp /etc/apache2/sites-available/000-default. conf /etc/apache2/sites-available/domain2.com.conf

Шаг 5. Отредактируйте файл конфигурации для каждого сайта

Как минимум, вы настроите и добавите выделенные строки в  и теги.

Примечание

ServerAlias ​​ — это альтернативное имя для вашего домена, в этом случае и в большинстве случаев перед доменным именем ставится www, чтобы люди могли просматривать сайт как с www, так и без www ( ServerName ).

vim /etc/apache2/sites-available/domain.com.conf


ServerAdmin [email protected]
ServerName domain.com
Serveralias www.domain.com
DocumentRoot /var/www/domain.com/public_html
errorlog $ {apache_log_dir}/error.log
CustomLog $ {apache_log_dir} /Ccess.log. Сохраните с :wq . Повторите этот процесс для файла domain2.com.conf , обязательно обновите ServerName , ServerAlias ​​ и DocumentRoot для второго домена.

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

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

a2dissite 000-default.conf Чтобы сопоставить ваш сервер с вашими доменами, вам необходимо включить каждый из ваших недавно созданных файлов .conf.

a2ensite domain.com.conf

a2ensite domain2.com.conf

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

systemctl перезапустить apache2

Шаг 7: Проверка конфигураций Apache

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

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

Клиенты Liquid Web получают круглосуточную поддержку без выходных. на кончиках пальцев с нашими молниеносно быстрыми серверами. Если вы обнаружите, что застряли на шаге, наша служба поддержки хорошо разбирается в конфигурациях Apache и может помочь!

Как настроить веб-сервер Apache в Linux

Apache — это наиболее мощное, гибкое и широко используемое программное обеспечение с открытым исходным кодом, которое обслуживает веб-контент через Интернет. Сервер работает как доставщик, предоставляя контент, доступный в виде файлов HTML, когда клиент делает какой-либо запрос с доменом веб-сайта.

Самое главное, веб-серверы, включая Apache, поддерживают несколько операционных систем, таких как Linux, Windows, Solaris, macOS и т. д. Следовательно, вы можете легко превратить компьютер в сервер, на котором размещено несколько веб-сайтов.

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

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

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

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

В Ubuntu и Debian:

 sudo apt-get update 
sudo apt-get install apache -y

В CentOS:

 sudo yum update 
судо yum install httpd -y

В Fedora:

 sudo dnf update 
sudo dnf install httpd -y

Чтобы установить Apache в Arch Linux, выполните:

 sudo pacman -Syu 
sudo pacman -S apache

Обратите внимание, что Ubuntu В дистрибутивах Debian Apache называется apache2, а в CentOS и Fedora — httpd.

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

 hostname -i 

Вывод:

 192.168.43.130 

Страница подтверждает успешную установку.

 http:// 

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

 apache2 -version 

Вывод:

Если вы используете CentOS, служба не запустится автоматически. Вы можете запустить службу вручную, выполнив команду:

 sudo systemctl start httpd 

Проверьте состояние службы, как показано ниже:

 sudo systemctl status httpd 

Шаг 3. Настройте брандмауэр для разрешения доступа к серверу Apache

Еще один обязательный шаг в конфигурации Apache позволяет брандмауэру UFW в Linux принимать или разрешать трафику доступ к серверу через порт 80 по умолчанию. Во время установки служба регистрируется в брандмауэре с некоторыми профилями приложений. Список профилей приложений поможет вам включить/отключить доступ к Apache.

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

 sudo ufw app list 

Вывод:

 Доступные приложения: 
 Apache
 Apache Full
 Apache Secure
 OpenSSH

Доступные профили:

  1. Apache : открывает только порт 80 для обеспечения незашифрованной связи через Интернет
  2. Apache Full : открывает оба порта 80 и 443 для незашифрованной и безопасной связи
  3. Apache Secure : обеспечивает безопасный доступ к серверу через HTTPS, разрешая трафик через порт 443

Поскольку для сервера не включен SSL/TLS, мы разрешаем доступ UFW только к порту 80 следующим образом:

 sudo ufw allow 'Apache' 

Теперь проверьте состояние брандмауэра, выполнив:

 sudo ufw status 

Шаг 4.

Понимание каталогов и файлов Apache

После успешной установки и настройки сервера каждый новичок должен знать, как сервер управляет своими веб-сайтами. и их содержание. 9Каталог 0021 /var/www/html управляет всеми веб-сайтами, которые вы хотите разместить на своем сервере.

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

В дистрибутивах на основе Ubuntu и Debian основной каталог конфигурации для сервера Apache — /etc/apache2 , а для CentOS — /etc/httpd . Следовательно, все файлы конфигурации для сервера доступны внутри этих каталогов. Некоторые из наиболее известных файлов/каталогов:

  • /var/log/apache2/error.log : регистрирует все обнаруженные ошибки
  • /var/log/apache2/access.log : регистрирует все запросы доступа к серверу
  • /etc /apache2/sites-available : Каталог, содержащий виртуальные хосты
  • /etc/apache2/sites-enabled : Хранит готовые к обслуживанию веб-сайты для каждого виртуального хоста. Он не может работать без связывания файла конфигурации внутри каталога, доступного для сайтов, с помощью 9Команда 0021 a2ensite .

Пример настройки виртуального хоста

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

Для обслуживания нескольких доменов вы можете использовать виртуальные хосты и создать каталог домена в папке /var/www следующим образом:

 sudo mkdir /var/www/host_example 

Измените владельца и права доступа к файлам каталога с помощью chown.

 sudo chown -R $current_user:$current_user /var/www/host_example 
sudo chmod -R 755 /var/www/host_example

Теперь откройте файл /var/www/host_example/html/content.html в ваш любимый редактор и скопируйте/вставьте следующий HTML:

  

Добро пожаловать в host_example!


Вы используете host_example в Ubuntu 18.

04!


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

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

  
ServerAdmin admin@host_example
ServerName host_example
ServerAlias ​​www.host_example
DocumentRoot / var/www/host_example
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log в сочетании

Активируйте файл конфигурации домена

Файл конфигурации домена host_example.conf для активации требуется использование a2ensite.

 sudo a2ensite host_example.conf 

В приведенном выше выводе показаны требования для отключения файла конфигурации по умолчанию (000-default.conf):

 sudo a2dissite 000-default.conf 

Теперь перезапустите службу apache, чтобы загрузить изменения.

 sudo systemctl перезапустить apache2 

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

 http://host_example 

Тест на наличие ошибок конфигурации

Утилита apache2ctl позволяет проверить наличие ошибок конфигурации сервера Apache. Следующая команда должна вернуть вывод Syntax OK для проверки успешной настройки без ошибок:

 sudo apache2ctl configtest 

Вывод:

 Syntax OK 

Размещение нескольких веб-сайтов на серверах Linux с использованием Apache

В приведенном выше руководстве показано модульность и простота установки и настройки сервера Apache.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *