Установка Apache в CentOS 7

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

Устанавливаем Apache в CentOS 7

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

Шаг 1: Подготовка и инсталляция

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

  1. Запустите «Терминал», например, через значок в разделе «Избранное».
  2. Переход к терминалу для дальнейшей установки веб-сервера Apache в CentOS 7

  3. Если ранее на компьютере уже был установлен Apache или же вы случайно удалили один из его компонентов, просто используйте команду sudo yum update httpd, активировав ее нажатием на клавишу Enter.
  4. Команда для проверки обновлений текущей версии Apache в CentOS 7

  5. Это действие выполняется от имени суперпользователя, а значит, придется подтвердить его, указав пароль от данной учетной записи.
  6. Подтверждение проверки обновлений Apache в CentOS 7 путем ввода пароля суперпользователя

  7. В случае установки обновлений вы будете уведомлены об этом, а если пакет отсутствует, то появится другое сообщение соответствующего характера.
  8. Информация о текущем состоянии веб-сервера Apache в CentOS 7

  9. Теперь поговорим об инсталляции Apache с нуля. Как мы уже сказали, использовать для этого будем официальные хранилища, следовательно, нужно ввести команду sudo yum install httpd.
  10. Команда для запуска инсталляции веб-сервера Apache в CentOS 7 через терминал

  11. При появлении уведомления об инсталляции пакета подтвердите его, выбрав вариант y.
  12. Подтверждение команды установки веб-сервера Apache в CentOS 7

  13. Ожидайте завершения установки, во время этого не закрывайте текущую терминальную сессию, чтобы не прервать процесс.
  14. Ожидание завершения скачивания пакета Apache в CentOS 7

  15. По окончании сразу же рекомендуется запустить веб-сервер, что можно сделать через sudo systemctl start httpd.
  16. Команда для запуска работы службы установленного веб-сервера Apache в CentOS 7

  17. Проверьте текущее состояние через sudo systemctl status httpd.
  18. Команда для проверки текущего состояния веб-сервера Apache в CentOS 7

  19. Уведомление «Active: active (running)» подразумевает, что сейчас Apache корректно функционирует и можно переходить к его дальнейшей настройке.
  20. Информация о текущем состоянии установленного веб-сервера Apache в CentOS 7

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

Шаг 2: Управление службой Apache

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

  1. Введите sudo systemctl stop httpd для полной остановки Apache.
  2. Команда для остановки службы работы веб-сервера Apache в CentOS 7

  3. Эта и все последующие команды будут выполняться от имени суперпользователя, поэтому понадобится подтвердить ее, введя соответствующий пароль.
  4. Подтверждение команды остановки Apache в CentOS 7 путем ввода пароля

  5. Перезапуск происходит через команду sudo systemctl restart httpd. Актуальна эта команда в тех ситуациях, когда сервер дает сбои или требуется перезапустить его из-за особенностей взаимодействия с остальными компонентами.
  6. Команда для перезагрузки веб-сервера Apache в CentOS 7

  7. Используйте sudo systemctl reload httpd, если необходимо, чтобы все изменения после настройки вступили в силу, но при этом ни одно из соединений не было разорвано.
  8. Команда для перезагрузки веб-сервера Apache в CentOS 7 без отключения соединений

  9. Команда sudo systemctl disable httpd убирает Apache из автозагрузки, а sudo systemctl enable httpd возвращает стандартное состояние. Дополнительно при включении этой опции вы будете уведомлены о создании новой символической ссылки, отвечающей за данный параметр.
  10. Команды для добавления или исключения Apache в CentOS 7 из автозагрузки

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

