Как обновить apache centos

Обновлено: 01.07.2024

В этом руководстве мы покажем вам, как вручную обновить системные пакеты в CentOS 7. Те же инструкции применимы и для CentOS 6.

Подготовка

Для установки и обновления пакетов вам необходимо войти в систему как root или как пользователь с привилегиями sudo .

Обновление пакетов в CentOS

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

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

Чтобы обновить один пакет, используйте команду yum install за которой следует имя пакета, который вы хотите обновить. Например, чтобы обновить только пакет curl который вы должны запустить:

Yum предоставит вам сводку пакетов, которые будут обновлены, и запросит подтверждение. Ответьте y и пакеты будут обновлены.

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

Команда обновит репозитории и предоставит вам список всех пакетов, которые можно обновить. При появлении запроса введите y чтобы продолжить.

Запретить обновление пакетов

Иногда вам может потребоваться запретить обновление пакета до более новой версии. versionlock плагина versionlock позволяет вам versionlock пакеты к определенной версии.

Плагин не установлен по умолчанию, поэтому сначала вам нужно установить его:

Во время установки в вашей системе будут созданы два файла конфигурации, которые будут храниться в каталоге /etc/yum/pluginconf.d . Файл конфигурации versionlock.conf и файл versionlock.list содержащий заблокированные пакеты. По умолчанию в этом файле нет пакетов.

Чтобы заблокировать версию пакета, вы можете вручную добавить имя пакета в файл или использовать команду yum versionlock за которой следует имя пакета. Например, чтобы предотвратить обновление всех пакетов PHP (всех пакетов, начинающихся с «php-»), вы должны запустить:

Это заблокирует пакеты PHP до текущей версии.

Просмотр логов Yum

История пакетов, установленных и обновленных с помощью yum , регистрируется в файле /var/log/yum . Вы можете просмотреть последние записи, используя команду cat или tail :

Вывод будет включать записи об установках и обновлениях пакетов:

Выводы

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

В этом руководства вы установите веб-сервер Apache с виртуальными хостами на сервер на базе CentOS 7.

Предварительные требования

Для выполнения данного руководства вам потребуется следующее:

  • Пользователь без прав root с привилегиями sudo на сервере, настроенном согласно руководству по начальной настройке сервера на базе CentOS 7.
  • Базовый брандмауэр, настроенный согласно руководству Рекомендуемые дополнительные шаги для новых серверов на базе CentOS 7.

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

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

После обновления пакетов установите пакет Apache:

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

Затем перезагрузите брандмауэр, чтобы новые правила начали действовать:

После перезагрузки брандмауэра вы будете готовы запустить службу и проверить веб-сервер.

Шаг 2 — Проверка веб-сервера

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

Убедитесь, что служба запущена с помощью следующей команды:

Если служба запущена, вы увидите значение active (активна) в статусе:

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

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

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

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

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

Вы увидите стандартную веб-страницу Apache в CentOS 7:

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

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

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

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

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

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

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

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

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

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

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

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

Создайте дополнительную директорию для хранения файлов журнала для сайта:

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

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

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

Нажмите i для переключения в режим INSERT (ВСТАВКА) и добавьте в файл следующий пример HTML-контента:

Сохраните и закройте файл, нажмите ESC , введите :wq и нажмите ENTER .

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

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

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

Добавьте эту строку в конец файла:

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

Начните с создания нового файла в директории sites-available :

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

Сохраните файл и закройте его после завершения.

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

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

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

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

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

Универсальное изменение политик Apache

Запустите следующую команду для установки универсальной политики Apache:

Изменение политик Apache для директории

Эта команда формирует список и выводит контекст SELinux из директории. Вы увидите примерно следующий результат:

Затем воспользуйтесь командой restorecon для применения этих изменений и их сохранения между перезагрузками:

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

Вы можете вывести список контекста еще раз, чтобы посмотреть изменения:

Результат отражает обновленный тип контекста:

Шаг 6 — Тестирование виртуального хоста (рекомендуется)

Вы увидите, что Apache удалось создать файлы errors.log и requests.log , которые указаны в конфигурации виртуального хоста:

Успешно! Виртуальный хост example.com работает!

Это подтверждает, что ваш виртуальный хост успешно настроен и обслуживает контент. Повторите шаги 4 и 5 для создания новых виртуальных хостов с разрешениями SELinux для дополнительных доменов.

