Совпадений не найдено centos release scl

Обновлено: 01.07.2024

Red Hat Enterprise Linux - это дистрибутив корпоративного уровня, который продолжает поддерживать старое программное обеспечение, которое давно уже должно было быть забыто. Они делают это не из-за нежелания обновлять систему, а потому что так нужно клиентам. Основная концепция - вы получаете систему и можете пользоваться ей без необходимости обновления версии так долго, сколько захотите.

CentOS основана на Red Hat и ведет себя точно так же. Обновления сосредоточены больше на исправлении уязвимостей в системе, чем на поставлении новых версий программ. Но это не очень подходит, если вы разрабатываете программное обеспечение, требующее более новых версий системных компонентов. Например, если вам нужно PHP 7.0, то получить его будет довольно сложно. В репозиториях, на данный момент есть только PHP 5.4, к тому же очень важно, чтобы программа была совместима с другими компонентами стека, например, веб-сервером.

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

Репозитории CentOS 7

Настройка репозиториев CentOS может выполняться ручным редактированием конфигурационных файлов, но более популярен вариант с установкой файла репозитория. Установка репозиториев CentOS 7 выполняется путем установки rpm файла. Так принято для всех репозиториев. Чтобы посмотреть список репозиториев CentOS 7 подключенных к системе, выполните:


А теперь рассмотрим это более подробно, в списке репозиториев.

1. SСL

SСL или Software Collections - это репозиторий от Red Hat, содержащий новые версии пакетов и программного обеспечения. Файл его установщика есть в официальном репозитории, поэтому для установки достаточно набрать:

sudo yum install centos-release-scl

После этого вы можете выполнить поиск нужных пакетов:

sudo yum search php7

И сразу их установить:

sudo yum install rh-php70


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

scl enable rh-php70 bash

Пакеты, установленные с помощью scl, не будут активны после перезагрузки. Этот инструмент предназначен для установки нескольких версий пакетов в вашей систему. Вы можете настроить автоматическое включение пакетов, добавив команды enable в скрипт .bashrc. Все файлы устанавливаются в /opt/ поэтому для автоматической загрузки php добавьте такую строчку:

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

sudo yum --disablerepo "*" --enablerepo centos-sclo-rh list available | less


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

2. EPEL

EPEL или Extra Packages for Enterprise Linux - это репозиторий дополнительных пакетов для Red Hat, поддерживаемый командой проекта Fedora. Здесь есть новые версии программ, а также некоторые другие программы, которых нет в официальных репозиториях. Чтобы добавить репозиторий CentOS 7 выполните:

sudo yum install epel-release

Затем вы можете посмотреть список пакетов:

sudo yum --disablerepo "*" --enablerepo epel list available | less

3. Remi Collet

Remi Collet содержит тоже большое количество обновленных пакетов для CentOS от проекта Remi RPM. Этот репозиторий зависит от EPEL. Заметьте, что пакеты из этого репозитория имеют такие же имена, как и в официальных, поэтому это может вызвать нежелательное обновление, так что будьте осторожны.

Для установки необходимо скачать rpm пакет. Выполните:

4. IUS

Репозиторий IUS - это официальный репозиторий с новыми версиями пакетов от Red Hat. Здесь уже имена пакетов отличаются от используемых в репозитории по умолчанию от CentOS, поэтому проблем с обновлением не возникнет. Чтобы установить репозиторий CentOS 7 выполните:

5. nux-dextop

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

Удаление и отключение репозиториев

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

yum update --disablerepo=remi

Если нужно отключить репозиторий навсегда, то вам придется редактировать файл репозитория. Все файлы репозиториев находятся в папке /etc/yum.repos.d/. Например, чтобы отключить EPEL найдите его файл и замените строчку enabled=1 на enabled=0:

sudo vi /etc/yum.repos.d/epel.repo

Теперь, если вывести список репозиториев CentOS, то вы увидите что один из них отключен:


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

sudo yum remove epel-release

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

Выводы

