🎩
RedHat Enterprise Linux 7でLAMP環境を構築する
RHELだと通常の構築とは異なる仕様だったため、メモします。
サブスクリプションの登録
初期状態でyumを使用しようとすると、this system is not registered with an entitlement server
というエラーが表示されるので、サブスクリプションの登録を行います。
# subscription-manager register
ユーザー名: <RHNのアカウント>
パスワード: <RHNのパスワード>
# subscription-manager subscribe --pool=<RHNのWEBページで確認した31桁のプールID>
# subscription-manager list
RHSCLを使えるようにする
ミドルウェアはRemiリポジトリからではなく、Red Hat Software Collections (RHSCL) からインストールします。
# yum-config-manager --enable rhel-server-rhscl-7-rpms
ApacheでPHPを使えるようにする
RHSCLでインストールしたPHPは、RHSCLのhttpd24に対してビルドされているため、デフォルトのhttpdパッケージには有効ではありません。RHSCLのhttpd24をインストールする必要があります。(ちなみに、このことについて説明した記事が、サブスクリプションしたユーザしか見られないようになっているのが、受託開発の身としては辛くもあります。)
# yum install httpd24 httpd24-mod_ssl
# service httpd stop
# chkconfig httpd off
# service httpd24-httpd start
# chkconfig httpd24-httpd on
設定ファイルは下記になります。
# vi /opt/rh/httpd24/root/etc/httpd/conf/httpd.conf
PHPをインストールする
RHSCL からPHP 7.3 をインストールします。
# yum install rh-php73 rh-php73-php rh-php73-php-mbstring rh-php73-php-pdo rh-php73-php-gd rh-php73-php-mysqlnd rh-php73-php-xml rh-php73-php-zip
RHSCLは /opt
以下に配置されるため、環境変数を読み込んで利用します。
# scl enable rh-php73 bash
# php -v
PHP 7.3.20 (cli) (built: Jul 10 2020 02:04:27) ( NTS )
Copyright (c) 1997-2018 The PHP Group
設定ファイルは下記になります。
# php -i | grep php.ini
Configuration File (php.ini) Path => /etc/opt/rh/rh-php73
Loaded Configuration File => /etc/opt/rh/rh-php73/php.ini
# vi /etc/opt/rh/rh-php73/php.ini
モジュールの追加は下記になります。
例えばioncube Loaderを追加した場合のサンプルです。
# mv ioncube/ /opt/rh/rh-php73/root/usr/lib64/php/modules
# vi /etc/opt/rh/rh-php73/php.d/00-ioncube.ini
zend_extension = /opt/rh/rh-php73/root/usr/lib64/php/modules/ioncube/ioncube_lin_7.3.so
MySQLをインストールする
RHSCL から MySQL 8.0 をインストールします。
# yum install rh-mysql80 rh-mysql80-mysql-server
# chkconfig rh-mysql80-mysqld on
# service rh-mysql80-mysqld start
こちらも /opt
以下に配置されるため、環境変数を読み込んで利用します。
# scl enable rh-mysql80 bash
# mysql -V
設定ファイルは下記になります。デフォルトの文字コードを記載しておきます。
# vi /etc/opt/rh/rh-mysql80/my.cnf.d/mysql-server.cnf
[mysqld]
character-set-server=utf8mb4
MySQLの初期設定を行い、ユーザの作成、データベースの作成を行ったら完了です。
# mysql_secure_installation
Discussion