RedHat 8.8 に prel5.30,php7.3 インストール

## vagrant

```bash
mkdir /VBoxGuestAdditions
mount -o loop,ro VBoxGuestAdditions.iso /VBoxGuestAdditions
sh /VBoxGuestAdditions/VBoxLinuxAdditions.run
```

```bash
#dnf repolist
Updating Subscription Management repositories.
repo id                                                       repo name
epel                                                          Extra Packages for Enterprise Linux 8 - x86_64
epel-modular                                                  Extra Packages for Enterprise Linux Modular 8 - x86_64
rhel-8-for-x86_64-appstream-rpms                              Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
rhel-8-for-x86_64-baseos-rpms                                 Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)
```

## 特定のバージョンにアップデート

```bash
dnf --releasever=8.8 update
```

## プロフィールの確認

```bash
dnf module info php:7.3 --profile
```

```text
[root@redhat8 ~]# dnf module info php:7.3 --profile
Updating Subscription Management repositories.
Last metadata expiration check: 0:01:57 ago on Sun 14 Jan 2024 08:59:46 AM UTC.
Name    : php:7.3:8010020190701134122:2430b045:x86_64
common  : php-cli
        : php-common
        : php-fpm
        : php-json
        : php-mbstring
        : php-xml
devel   : libzip
        : php-cli
        : php-common
        : php-devel
        : php-fpm
        : php-json
        : php-mbstring
        : php-pear
        : php-pecl-zip
        : php-process
        : php-xml
minimal : php-cli
        : php-common
# TODO 7.3のバージョン?が違うものが複数ある？？
Name    : php:7.3・・・
```

```bash
dnf module info perl:5.30 --profile
```

```text
[root@redhat8 ~]# dnf module info perl:5.30 --profile
Name    : perl:5.30:8030020200609055348:568f3a16:x86_64
common  : perl
minimal : perl-interpreter

Name    : perl:5.30:8040020200923213406:466ea64f:x86_64
common  : perl
minimal : perl-interpreter
```

## perl 5.30 install

以下の結果なにも表示されないこと。入っている場合は消す。perl-libsがある場合削除すると依存関係でかなり消える。

```bash
dnf list installed | grep perl 
```

```bash
[root@redhat8 ~]# dnf module list perl
perl                   5.24                          common [d], minimal                  Practical Extraction and Report Language
perl                   5.26 [d][e]                   common [d], minimal                  Practical Extraction and Report Language
perl                   5.30                          common [d], minimal                  Practical Extraction and Report Language
perl                   5.32                          common [d], minimal                  Practical Extraction and Report Language
```

5.26 [d][e] となっている場合は以下を実施。[e]nabled

```bash
dnf module reset perl
```

```bash
[root@redhat8 ~]# dnf module list perl
Name                    Stream                     Profiles                              Summary
perl                    5.24                       common [d], minimal                   Practical Extraction and Report Language
perl                    5.26 [d]                   common [d], minimal                   Practical Extraction and Report Language
perl                    5.30                       common [d], minimal                   Practical Extraction and Report Language
perl                    5.32                       common [d], minimal                   Practical Extraction and Report Language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
```

```text
 Problem 1: 
    module perl:5.30:8040020200923213406:466ea64f.x86_64 from rhel-8-for-x86_64-appstream-rpms conflicts with module(perl:5.26) provided by perl:5.26:820181219174508:9edba152.x86_64 from rhel-8-for-x86_64-appstream-rpms
  - module perl:5.26:820181219174508:9edba152.x86_64     from rhel-8-for-x86_64-appstream-rpms conflicts with module(perl:5.30) provided by perl:5.30:8040020200923213406:466ea64f.x86_64 from rhel-8-for-x86_64-appstream-rpms
  - module freeradius:3.0:8060020211210155858:bc93984d.x86_64 from rhel-8-for-x86_64-appstream-rpms requires module(perl:5.26), but none of the providers can be installed
  - conflicting requests
 Problem 2: 
    module perl:5.30:8030020200609055348:568f3a16.x86_64 from rhel-8-for-x86_64-appstream-rpms conflicts with module(perl:5.26) provided by perl:5.26:820181219174508:9edba152.x86_64 from rhel-8-for-x86_64-appstream-rpms
  - module perl:5.26:820181219174508:9edba152.x86_64     from rhel-8-for-x86_64-appstream-rpms conflicts with module(perl:5.30) provided by perl:5.30:8030020200609055348:568f3a16.x86_64 from rhel-8-for-x86_64-appstream-rpms
  - module freeradius:3.0:8010020190614154208:16b3ab4d.x86_64 from rhel-8-for-x86_64-appstream-rpms requires module(perl:5.26), but none of the providers can be installed
  - conflicting requests
```

