1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Rocky Linux 9にPHP 8.3をRemi Repositoryからインストールする

Posted at

What's?

以前、CentOS 8向けにこういう記事を書きました。

これからCentOSからAlmaLinuxやRocky Linuxを使うようになったので、あらためて書いておこうかなということで。

Remi Repositoryについて

Remi Repository自体については、こちらを参照。

Which are the goals of this repository?

Remi RepositoryからのPHPのインストール方法

Remi RepositoryからのPHPのインストール方法は、このあたりを参考に。

環境

今回の環境はこちら。Rocky Linux 9.4です。

$ cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)


$ uname -srvmpio
Linux 5.14.0-427.40.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 16 14:57:47 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

標準のリポジトリからインストールできるPHPのバージョンを確認する

まずはRocky Linuxの標準のリポジトリからインストールできるPHPのバージョンを確認してみましょう。

$ dnf info php
メタデータの期限切れの最終確認: 0:00:21 前の 2024年10月31日 04時06分15秒 に実施しました。
利用可能なパッケージ
名前         : php
バージョン   : 8.0.30
リリース     : 1.el9_2
Arch         : x86_64
サイズ       : 7.7 k
ソース       : php-8.0.30-1.el9_2.src.rpm
リポジトリー : appstream
概要         : PHP scripting language for creating dynamic web sites
URL          : http://www.php.net/
ライセンス   : PHP and Zend and BSD and MIT and ASL 1.0 and NCSA
説明         : PHP is an HTML-embedded scripting language. PHP attempts to make it
             : easy for developers to write dynamically generated web pages. PHP also
             : offers built-in database integration for several commercial and
             : non-commercial database management systems, so writing a
             : database-enabled webpage with PHP is fairly simple. The most common
             : use of PHP coding is probably as a replacement for CGI scripts.

PHP 8.0ですね。

PHPのサポートバージョンを考えると、現時点でちょっと古いです。

Remi Repositoryを有効にして、PHP 8.3をインストールする

まずはRemi Repositoryを有効にします。

$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

PHPモジュールをリセットします。

$ sudo dnf module reset php

Remi RepositoryからPHP 8.3をインストールします。

$ sudo dnf module install php:remi-8.3

一緒にインストールされるモジュールはこちら。

==================================================================================================================================================================================================================================================================
 パッケージ                                                       アーキテクチャー                                       バージョン                                                            リポジトリー                                                 サイズ
==================================================================================================================================================================================================================================================================
group/moduleパッケージをインストール:
 php-cli                                                          x86_64                                                 8.3.13-1.el9.remi                                                     remi-modular                                                 5.6 M
 php-common                                                       x86_64                                                 8.3.13-1.el9.remi                                                     remi-modular                                                 1.2 M
 php-fpm                                                          x86_64                                                 8.3.13-1.el9.remi                                                     remi-modular                                                 1.9 M
 php-mbstring                                                     x86_64                                                 8.3.13-1.el9.remi                                                     remi-modular                                                 581 k
 php-xml                                                          x86_64                                                 8.3.13-1.el9.remi                                                     remi-modular                                                 224 k
依存関係のインストール:
 httpd-filesystem                                                 noarch                                                 2.4.57-11.el9_4.1                                                     appstream                                                     11 k
 libxslt                                                          x86_64                                                 1.1.34-9.el9                                                          appstream                                                    240 k
 oniguruma5php                                                    x86_64                                                 6.9.9-1.el9.remi                                                      remi-safe                                                    219 k
弱い依存関係のインストール:
 nginx-filesystem                                                 noarch                                                 1:1.20.1-16.el9_4.1                                                   appstream                                                    8.1 k
モジュールプロファイルのインストール中:
 php/common
モジュールストリームの有効化中:
 php                                                                                                                     remi-8.3

PHP 8.3がインストールされました。

$ php --version
PHP 8.3.13 (cli) (built: Oct 22 2024 18:39:14) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.3.13, Copyright (c) Zend Technologies

Apacheやnginx向けの設定ファイルも含まれています。

$ find /etc/httpd /etc/nginx -type f
/etc/httpd/conf.d/README
/etc/httpd/conf.d/php.conf
/etc/nginx/conf.d/php-fpm.conf
/etc/nginx/default.d/php.conf

なお、この時点でインストールできるPHPモジュールはこちらですね。

$ dnf module list php
メタデータの期限切れの最終確認: 0:00:06 前の 2024年10月31日 04時14分21秒 に実施しました。
Rocky Linux 9 - AppStream
Name                                                  Stream                                                    Profiles                                                                    Summary
php                                                   8.1                                                       common [d], devel, minimal                                                  PHP scripting language
php                                                   8.2                                                       common [d], devel, minimal                                                  PHP scripting language

Remi's Modular repository for Enterprise Linux 9 - x86_64
Name                                                  Stream                                                    Profiles                                                                    Summary
php                                                   remi-7.4                                                  common [d], devel, minimal                                                  PHP scripting language
php                                                   remi-8.0                                                  common [d], devel, minimal                                                  PHP scripting language
php                                                   remi-8.1                                                  common [d], devel, minimal                                                  PHP scripting language
php                                                   remi-8.2                                                  common [d], devel, minimal                                                  PHP scripting language
php                                                   remi-8.3                                                  common [d], devel, minimal                                                  PHP scripting language
php                                                   remi-8.4                                                  common [d], devel, minimal                                                  PHP scripting language

ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Apacheをインストールして動作確認する

Remi RepositoryからPHPをインストールした時に、Apacheの設定ファイルが含まれていました。

$ grep -v '^ *#' /etc/httpd/conf.d/php.conf
<Files ".user.ini">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
        Satisfy All
    </IfModule>
</Files>

AddType text/html .php

DirectoryIndex index.php

<IfModule  mod_php.c>
    <FilesMatch \.(php|phar)$>
        SetHandler application/x-httpd-php
    </FilesMatch>


    php_value session.save_handler "files"
    php_value session.save_path    "/var/lib/php/session"
    php_value soap.wsdl_cache_dir  "/var/lib/php/wsdlcache"

</IfModule>

<IfModule !mod_php5.c>
  <IfModule !mod_php7.c>
    <IfModule !mod_php.c>
      SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1

      <FilesMatch \.(php|phar)$>
          SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
      </FilesMatch>
    </IfModule>
  </IfModule>
</IfModule>

こちらがそのまま使えそうなので、Apacheをインストールして動作確認をしてみましょう。

$ sudo dnf install httpd

バージョン。

$ httpd -V
Server version: Apache/2.4.57 (Rocky Linux)
Server built:   Aug  5 2024 00:00:00
Server's Module Magic Number: 20120211:127
Server loaded:  APR 1.7.0, APR-UTIL 1.6.1, PCRE 8.44 2020-02-12
Compiled using: APR 1.7.0, APR-UTIL 1.6.1, PCRE 8.44 2020-02-12
Architecture:   64-bit
Server MPM:     event
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_PROC_PTHREAD_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

動作確認用のファイルを作成。

/var/www/html/index.php
<?php

phpinfo();

PHP-FPMとApacheを起動。

$ sudo systemctl start php-fpm
$ sudo systemctl start httpd

あとはhttp://localhostにアクセスして、結果を確認。

image.png

OKですね。

PHP-FPMとApacheの自動起動の有効化は必要に応じて。

$ sudo systemctl enable php-fpm
$ sudo systemctl enable httpd
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?