Заключение

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

Если вы хотите развернуть более полный комплекс приложений, ознакомьтесь с этой статьей Настройка набора LAMP в CentOS 7.

Пакетный менеджер Yum в CentOS – справочник команд

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

Yum (Yellowdog Updater Modified) – консольный менеджер пакетов для дистрибутивов Linux, основанных на пакетах формата RPM (RedHat Package Manager). Сюда входят такие популярные ОС как RedHat, CentOS, Fedora, Oracle Linux, Scientific Linux.


Yum: установка, обновление и удаление пакетов

Полная справка по менеджеру пакетов yum :

Очистить кеш всех пакетов (обчычно используется при возникновении проблем при работе yum):

Пересоздать кеш пакетов заново:

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

Вывести список всех доступных пакетов для установки:

Список всех пакетов, которые установлены в системе:

Вывести список пакетов, которые относятся к ядру Linux:

Проверить установлен ли в системе определенный пакет, например, apache:

Можно получить более подробную информацию о пакете:

Чтобы установить пакет используется команда yum install . Для установки веб-сервера apache выполните:

Перед установкой пакета можно проверить его на зависимости и необходимые пакеты с помощью команды:

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

Можно установить сразу несколько пакетов:

Удалить установленный пакет:

!Но перед удалением любого пакета, рекомендуется сначала проверить его на зависимости (бывают пакеты, удаление которых влечет за собой удаление множества других пакетов, что в следствии приводит к неработоспособности системы):

Найти пакет по имени или описанию:

С помощью опции provides вы можете найти пакеты, содержавшие определенный файл, например:

Выполнить обновление всех установленных пакетов:

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

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

Получить информацию о доступных обновлениях безопасности:

Бывают случаи, когда после обновления какого-либо пакета или сервиса, возникают проблемы. Например, после обновления php, перестало работать ваше приложение или сайт. Вы можете вернуть предыдущую версию пакета, откатив установленный пакет:

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

Рассмотрим на примере группового листа «Basic Web Server». Получить информацию о группе и пакетах в ней:

При проверке мы видим, что будут установлены набор пакетов и сервисов для веб-сервера.

Ещё один полезный групповой лист «System Administration Tools»:

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

Установить групповой лист можно командой:

Yum: история и логи установки/удаления пакетов

Вы можете вывести информацию об истории установки пакетов yum (списка транзакций) с помощью команды:

Вывод состоит из 5 столбцов, в первом выводится ID транзакции по которому можно посмотреть всю информацию (установленные пакеты, зависимости):


Более того, можно отменить данную транзакцию командой:

В моем случае удалилось бы 4 пакета:


Так же всю информацию об истории установки/удаления пакетов менеджером yum можно посмотреть в логе /var/log/yum.log :

Дополнительные полезные параметры yum

Утилита yum имеет несколько полезных опций, которые часто приходитя использовать при управлении пакетами. Чтобы при установке или удалении пакетов, после ввода команды не подтверждать своих действий, можно воспользоваться опцией -y , например,:

Чтобы ответить no при запросе, нужно указать опцию:

Использовать yum без плагинов или отключить конкретный плагин:

Включить отключенный плагин:

Задействовать отключенный репозиторий:

Отключить определенный репозиторий:

Конфигурационный файл /etc/yum.conf

Конфигурационный файл yum — /etc/yum.conf .

Основные параметры конфигурационного файла:

cachedir – локальный кэш пакетов (по умоланию /var/cache/yum )

logfile — путь до файла с логами yum

obsoletes — обновлять или нет, устаревшие пакеты(1-да, 0-нет)

gpgcheck — проверка подписи пакета перед установкой (1-да, 0-нет)

keepcache — хранение кеша (1-да, 0-нет)

cachedir — директория для хранения кеша(по умолчанию /var/cache/yum )

debuglevel – уровень отладки от 1 до 10

plugins — включение yum плагинов (1-да, 0-нет)

installonly_limit – максимальное количество версий, которые могут быть установлены для одного пакета.

Полезные плагины yum

Некоторые популярные плагины и их описание:

yum-plugin-fastestmirror – плагин служащий для измерения скорости зеркал и предоставления самого быстрого для установки пакетов.

yum-plugin-security — плагин которые предоставляет список обновлений относящихся только к безопасности системы.

yum-plugin-keys — позволяет работать с ключами keys, keys-info, keys-data, keys-remove