上記の対応

```bash
[root@redhat8 ~]# dnf module list freeradius
Updating Subscription Management repositories.
Last metadata expiration check: 0:05:16 ago on Sun 14 Jan 2024 11:53:10 AM UTC.
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
Name                      Stream                 Profiles                 Summary
freeradius                3.0 [d]                server [d]               High-performance and highly configurable free RADIUS server

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
```

```bash
dnf module disable freeradius
```

```bash
dnf --allowerasing module enable perl:5.30
```

5.30 が [e] となっている。

```bash
[root@redhat8 ~]# dnf module list perl
Updating Subscription Management repositories.
Last metadata expiration check: 0:08:37 ago on Sun 14 Jan 2024 11:53:10 AM UTC.
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
Name                    Stream                     Profiles                              Summary
perl                    5.24                       common [d], minimal                   Practical Extraction and Report Language
perl                    5.26 [d]                   common [d], minimal                   Practical Extraction and Report Language
perl                    5.30 [e]                   common [d], minimal                   Practical Extraction and Report Language
perl                    5.32                       common [d], minimal                   Practical Extraction and Report Language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
```

```bash
dnf install perl
```

```bash
[root@redhat8 ~]# dnf install perl
Updating Subscription Management repositories.
Last metadata expiration check: 0:09:35 ago on Sun 14 Jan 2024 11:53:10 AM UTC.
Dependencies resolved.
===================================================================================================================================================
 Package                            Architecture Version                                              Repository                              Size
===================================================================================================================================================
Installing:
 perl                               x86_64       4:5.30.1-452.module+el8.4.0+8990+01326e37            rhel-8-for-x86_64-appstream-rpms        82 k
Upgrading:
・・・
```

```bash
[root@redhat8 ~]# perl -V:version
version='5.30.1';
```

追加のモジュールとかも問題なくインストールできているようだ。

```bash
[root@redhat8 ~]# dnf install perl-DBD-Pg
[root@redhat8 ~]# find / -type -f -name "*DBD-Pg*"
find: Arguments to -type should contain only one letter
[root@redhat8 ~]# find / -type f -name "*DBD-Pg*"
/etc/dnf/modules.d/perl-DBD-Pg.module
/var/lib/dnf/modulefailsafe/perl-DBD-Pg:3.7:x86_64.yaml
```

## php 7.3 install

```bash
dnf module list php
dnf module enable php:7.3
dnf install php
```

```bash
[root@redhat8 ~]# php -v
PHP 7.3.20 (cli) (built: Jul  7 2020 07:53:49) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.20, Copyright (c) 1998-2018 Zend Technologies
[root@redhat8 ~]#
```

```bash
# 追加のモジュールもインストールできる。ただ、mcrypt?は大丈夫か？
dnf install php-mbstring
```

php 関連情報

```bash
[root@redhat8 ~]# rpm -qa | grep php
php-mbstring-7.3.20-1.module+el8.2.0+7373+b272fdef.x86_64
php-common-7.3.20-1.module+el8.2.0+7373+b272fdef.x86_64
php-fpm-7.3.20-1.module+el8.2.0+7373+b272fdef.x86_64
php-cli-7.3.20-1.module+el8.2.0+7373+b272fdef.x86_64
php-7.3.20-1.module+el8.2.0+7373+b272fdef.x86_64
[root@redhat8 ~]# rpm -qs php-7.3.20-1.module+el8.2.0+7373+b272fdef
normal        /etc/httpd/conf.d/php.conf
normal        /etc/httpd/conf.modules.d/15-php.conf
normal        /usr/lib/.build-id
normal        /usr/lib/.build-id/76
normal        /usr/lib/.build-id/76/f6be716a0d51a8faf7d220421170a8157ad5c7
normal        /usr/lib64/httpd/modules/libphp7.so
normal        /usr/share/httpd/icons/php.gif
normal        /var/lib/php/opcache
normal        /var/lib/php/session
normal        /var/lib/php/wsdlcache
```