Create dnf.xml

This commit is contained in:
Mikhail Alferov
2024-09-25 13:06:59 +03:00
committed by GitHub
parent 43a3a0814c
commit 656c3edccc

114
install/unix/dnf.xml Normal file
View File

@ -0,0 +1,114 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4cb53ecbd763db2db808e90d7eda63afb380e6df Maintainer: malferov Status: ready -->
<!-- Reviewed: no -->
<sect1 xml:id="install.unix.dnf" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Установка из пакетов на дистрибутивы GNU/Linux с менеджером пакетов DNF</title>
<simpara>
Хотя PHP устанавливают из исходного кода, в системах наподобие Red Hat Enterprise Linux,
OpenSUSE, Fedora, CentOS, Rocky Linux и Oracle Enterprise Linux, которые работают
с менеджером пакетов DNF, он также доступен в виде пакетов.
</simpara>
&warn.install.third-party-support;
<simpara>
Пакеты устанавливают командой <command>dnf</command>.
</simpara>
<sect2 xml:id="install.unix.dnf.packages">
<title>Установка пакетов</title>
<simpara>
Первое, обратите внимание, что часто требуются и другие связанные пакеты, например
пакет <literal>php-pear</literal> для установки модулей из репозитория <link xlink:href="&url.pear;">PEAR</link>
или пакет <literal>php-mysqlnd</literal> для установки модуля <link linkend="book.mysqlnd">MySQL
</link>.
</simpara>
<simpara>
Второе, перед установкой пакета лучше обновить список
пакетов. Обычно это делают путём запуска команды
<command>dnf update</command>.
</simpara>
<example xml:id="install.unix.dnf.example">
<title>Пример установки пакета через пакетный менеджер DNF</title>
<programlisting role="shell">
<![CDATA[
# dnf install php php-common
]]>
</programlisting>
</example>
<simpara>
Менеджер пакетов DNF автоматически установит PHP-конфигурацию для веб-сервера,
а чтобы изменения вступили в силу потребуется перезапустить веб-сервер.
Например:
</simpara>
<example xml:id="install.unix.dnf.example2">
<title>Перезапуск веб-сервера Apache после установки PHP</title>
<programlisting role="shell">
<![CDATA[
# sudo systemctl restart httpd
]]>
</programlisting>
</example>
</sect2>
<sect2 xml:id="install.unix.dnf.config">
<title>Улучшенный контроль конфигурации</title>
<para>
В последнем разделе PHP установили только с базовыми модулями.
Вероятно, потребуются дополнительные модули наподобие
<simplelist type="inline">
<member><link linkend="book.mysql">MySQL</link></member>
<member><link linkend="book.curl">cURL</link></member>
<member><link linkend="book.image">GD</link></member>
<member>другие.</member>
</simplelist>
Дополнительные модули также устанавливают через команду <command>dnf</command>.
</para>
<example xml:id="install.unix.dnf.config.example">
<title>Вывод списка дополнительных PHP-пакетов</title>
<programlisting role="shell">
<![CDATA[
# dnf search php
]]>
</programlisting>
</example>
<simpara>
В список попадёт много пакетов —
базовые PHP-компоненты наподобие <literal>php-cli</literal>,
<literal>php-fpm</literal> и <literal>php-devel</literal>
и много PHP-модулей. При установке модулей автоматически установятся
дополнительные пакеты, которые удовлетворят зависимости пакетов.
</simpara>
<example xml:id="install.unix.dnf.config.example2">
<title>Установка PHP с модулями MySQL и GD</title>
<programlisting role="shell">
<![CDATA[
# dnf install php-mysqlnd php-gd
]]>
</programlisting>
</example>
<simpara>
Пакетный менеджер DNF автоматически добавит строки конфигурации
в файлы наподобие <filename>/etc/php/8.3/php.ini</filename>,
<filename>/etc/php/8.3/conf.d/*.ini</filename> и другие файлы, которые связаны с файлом PHP-конфигурации &php.ini;,
и добавит для модулей записи вроде <literal>extension=foo.so</literal>.
Изменения вступят в силу после перезапуска веб-сервера, того же Apache.
</simpara>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->