Директория где хранятся все плагины /etc/yum/

yum-plugin-versionlock – позволяет блокировать обновление указанных пакетов

Вывести список доступных плагинов yum:

Вы можете установить выбранный плагин командой yum install , как и любой другой пакет:

Чтобы заблокировать обновление пакета через плагин, выполните:

Вывести список заблокировнных пакетов:

Убрать пакет из заблокированных:


Если вам в какой-то момент времени не нужно использовать определенный плагин, вы его можете отключить, добавив префикс при вызове yum:

Или же отключить вообще все плагины, установленные в системе:

Использование yum через прокси

Если прокси-сервер требует авторизацию, добавьте строки:

Для проверки работы yum через прокси сервер воспользуйтесь командой:

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

В этом мануале вы узнаете, как установить веб-сервер Apache на сервер CentOS 7.

Требования

  • Сервер CentOS 7.
  • Пользователь с доступом к sudo (все действия нужно выполнить в сессии этого пользователя). Инструкции можно найти в мануале по начальной настройке сервера.
  • Базовый брандмауэр (читайте мануал Дополнительные рекомендации по настройке сервера CentOS 7).

1: Установка Apache

Пакет Apache есть в стандартном репозитории CentOS, потому его можно установить с помощью стандартного пакетного менеджера yum.

Как пользователь с правами sudo, обновите индекс локальных пакетов:

Затем введите команду:

Команда установит Apache и его зависимости. Теперь можно запустить сервис.

2: Проверка веб-сервера

В CentOS веб-сервер Apache не запускается автоматически после завершения установки. Вам нужно запустить Apache вручную:

Убедитесь, что сервер запущен:

В выводе должен быть статус active.

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

Чтобы открыть стандартную посадочную страницу Apache, укажите свое доменное имя или IP сервера.

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

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

Также вы можете узнать свой IP, запросив его с помощью команды curl:

Узнав свой внешний адрес, введите в браузер:

Вы увидите стандартную страницу Apache для CentOS 7.

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

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

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

Запустить сервер может команда:

Для перезапуска используйте:

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

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

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

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

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

Создайте дополнительный каталог для хранения логов нового сайта:

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

sudo chmod -R 755 /var/www

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

Нажмите i, чтоб перейти в режим INSERT, и вставьте в файл:

Сохраните и закройте файл (Esc, :wq, Enter).

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

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

Теперь настройте Apache для поиска виртуальных хостов в каталоге sites-enabled. Для этого отредактируйте главный конфигурационный файл:

В конец файла добавьте строку:

Сохраните и закройте файл. Теперь можно создать сам виртуальный хост.

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

Сохраните и закройте файл.

Включите файл, создав символьную ссылку на этот виртуальный хост в каталоге sites-enabled (так Apache будет понимать, что этот сайт нужно обслуживать):

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

5: Настройка прав SELinux для виртуального хоста

Существуют различные способы установки политик в зависимости от потребностей вашей среды (SELinux позволяет настраивать уровень безопасности). Этот раздел продемонстрирует два метода настройки политик Apache: глобальный и в определенном каталоге. Корректировка политик для отдельного каталога более безопасна и поэтому является рекомендуемым подходом.

Глобальное изменение политик Apache

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

Изменение политики по каталогам

Эта команда выводит список всех контекстов SELinux для каталогов:

sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?"

Затем используйте команду restorecon, чтобы применить эти изменения и сохранить их при перезагрузке:

Флаг -R запускает эту команду рекурсивно, то есть она обновит все существующие файлы и они тоже будут использовать новый контекст. Флаг -v выведет изменения контекста, которые выполнила команда. Вы увидите следующий вывод, подтверждающий изменения:

Снова запросите список контекстов:

Вы увидите изменения:

6: Тестирование виртуального хоста (рекомендуется)

Вы увидите, что Apache смог создать файлы error.log и requests.log, указанные в конфигурации виртуального хоста:

-rw-r--r--. 1 root root 0 Feb 26 22:54 error.log
-rw-r--r--. 1 root root 0 Feb 26 22:54 requests.log

Если страница открылась, значит виртуальный хост успешно настроен и обслуживает контент. Повторите разделы 4 и 5, чтобы создать новые виртуальные хосты и обновить привилегии SELinux.

Заключение

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

Если вы хотите установить полный стек приложений, читайте Установка LAMP stack на CentOS 7.

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