Для администрирования своего сайта на локальном сервере требуется установка множества дополнительных компонентов, которые и организуют единую систему, функционирующую слажено и без каких-либо ошибок. Одной из главных составляющих такой структуры можно считать веб-сервер. Пользователи чаще всего предпочитают задействовать именно Apache из-за его простоты и гибкости настройки, а также возможности подключения внешних модулей. Однако инсталляция и основная конфигурация — процесс не быстрый и для некоторых даже сложный, поэтому мы бы хотели рассказать об этом более детально, взяв за пример дистрибутив CentOS 7.
Устанавливаем Apache в CentOS 7
Структура сегодняшней статьи будет поэтапной, чтобы даже самый начинающий юзер понял, как именно осуществляется установка и подготовка рассматриваемого веб-сервера. Сразу уточним, что мы не предоставляем руководств по детальной настройке Apache, поскольку это зависит от личных предпочтений пользователя и имеющихся остальных важных компонентов. За данной информацией всегда советуем обращаться к официальной документации.
Шаг 1: Подготовка и инсталляция
Начнем сразу же с установки компонентов, отвечающих за корректность работы Apache и добавление всех вспомогательных служб. Задействовать для этого предлагаем репозиторий дистрибутива, поскольку там всегда выкладывается последняя стабильная версия софта, а сам процесс инсталляции не займет много времени.
- Запустите , например, через значок в разделе .
- Если ранее на компьютере уже был установлен Apache или же вы случайно удалили один из его компонентов, просто используйте команду sudo yum update httpd, активировав ее нажатием на клавишу .
- Это действие выполняется от имени суперпользователя, а значит, придется подтвердить его, указав пароль от данной учетной записи.
- В случае установки обновлений вы будете уведомлены об этом, а если пакет отсутствует, то появится другое сообщение соответствующего характера.
- Теперь поговорим об инсталляции Apache с нуля. Как мы уже сказали, использовать для этого будем официальные хранилища, следовательно, нужно ввести команду sudo yum install httpd.
- При появлении уведомления об инсталляции пакета подтвердите его, выбрав вариант .
- Ожидайте завершения установки, во время этого не закрывайте текущую терминальную сессию, чтобы не прервать процесс.
- По окончании сразу же рекомендуется запустить веб-сервер, что можно сделать через sudo systemctl start httpd.
- Проверьте текущее состояние через sudo systemctl status httpd.
- Уведомление подразумевает, что сейчас Apache корректно функционирует и можно переходить к его дальнейшей настройке.
Это было все, что необходимо знать об основной процедуре установки веб-сервера. Как видите, ничего сложного в ней нет. Далее мы хотим рассказать о взаимодействии с главными службами и установке основной конфигурации, а вам остается решить, стоит ли изучить данные инструкции или знания по настройке и управлению уже имеются.
Шаг 2: Управление службой Apache
Веб-сервер в CentOS, как и в других дистрибутивах, функционирует в фоновом режиме в виде службы. По умолчанию она добавляется в автозагрузку, а об активации и проверке состояния мы уже рассказали ранее. Если у вас возникло желание управлять данным инструментом, то осуществляется это так:
- Введите sudo systemctl stop httpd для полной остановки Apache.
- Эта и все последующие команды будут выполняться от имени суперпользователя, поэтому понадобится подтвердить ее, введя соответствующий пароль.
- Перезапуск происходит через команду sudo systemctl restart httpd. Актуальна эта команда в тех ситуациях, когда сервер дает сбои или требуется перезапустить его из-за особенностей взаимодействия с остальными компонентами.
- Используйте sudo systemctl reload httpd, если необходимо, чтобы все изменения после настройки вступили в силу, но при этом ни одно из соединений не было разорвано.
- Команда sudo systemctl disable httpd убирает Apache из автозагрузки, а sudo systemctl enable httpd возвращает стандартное состояние. Дополнительно при включении этой опции вы будете уведомлены о создании новой символической ссылки, отвечающей за данный параметр.
Как видно, управляют состоянием службы самые стандартные команды. Их будет нетрудно запомнить, если вы часто вынуждены прибегать к подобным мерам во время администрирования сети, отдельного сайта или каких-либо приложений.
Шаг 3: Базовая конфигурация
К базовой конфигурации относится настройка виртуального хоста, который пригодится для изоляции настроек и размещения разных доменов на одном сервере. Одного стандартного виртуального хоста вполне достаточно, если вы имеете дело только с одним сайтом, однако при регистрации других доменов придется прибегнуть к созданию дополнительных параметров. Сейчас за пример мы возьмем стандартный виртуальный хост, а вы измените его адрес, если это требуется.
- Начнем с создания каталога, где будут храниться все дочерние файлы виртуального хоста. Делается это через команду sudo mkdir -p /var/www/example.com/html.
- Необходима и дополнительная папка, куда будут автоматически сохраняться журналы событий. Для ее добавления введите sudo mkdir -p /var/www/example.com/log.
- Задайте стандартные права на директорию через sudo chown -R $USER:$USER /var/www/example.com/html.
- Дополнительно установите и привилегии для каждого пользователя, вставив sudo chmod -R 755 /var/www.
- Приступим к созданию образца главной страницы, которая будет выводиться на экран при проверке работоспособности хоста. Создайте новый текстовый файл через удобный редактор, например, используя nano, следует ввести sudo nano /var/www/example.com/html/index.html.
- При открытии текстового редактора появится уведомление о том, что это новый файл. Не переживайте, ведь так и должно быть. Мы специально создаем его, выставляя соответствующую конфигурацию.
- Вставьте туда приведенный ниже код, заменив стандартное приветствие на произвольный текст. Если хотите, можете полностью переделать структуру, создав подходящую для себя страницу.
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html></code> - Сохраните изменения, нажав на , а затем покиньте текстовый редактор через .
- Это были только предварительные настройки. Теперь приступим к самому виртуальному хосту: сначала нужно указать папки его хранения. Для этого введите sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled.
- После этого укажите веб-серверу, что сейчас ему нужно взаимодействовать и с другими компонентами. Осуществляется эта задача через редактирование главного конфигурационного файла. Запустите его через текстовый редактор, указав sudo nano /etc/httpd/conf/httpd.conf.
- Опуститесь в самый низ по списку и вставьте строку IncludeOptional sites-enabled/*.conf.
- Перед выходом из текстового редактора не забудьте сохранить все изменения.
- Для создания самого виртуального хоста понадобится еще один конфигурационный файл. Создайте его через sudo nano /etc/httpd/sites-available/example.com.conf.
- Вставьте туда указанное далее содержимое, заменив необходимые строки на свои.
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 - Остается только активировать файл, создав символическую ссылку через sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf.
Шаг 4: Настройка контроля доступа
Если речь зашла о настройке глобальных параметров, то необходимо обеспечить и контроль доступа, указав ряд пользователей, которые смогут вносить изменения в рассматриваемые ранее каталоги. Осуществляется эта процедура с помощью стандартного инструмента SELinux, отвечающего за управление уровнями доступа.
- Установите глобальный параметр безопасности через sudo setsebool -P httpd_unified 1. Он обеспечит обработку всех типов процессов как один.
- Далее рекомендуется проверить текущие параметры SELinux, которые были предоставлены автоматически. Для этого напишите sudo ls -dZ /var/www/example.com/log/.
- В результате вы увидите содержимое . Оно означает, что сейчас Apache может только читать те файлы, которые были созданы в установленной папке, соответственно, придется менять конфигурацию.
- Выполняется эта задача через sudo semanage fcontext -a -t httpd_log_t «/var/www/example.com/log(/.*)?».
- Сохраните изменения и сделайте так, чтобы они активировались после перезагрузки сервера, введя sudo restorecon -R -v /var/www/example.com/log.
- Теперь еще раз проверьте внесенные изменения через sudo ls -dZ /var/www/example.com/log/.
- Как видите, в результате вывод имеет форму , следовательно, все выполнено верно.
- Осталось только протестировать все изменения. Для этого введите sudo systemctl restart httpd и нажмите на .
- Подтвердите действие, указав пароль суперпользователя.
- Снова создайте запрос для каталога, введя ls -lZ /var/www/example.com/log. Если появившееся содержимое имеет формат -rw-r—r—. 1 root root error.log -rw-r—r—. 1 root root 0 requests.log, значит, все предыдущие настройки были выполнены правильно.
Вы были ознакомлены с процедурой инсталляции и общей настройки веб-сервера Apache в CentOS 7. Как видите, сама установка не займет много времени, а все сложности связаны только с конфигурацией. Если представленного руководства по изменению параметров и управлению Apache вам оказалось мало, советуем изучить официальную документацию, воспользовавшись ссылкой ниже.
Перейти на официальный сайт документации Apache
Мы рады, что смогли помочь Вам в решении проблемы.
Помимо этой статьи, на сайте еще 13047 полезных инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам. Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.