ウェブサイト検索

CentOS 7 に Apache、MySQL 8 または MariaDB 10、および PHP 7 をインストールする


このハウツー ガイドでは、ApacheMySQL 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.4RHEL/CentOS 7 に同梱されています。 /6 にはマイナー バージョンが変更されており、Red Hat がサポートしているため、上位バージョンにアップグレードする必要はありません。ただし、セキュリティとパフォーマンスを向上させるために、PHP 5.4PHP 5.5 以降 にアップグレードすることを強くお勧めします。

現在の Linux ディストリビューションに同梱されているものは次のとおりです。

PHP Current Version RHEL/CentOS 7 RHEL/CentOS 6
7.3 5.4 5.3

これを行うには、EPELRemi リポジトリを有効にし、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 でも変更なく動作することに注意してください。バイナリ互換性があります。

  1. MariaDB/MySQL (php-mysql) – MariaDB サポートを PHP に追加する動的共有オブジェクト。
  2. PostgreSQL (php-pgsql) – PHP 用の PostgreSQL データベース サポート。
  3. MongoDB (php-pecl-mongo) – PHP で MongoDB データベースと通信するためのインターフェイス。
  4. 汎用 (php-pdo) – PHP にデータベース アクセス抽象化レイヤーを追加する動的共有オブジェクト。
  5. Memcache (php-pecl-memcache) – Memcached は、オブジェクトをメモリに保存することでデータベースの負荷を軽減するために、動的 Web アプリケーション向けに特別に設計されたキャッシュ デーモンです。
  6. Memcached (php-pecl-memcached) – libmemcached ライブラリを使用して memcached サーバーと通信するための API を提供する拡張機能。
  7. GD (php-gd) – PHP に gd グラフィック ライブラリの使用サポートを追加する動的共有オブジェクト。
  8. XML (php-xml) – XML ドキュメントを操作するためのサポートを PHP に追加する動的共有オブジェクト。
  9. MBString (php-mbstring) – PHP アプリケーションでマルチバイト文字列を処理するための拡張機能。
  10. MCrypt (php-mcrypt) – PHP スクリプト用の Mcrypt ライブラリ。
  11. APC (php-pecl-apcu) – PHP コードの最適化とキャッシュに使用される APC モジュール。
  12. CLI (php-cli) – PHP のコマンドライン インターフェイス。
  13. 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 データベースのインストール

このセクションでは、MySQLMariaDB の両方のデータベースのインストールについて説明します。要件に基づいて何を選択するかはあなた次第です。

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/htmltest.php という名前のファイルを作成し、次のコード行をそれに追加します。

phpinfo() 関数は、現在の PHP インストールに関する大量の情報を表示します。

<?php
	phpinfo();
?>

次に、Web ブラウザで http://[server]/test.php をポイントし、ページを下にスクロールして、インストールされているモジュールと追加のソフトウェアの存在を確認します ([server] を置き換えます) をドメインまたはサーバーの IP アドレスに置き換えます)。出力は次のようになります。

おめでとう!これで、LAMP スタックの最新の動作可能なインストールが完了しました。何かが期待どおりに進まない場合は、以下のフォームを使用してお気軽にお問い合わせください。質問や提案も歓迎です。

: ここで説明する手順に従ってカスタム リポジトリを作成することで、他のディストリビューションに MariaDB をインストールすることもできます。