В этой статье мы рассмотрели репозитории CentOS 7, которые могут понадобиться вам, если вы решите использовать эту систему для сервера или домашнего компьютера. Хотя для последнего тут не очень благоприятная обстановка с доступностью новых версий программ. Если у вас остались вопросы, спрашивайте в комментариях!

со вчерашнего дня вы задавали так много вопросов об ошибке с yum интернет-соединением и проблемами пути, вы только что подумали переустановить вашу систему? Кажется, это очень @ Кев Роб прибил это. Многие предприятия по-прежнему находятся в очень старых дистрибутивах. В настоящее время я работаю над CentOS4.5 для клиента и должен сделать много вещей, которые обычно не нужно делать.

Попробуйте это (должно быть root)

Отлично сработало, и это намного чище, чем некоторые другие ответы в этой теме. Мне пришлось добавить туда yum update --disableplugin fastestmirror проход, потому что один из этих шагов (вероятно yum clean ) удалил информацию, необходимую для контакта с зеркалами. Я сказал «нет», когда он предложил сделать обновление, затем сделал простой, yum update и на этот раз это удалось. Я полагаю, что первый проход заставил его загрузить свежий список зеркал с основного сайта CentOS, что позволило второму проходу пройти успешно.

так что попробуйте yum --disablerepo=addons update

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

Попробуйте сделать следующее.

Потом опять делай,

Если вы используете 6.5, я не знаю почему, но не существует каталога 6.5 в официальном репозитории yum для centOS. Все пакеты вернут код состояния 404

Если вы запустите «yum update» или «yum upgrade» без каких-либо других параметров, все пакеты в вашей системе, включая yum, будут обновлены, поэтому действительно не нужно обновлять yum самостоятельно, если вы не обновляете версии Fedora или CentOS.

На самом деле мне нужно установить FTP. Но когда я использую yum install ftp, у меня возникает та же проблема.

Я установил CentOS через Vagrant, и он пришел с /etc/yum.repos.d/ каталогом, заполненным такими вещами, как puppet.repo . И вот, puppet.repo и другие включенные репозитории не указывают на действительные ресурсы.

Так что я удалил их, и теперь работает Yum.

В моем случае, который является действительно исключительным, местоположение файла XML, который содержит информацию о репо, изменяется.

  • У меня есть подключение к интернету ( ping 8.8.8.8 работает)
  • Когда я запускаю yum upgrade , после большой 404 ошибки, я могу получить имена пакетов, которые я должен загрузить, но я не могу загрузить их.

И, когда я просматриваю первый URL 404 репо, который является:

Итак, я должен вернуться /etc/yum.repo.d к редактированию файлов.

Я подозреваю, что $releasever он больше не используется, поэтому я могу проверить его, изменив его на 7 : (не забудьте убежать & с \ )

Начиная с версии 5.0 веб-интерфейс Zabbix требует наличия PHP версии 7.2 или выше. К сожалению, RHEL / CentOS 7 предоставляет только PHP 5.4. На этой странице описан предлагаемый метод установки Zabbix frontend 5.0 на RHEL / CentOS 7.

Использование PHP и Nginx из Red Hat Software Collections

Это связано с тем, что пакеты веб-интерфейса были перемещены в отдельную вложенную папку frontend .
Однако их все еще можно установить, если предоставлены зависимости PHP 7.2.

Для вашего удобства прямая зависимость от PHP была удалена из основного пакета zabbix-web. Это дает большую гибкость в выборе способа решения вопроса зависимости PHP 7.2.

Рекомендуется использовать пакеты PHP из Red Hat Software Collections.
Чтобы активировать их, выполните:

На Oracle Linux

После этого команда

Должна возвращать список новых пакетов rh-php7*.

Далее отредактируйте файл /etc/yum.repos.d/zabbix.repo (если такого файла нет, сначала установите zabbix-release). Активируйте репозиторий zabbix-frontend .

Замените enabled=0 на enabled=1 .

На этом этапе поиск Zabbix с помощью yum должен вернуть пакет zabbix-web вместе с четырьмя новыми пакетами:

Установите пакет zabbix-web-mysql-scl для MySQL или пакет zabbix-web-pgsql-scl для PostgreSQL. Если вы используете Nginx, установите также zabbix-nginx-conf-scl .

В Zabbix 4.4 была добавлена ​​поддержка Nginx, но веб-сервер не был доступен в официальных репозиториях RHEL/CentOS 7. Таким образом, он должен был быть предоставлен пользователем через сторонние репозитории, в частности epel . В Zabbix 5.0, если вы используете Red Hat Software Collections, нет необходимости использовать какие-либо сторонние репозитории, поскольку Nginx доступен в SCL. Просто установите пакет zabbix-nginx-conf-scl .

Технические детали новых пакетов

zabbix-web-deps-scl

Этот пакет извлекает общие PHP-зависимости веб-интерфейса Zabbix из Red Hat Software Collections.

Он также содержит пул php-fpm для Zabbix, поскольку в этой конфигурации интерфейс работает через fastcgi как с Apache, так и с Nginx.
Файл конфигурации находится по адресу /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf .

zabbix-web-mysql-scl

Мета-пакет, который извлекает пакет zabbix-web и модуль MySQL для PHP вместе с общими зависимостями PHP.

zabbix-web-pgsql-scl

Мета-пакет, который извлекает пакет zabbix-web и модуль PostgreSQL для PHP вместе с общими зависимостями PHP.

zabbix-nginx-conf-scl

Этот пакет извлекает Nginx из Red Hat Software Collections.

Он также содержит файл конфигурации Zabbix для сервера Nginx по адресу /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf .

Использование сторонних репозиториев PHP

Если по каким-либо причинам вы не можете использовать Red Hat Software Collectiions, доступны следующие альтернативные методы:

Использование любого стороннего репозитория, предоставляющего PHP.

Модули PHP, необходимые для веб-интерфейса Zabbix: php-gd , php-bcmath , php-mbstring , php-xml , php-ldap и php-json .

Обновление до Zabbix 5.0 с более старых версий

Необходимо соблюдать особую осторожность при обновлении до Zabbix 5.0 с предыдущих версий.

Пакеты из Red Hat Software Collections предназначены для предотвращения конфликтов с файлами из основных репозиториев.
Каждый такой пакет устанавливается в отдельную среду, посвященную его группе.
Например, конфигурация пакетов из группы rh-php72-php* устанавливается в папку /etc/opt/rh/rh-php72/ , журналы - в папку /var/opt/rh/rh-php72/log/ , и т. д. Услуги, предоставляемые этими пакетами, имеют необычные названия, такие как rh-php72-php-fpm или rh-nginx116-nginx .

Официальные пакеты веб-интерфейса Zabbix 5.0 используют php-fpm как с Apache, так и с Nginx.

Процесс обновления с Apache

В этом разделе представлены инструкции для Apache по обновлению веб-интерфейса и сервера Zabbix с версии 4.0 или 4.4 до 5.0.
Ниже приведены инструкции по установке Zabbix с поддержкой MySQL. Замените mysql в командах на pgsql, чтобы использовать PostgreSQL.

Предполагается, что и интерфейс, и сервер работают на одной машине. Если у вас другая настройка, внесите соответствующие изменения.

Удалите старый веб-интерфейс

Установите репозиторий SCL

На RHEL выполните

На CentOS выпоните

На Oracle Linux выполните

Установите пакет релиза Zabbix 5.0 и включите репозиторий zabbix-frontend

Установите пакет zabbix-release-5.0 .

Отредактируйте файл /etc/yum.repos.d/zabbix.repo . Замените enabled=0 на enabled=1 .

Установите новые пакеты веб-интерфейса

Официальные пакеты веб-интерфейса Zabbix 5.0 используют php-fpm. Обновите часовой пояс в файле /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf .

Обновите оставшиеся пакеты и перезапустите Zabbix сервер