Шаг 3: Базовая конфигурация

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

  1. Начнем с создания каталога, где будут храниться все дочерние файлы виртуального хоста. Делается это через команду sudo mkdir -p /var/www/example.com/html.
  2. Создание папки для хранения файлов нового виртуального хоста Apache в CentOS 7

  3. Необходима и дополнительная папка, куда будут автоматически сохраняться журналы событий. Для ее добавления введите sudo mkdir -p /var/www/example.com/log.
  4. Создание папки для хранения журналов событий нового виртуального хоста Apache в CentOS 7

  5. Задайте стандартные права на директорию через sudo chown -R $USER:$USER /var/www/example.com/html.
  6. Установка стандартного уровня доступа для созданных папок Apache в CentOS 7

  7. Дополнительно установите и привилегии для каждого пользователя, вставив sudo chmod -R 755 /var/www.
  8. Вторая команда для установки стандартного уровня доступа для созданных папок Apache в CentOS 7

  9. Приступим к созданию образца главной страницы, которая будет выводиться на экран при проверке работоспособности хоста. Создайте новый текстовый файл через удобный редактор, например, используя nano, следует ввести sudo nano /var/www/example.com/html/index.html.
  10. Запуск текстового редактора для содержимого страницы виртуального хоста Apache в CentOS 7

  11. При открытии текстового редактора появится уведомление о том, что это новый файл. Не переживайте, ведь так и должно быть. Мы специально создаем его, выставляя соответствующую конфигурацию.
  12. Информация о создании нового файла страницы виртуального хоста Apache в CentOS 7

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


    <html>
    <head>
    <title>Welcome to Example.com!</title>
    </head>
    <body>
    <h1>Success! The example.com virtual host is working!</h1>
    </body>
    </html></code>

  14. Создание структуры страницы виртуального хоста Apache в CentOS 7

  15. Сохраните изменения, нажав на Ctrl + O, а затем покиньте текстовый редактор через Ctrl + X.
  16. Выход из текстового редактора после создания файла страницы виртуального хоста Apache в CentOS 7

  17. Это были только предварительные настройки. Теперь приступим к самому виртуальному хосту: сначала нужно указать папки его хранения. Для этого введите sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled.
  18. Создание папки для хранения информации о сайтах Apache в CentOS 7

  19. После этого укажите веб-серверу, что сейчас ему нужно взаимодействовать и с другими компонентами. Осуществляется эта задача через редактирование главного конфигурационного файла. Запустите его через текстовый редактор, указав sudo nano /etc/httpd/conf/httpd.conf.
  20. Переход к глобальным настойкам для указания нового виртуального хоста в Apache в CentOS 7

  21. Опуститесь в самый низ по списку и вставьте строку IncludeOptional sites-enabled/*.conf.
  22. Изменение глобального конфигурационного файла Apache в CentOS 7

  23. Перед выходом из текстового редактора не забудьте сохранить все изменения.
  24. Сохранение изменений после глобальных изменений конфигурационного файла Apache в CentOS 7

  25. Для создания самого виртуального хоста понадобится еще один конфигурационный файл. Создайте его через sudo nano /etc/httpd/sites-available/example.com.conf.
  26. Запуск текстового редактора для создания нового виртуального хоста Apache в CentOS 7

  27. Вставьте туда указанное далее содержимое, заменив необходимые строки на свои.


    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot /var/www/example.com/html
    ErrorLog /var/www/example.com/log/error.log
    CustomLog /var/www/example.com/log/requests.log combined

  28. Ввод стандартного содержимого для нового виртуального хоста Apache в CentOS 7

  29. Остается только активировать файл, создав символическую ссылку через sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf.
  30. Создание новой символической ссылки для обеспечения работоспособности виртуального хоста Apache в CentOS 7

Шаг 4: Настройка контроля доступа

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

  1. Установите глобальный параметр безопасности через sudo setsebool -P httpd_unified 1. Он обеспечит обработку всех типов процессов как один.
  2. Создание глобальных правил уровня доступа к файлам виртуального хоста Apache в CentOS 7

  3. Далее рекомендуется проверить текущие параметры SELinux, которые были предоставлены автоматически. Для этого напишите sudo ls -dZ /var/www/example.com/log/.
  4. Запуск проверки текущего состояния доступа к виртуальному хосту Apache в CentOS 7

  5. В результате вы увидите содержимое drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/example.com/log/. Оно означает, что сейчас Apache может только читать те файлы, которые были созданы в установленной папке, соответственно, придется менять конфигурацию.
  6. Изучение сведений о доступе к виртуальному хосту Apache в CentOS 7

  7. Выполняется эта задача через sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?".
  8. Изменение контекстных правил доступа к виртуальному хосту Apache в CentOS 7

  9. Сохраните изменения и сделайте так, чтобы они активировались после перезагрузки сервера, введя sudo restorecon -R -v /var/www/example.com/log.
  10. Обновление параметров доступа к виртуальному хосту Apache в CentOS 7

  11. Теперь еще раз проверьте внесенные изменения через sudo ls -dZ /var/www/example.com/log/.
  12. Вывод информации после обновления данных виртуального хоста Apache в CentOS 7

  13. Как видите, в результате вывод имеет форму drwxr-xr-x. root root unconfined_u:object_r:httpd_log_t:s0 /var/www/example.com/log, следовательно, все выполнено верно.
  14. Просмотр информации о доступе к виртуальному хосту после его обновления Apache в CentOS 7

  15. Осталось только протестировать все изменения. Для этого введите sudo systemctl restart httpd и нажмите на Enter.
  16. Перезапуск служб Apache в CentOS 7 после внесения всех изменений

  17. Подтвердите действие, указав пароль суперпользователя.
  18. Подтверждение действий паролем для перезапуска служб Apache в CentOS 7

  19. Снова создайте запрос для каталога, введя ls -lZ /var/www/example.com/log. Если появившееся содержимое имеет формат -rw-r--r--. 1 root root error.log -rw-r--r--. 1 root root 0 requests.log, значит, все предыдущие настройки были выполнены правильно.
  20. Проверка состояния уровней доступа к Apache в CentOS 7 после перезагрузки служб

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

Перейти на официальный сайт документации Apache

Мы рады, что смогли помочь Вам в решении проблемы.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

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

ДА НЕТ

Поделиться статьей в социальных сетях:



Еще статьи по данной теме:


Задайте вопрос или оставьте свое мнение

Примечание: если отправленный комментарий не появился на странице, значит он ушел на проверку и скоро будет опубликован. Пожалуйста, не дублируйте вопрос. Мы ответим Вам в ближайшее время.