CentOS 7 に Apache、MySQL 8 または MariaDB 10、および PHP 7 をインストールする
このハウツー ガイドでは、Apache、MySQL 8 または MariaDB 10 および PHP 7 の最新バージョンをインストールする方法について説明します。 と、RHEL/CentOS 7/6 および Fedora 24-29 で必要な PHP モジュール。
オペレーティング システム (Linux) と Web サーバー (Apache)、データベース サーバー (MariaDB/MySQL)、およびサーバー側スクリプトの組み合わせです。言語 (PHP) はLAMP スタックとして知られています。
お見逃しなく: CentOS 7 に Nginx 1.15、MariaDB 10、および PHP 7 をインストールする方法
2015 年 9 月以降、PHP 5.4 は PHP チームによってサポートされなくなり、サポートが終了しました。それでも、PHP 5.4 はRHEL/CentOS 7 に同梱されています。 /6 にはマイナー バージョンが変更されており、Red Hat がサポートしているため、上位バージョンにアップグレードする必要はありません。ただし、セキュリティとパフォーマンスを向上させるために、PHP 5.4 を PHP 5.5 以降 にアップグレードすることを強くお勧めします。
現在の Linux ディストリビューションに同梱されているものは次のとおりです。
PHP Current Version | RHEL/CentOS 7 | RHEL/CentOS 6 |
---|---|---|
7.3 | 5.4 | 5.3 |
これを行うには、EPEL と Remi リポジトリを有効にし、yum と dnf (Fedora で利用可能な新しいパッケージ管理ツール) を使用します。
ステップ 1: EPEL と Remi リポジトリのインストール
EPEL (Enterprise Linux 用の追加パッケージ) は、RHEL ベースの Linux ディストリビューション用のアドオン ソフトウェア パッケージを提供するコミュニティ ベースのリポジトリです。
Remi は、Fedora および Enterprise Linux ディストリビューションにインストールするための PHP スタック (フル機能) の最新バージョンを見つけることができるリポジトリです。
RHEL/CentOS 7 の場合
yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
------ For RHEL 7 Only ------
subscription-manager repos --enable=rhel-7-server-optional-rpms
RHEL/CentOS 6 の場合
yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
------ For RHEL 6 Only ------
subscription-manager repos --enable=rhel-6-server-optional-rpms
Fedora 24 ~ 29 について
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm [On Fedora 29]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm [On Fedora 28]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm [On Fedora 27]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm [On Fedora 26]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm [On Fedora 25]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm [On Fedora 24]
ステップ 2: Apache Web サーバーのインストール
Apache は、Windows だけでなくほとんどの UNIX ベースのオペレーティング システム上で動作する無料のオープンソース HTTP Web サーバーです。そのため、静的な Web ページを提供したり、動的なコンテンツを処理したりするために使用できます。最近のレポートによると、Apache は Web サイトやインターネットに接続されたコンピュータで使用される最大のサーバーです。
Apache Web サーバーをインストールするには、まずシステム ソフトウェア パッケージを更新し、次のコマンドを使用してインストールします。
yum -y update
yum install httpd
Apache Web サーバーをインストールしたら、システム起動時に自動起動するように有効にすることができます。
systemctl start httpd
systemctl enable httpd
systemctl status httpd
firewalld を実行している場合は、ファイアウォールで Apache トラフィックを許可してください。
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload
ステップ 3: Remi リポジトリを使用して PHP をインストールする
PHP (ハイパーテキスト プリプロセッサ) は、Web 開発に最適な無料のオープン ソースのサーバー側スクリプト言語です。これは、Web サイトの動的な Web ページを作成するために使用でき、*nix サーバーで最も頻繁に見られます。 PHP の利点の 1 つは、さまざまなモジュールを使用して簡単に拡張できることです。
PHP をインストールするには、まず、yum リポジトリとパッケージを管理するための便利なプログラムのコレクションである yum-utils
をインストールして、Remi リポジトリを有効にする必要があります。
yum install yum-utils
インストールしたら、yum-utils
によって提供される yum-config-manager を使用して、図に示すように、Remi リポジトリをさまざまな PHP バージョンをインストールするためのデフォルト リポジトリとして有効にすることができます。
たとえば、PHP 7.x バージョンをインストールするには、次のコマンドを使用します。
------------- On CentOS & RHEL -------------
yum-config-manager --enable remi-php70 && yum install php [Install PHP 7.0]
yum-config-manager --enable remi-php71 && yum install php [Install PHP 7.1]
yum-config-manager --enable remi-php72 && yum install php [Install PHP 7.2]
yum-config-manager --enable remi-php73 && yum install php [Install PHP 7.3]
------------- On Fedora -------------
dnf --enablerepo=remi install php70 [Install PHP 7.0]
dnf --enablerepo=remi install php71 [Install PHP 7.1]
dnf --enablerepo=remi install php72 [Install PHP 7.2]
dnf --enablerepo=remi install php73 [Install PHP 7.3]
次に、この記事では次のすべての PHP モジュールをインストールします。次のコマンドを使用して、さらに PHP 関連モジュール (Web アプリケーションに必要な特定の機能を統合するため) を検索できます。
------ RHEL/CentOS 7/6------
yum search all php
------ Fedora ------
dnf search all php
ディストリビューションに関係なく、上記のコマンドは、パッケージ名や説明に php
という単語を含む、現在有効なリポジトリ内のパッケージのリストを返します。
インストールするパッケージは次のとおりです。 MySQL コネクタ (PHP、Perl、Python、Java など) は、両方のシステムが同じクライアント プロトコルとクライアント ライブラリを使用するため、MariaDB でも変更なく動作することに注意してください。バイナリ互換性があります。
- MariaDB/MySQL (php-mysql) – MariaDB サポートを PHP に追加する動的共有オブジェクト。
- PostgreSQL (php-pgsql) – PHP 用の PostgreSQL データベース サポート。
- MongoDB (php-pecl-mongo) – PHP で MongoDB データベースと通信するためのインターフェイス。
- 汎用 (php-pdo) – PHP にデータベース アクセス抽象化レイヤーを追加する動的共有オブジェクト。
- Memcache (php-pecl-memcache) – Memcached は、オブジェクトをメモリに保存することでデータベースの負荷を軽減するために、動的 Web アプリケーション向けに特別に設計されたキャッシュ デーモンです。
- Memcached (php-pecl-memcached) – libmemcached ライブラリを使用して memcached サーバーと通信するための API を提供する拡張機能。
- GD (php-gd) – PHP に gd グラフィック ライブラリの使用サポートを追加する動的共有オブジェクト。
- XML (php-xml) – XML ドキュメントを操作するためのサポートを PHP に追加する動的共有オブジェクト。
- MBString (php-mbstring) – PHP アプリケーションでマルチバイト文字列を処理するための拡張機能。
- MCrypt (php-mcrypt) – PHP スクリプト用の Mcrypt ライブラリ。
- APC (php-pecl-apcu) – PHP コードの最適化とキャッシュに使用される APC モジュール。
- CLI (php-cli) – PHP のコマンドライン インターフェイス。
- PEAR (php-pear) – PHP 用のアプリケーション リポジトリ フレームワーク。
以下のコマンドを使用して、以下の必要な PHP モジュールをインストールします。
------ On RHEL/CentOS 7/6 ------
yum --enablerepo=remi install php-mysqlnd php-pgsql php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear
------ On Fedora ------
dnf --enablerepo=remi install php-mysqlnd php-pgsql php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear
ステップ 4: MySQL または MariaDB データベースのインストール
このセクションでは、MySQL と MariaDB の両方のデータベースのインストールについて説明します。要件に基づいて何を選択するかはあなた次第です。
MySQL 8 データベースサーバーのインストール
MySQL は、世界で最も人気のあるオープンソース リレーショナル データベース管理システム (RDBMS) の 1 つであり、複数のデータベースへのマルチユーザー アクセスを提供することであらゆるサーバーを実行します。 MySQL は Apache で実行されます。
最新のMySQL 8.0 バージョンをインストールするには、次のコマンドを使用して公式のMySQL Yum ソフトウェア リポジトリをインストールして有効にします。
rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm [On RHEL/CentOS 7]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm [On RHEL/CentOS 6]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc29-1.noarch.rpm [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc28-1.noarch.rpm [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc27-1.noarch.rpm [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc26-1.noarch.rpm [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc25-1.noarch.rpm [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc24-1.noarch.rpm [On Fedora 29]
Linux プラットフォーム用の MySQL Yum ソフトウェア リポジトリをインストールした後、次のコマンドを使用して、MySQL の最新バージョン (現在は 8.0) をインストールします。
yum install mysql-community-server [On RHEL/CentOS]
dnf install mysql-community-server [On Fedora]
MySQL のインストールが成功したら、次のコマンドを使用して MySQL サーバーを起動します。
service mysqld start
MySQL 8 データベースのインストールを安全に行う方法に関する記事をご覧ください。
MariaDB 10 データベースサーバーのインストール
MariaDB は、世界で最も人気のあるリレーショナル データベース管理システム (RDBMS) の 1 つである、よく知られた MySQL のフォークです。これは完全にコミュニティによって開発されており、FOSS のままであり、GPL と互換性があることが意図されています。
MySQL ユーザーであるか、以前であった場合、MariaDB への移行は非常に簡単なプロセスになります。データベースへの接続、バックアップと復元、管理に使用される一般的なコマンドは、両方の RDBMS で同じです。
最新の RHEL/CentOS 7 ディストリビューションでは、MariaDB は MySQL のドロップイン代替品であり、RHEL/CentOS 6 では MySQL は同じままであり、MariaDB をインストールすることはできません。デフォルトのリポジトリからRHEL/CentOS 6をインストールしますが、公式の MariaDB リポジトリを使用して MariaDB をインストールできます。
RHEL/CentOS 7 ディストリビューションで MariaDB リポジトリを有効にするには、次の内容を含む /etc/yum.repos.d/mariadb.repo
という名前のファイルを作成します。
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
注: 上で述べたように、公式の MariaDB リポジトリを使用して MariaDB をRHEL/CentOS 6 にインストールすることもできます。
MariaDB リポジトリを有効にした後、次の操作を実行します。
------ On RHEL/CentOS 7 ------
yum --enablerepo=remi install httpd MariaDB-client MariaDB-server
------ On Fedora ------
dnf --enablerepo=remi install httpd MariaDB-client MariaDB-server
ステップ 5: Apache および MySQL/MariaDB を有効化/開始する
SystemD 上
------ Enable Apache and MariaDB on Boot ------
systemctl enable httpd
systemctl enable mariadb
------ Start Apache and MariaDB ------
systemctl start httpd
systemctl start mariadb
SysVinit について
------ Enable Apache and MySQL on Boot ------
chkconfig --levels 235 httpd on
chkconfig --levels 235 mysqld on
------ Start Apache and MySQL ------
/etc/init.d/httpd start
/etc/init.d/mysqld start
ステップ 6: PHP のインストールの確認
PHP をテストする古典的な方法にこだわりましょう。 /var/www/html に test.php
という名前のファイルを作成し、次のコード行をそれに追加します。
phpinfo()
関数は、現在の PHP インストールに関する大量の情報を表示します。
<?php
phpinfo();
?>
次に、Web ブラウザで http://[server]/test.php
をポイントし、ページを下にスクロールして、インストールされているモジュールと追加のソフトウェアの存在を確認します ([server]
を置き換えます) をドメインまたはサーバーの IP アドレスに置き換えます)。出力は次のようになります。
おめでとう!これで、LAMP スタックの最新の動作可能なインストールが完了しました。何かが期待どおりに進まない場合は、以下のフォームを使用してお気軽にお問い合わせください。質問や提案も歓迎です。
注: ここで説明する手順に従ってカスタム リポジトリを作成することで、他のディストリビューションに MariaDB をインストールすることもできます。