Перезапуск сервера Zabbix обновит базу данных. Убедитесь, что у вас сделана резервная копия базы.

Обновите оставшиеся службы

Запустите и включите службу php-fpm.

Процесс обновления с Nginx

Обновление до Zabbix 5.0 с помощью Nginx требует выполнения еще нескольких шагов.

Обязательно остановите и отключите старые Nginx и php-fpm перед обновлением. Для этого выполните:

Автор выбрал Apache Software Foundation для получения пожертвования в размере $100 в рамках программы Write for DOnations.

Введение

Стек ПО LEMP — это группа программного обеспечения с открытым исходным кодом, которая обычно устанавливается вместе, чтобы на сервере могли размещаться динамические веб-сайты и веб-приложения. Этот термин представляет собой акроним, представляющий операционную систему Linux с веб-сервером ENginx (который заменяет Apache в стеке LAMP). Данные сайта хранятся в базе данных MySQL (используется MariaDB), а за динамическое содержание отвечает PHP.

Компоненты стека LEMP иногда устанавливаются с помощью репозитория EPEL CentOS 7. Однако этот репозиторий содержит устаревшие пакеты. Например, вы не можете установить версию PHP старше 5.4.16 из EPEL, хотя этот релиз не поддерживается уже длительное время. Для получения новых версий программного обеспечения рекомендуется использовать набор Software Collections, также известный как SCL. SCL — это коллекции ресурсов для разработчиков, предоставленные RedHat, которые позволяют использовать различные версии программного обеспечения в одной и той же системе без какого-либо влияния на ранее установленные пакеты.

В этом руководстве вы установите стек LEMP на сервер с CentOS 7. Операционная система CentOS отвечает за работу компонентов Linux. Вы установите остальные компоненты с помощью репозитория Software Collections, а затем настроите их для обслуживания простой веб-страницы.

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

Прежде чем приступить к выполнению данного обучающего руководства, у вас должен быть сервер CentOS 7, настроенный согласно руководству по начальной настройке сервера CentOS 7, а также пользователь sudo без прав root.

Шаг 1 — Активация репозитория Software Collections

Для получения доступа к SCL для CentOS установите release-файл для Software Collections в CentOS:

Просмотрите список доступных пакетов SCL с помощью следующей команды:

Для предотвращения конфликтов в рамках всей системы пакеты SCL устанавливаются в директорию /opt/rh . Это позволяет установить, например, Python 3.5 на компьютере с CentOS 7 без удаления или вмешательства в работу Python 2.7.

Все файлы конфигурации для пакетов SCL хранятся в соответствующей директории внутри директории /etc/opt/rh/ . Пакеты SCL содержат скрипты, которые определяют переменные среды, необходимые для использования приложений внутри пакета, например, PATH , LD_LIBRARY_PATH и MANPATH . Эти скрипты хранятся в файловой системе в каталоге /opt/rh/ package-name /enable .

Теперь вы можете начать установку пакетов, описанных в этом руководстве.

Шаг 2 — Установка сервера Web Nginx

Для показа веб-страниц посетителям мы будем использовать Nginx, современный и эффективный веб-сервер.

Установите Nginx с помощью следующей команды yum . Обязательно замените выделенное значение версией Nginx, которую вы хотите установить; самая последняя версия будет иметь самый большой номер в имени пакета ( 112 на момент написания статьи):

После завершения установки запустите службу Nginx:

Проверьте, что Nginx запущен с помощью команды systemctl status​​​ :

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

После этого вы сможете запустить службу firewalld:

Перезапустите firewalld для вступления в силу новых правил брандмауэра:

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

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

Введите полученный IP-адрес в адресную строку браузера, в результате чего вы должны увидеть используемую по умолчанию начальную страницу Nginx:

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

Сервер Nginx установлен, и теперь вы можете перейти к установке программного обеспечения для работы с базами данных MariaDB.

Шаг 3 — Установка MariaDB для управления данными сайта

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

Установите MariaDB с помощью следующей команды. Снова замените выделенное значение номером версии, которую вы хотите установить, самый большой номер является номером самой последней версии ( 102 на момент написания):

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

После этого службу MariaDB можно считать установленной и запущенной. Однако ее настройка еще не завершена.

Для обеспечения безопасности MariaDB устанавливается вместе с скриптом безопасности, который напоминает вам о необходимости изменения небезопасных настроек по умолчанию. Запустите скрипт, введя следующую команду:

Вам потребуется ввести ваш текущий пароль root. Так как вы только что установили MySQL, у вас нет пароля, поэтому оставьте это поле пустым и нажмите ENTER . После этого вам будет предложено установить пароль root. Введите Y и следуйте этим инструкциям:

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

Последнее, что нужно сделать, — это активировать для MariaDB запуск при загрузке сервера. Для этого используйте следующую команду:

В данный момент ваша система базы данных настроена, и вы можете переходить к настройке PHP на своем сервере.

Шаг 4 — Установка и настройка PHP

Теперь у вас есть Nginx для обслуживания ваших страниц и MariaDB для хранения и управления данными, однако у вас до сих пор не установлено ПО, которое может генерировать динамическое содержание. Именно для этого и нужен PHP.

Поскольку Nginx не поддерживает нативную обработку PHP, как некоторые другие веб-серверы, вам потребуется установить php-fpm , т.е. «менеджер процессов fastCGI». Затем вы должны будете настроить Nginx, чтобы передавать PHP-запросы этому программному продукту.

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

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

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

В этом файле вам нужно найти параметр, который устанавливает значение для cgi.fix_pathinfo . Он будет закомментирован с помощью точки с запятой (;) и имеет значение «1» по умолчанию.

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

Измените оба эти условия, разкомментировав строку и установив значение «0»:

Сохраните и закройте файл после завершения редактирования (нажмите ESC, введите :wq, а затем нажмите ENTER). “”

По умолчанию этот файл настроен для работы с сервером Apache. Поскольку на вашем сервере установлен Nginx, найдите строки, которые устанавливают user и group и измените их значения с «apache» на «nginx»:

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

Теперь запустите процессор PHP с помощью следующей команды:

Активируйте запуск php-fpm при загрузке:

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

Шаг 5 — Настройка Nginx для использования процессора PHP

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

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

Раскомментируйте блок location

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

После внесения необходимых изменений вы можете сохранить файл и закрыть редактор.

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

После подтверждения корректности файла конфигурации перезагрузите Nginx, чтобы внесенные вами изменения вступили в силу:

Теперь, когда Nginx, PHP и MariaDB были установлены и настроены, осталось только подтвердить, что настройка стека LEMP способна корректно предоставлять содержание для посетителей вашего сайта.

Шаг 6 — Создание файла PHP для тестовой конфигурации

Ваш стек LEMP полностью настроен, и вы можете протестировать его, чтобы убедиться, что Nginx может корректно предоставлять файлы .php вашему процессору PHP. Для этого мы создадим тестовый файл PHP в корневой директории документа.

Откройте новый файл с названием info.php внутри корневой директории документа:

Добавьте в новый файл следующую строку. Это корректный код PHP, который будет возвращать информацию о вашем сервере:

После завершения редактирования сохраните и закройте файл. Затем откройте эту страницу в браузере, указав в адресной строке доменное имя вашего сервера или открытый IP-адрес и добавив /info.php :

Вы увидите веб-страницу, сгенерированную PHP, с информацией о вашем сервере:

Если ваша страница выглядит таким образом, вам удалось успешно реализовать обработку PHP с помощью Nginx.

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

Удалите файл, введя следующую команду:

Вы успешно подтвердили, что все компоненты стека LEMP установлены и настроены корректно на вашем сервере.

Заключение

Теперь у вас в распоряжении есть полностью настроенный стек LEMP на вашем сервере с CentOS 7. Он будет служить гибкой основой для предоставления веб-контента вашим посетителям.

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

Дополнительную информацию о Software Collections вы можете найти на официальном сайте.

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