サーバー設定 · 2 min read · Nov 25, 2025

CentOS 7.6にApache、PHP 7.3、MySQLをインストールする方法

このチュートリアルでは、CentOS 7サーバーにApacheウェブサーバーをPHP(mod_php)およびMySQLデータベースと共にインストールする方法を示します。LAMPはLinux、Apache、MySQL、PHPの略です。

この更新されたチュートリアルでは、CentOS 7.6に最新のPHPバージョン(7.0、7.1、7.2、7.3)をインストールする方法を示します。

1 前提条件

このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.0.100を使用します。これらの設定はあなたの環境によって異なる場合があるため、適宜置き換えてください。

最新のphpMyAdminをインストールするために、ここにEPELリポジトリを追加します。

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*  
yum -y install epel-release

シェルでファイルを編集するために、nanoエディタをインストールします。ファイル編集にviを好む場合は、このステップをスキップしてください。

yum -y install nano

2 MySQL / MariaDBのインストール

MariaDBは、元のMySQL開発者Monty WideniusによるMySQLのフォークです。MariaDBはMySQLと互換性があり、ここではMySQLの代わりにMariaDBを使用することにしました。yumを使用してMariaDBをインストールするには、次のコマンドを実行します。

yum -y install mariadb-server mariadb

次に、MySQLのシステム起動リンクを作成し(システムが起動するたびにMySQLが自動的に起動するように)、MySQLサーバーを起動します。

systemctl start mariadb.service  
systemctl enable mariadb.service

MySQLのrootアカウントのパスワードを設定します。

mysql_secure_installation
[root@server1 ~]# mysql_secure_installation  

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB  
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!  

MariaDBを保護するためにログインするには、現在のrootユーザーのパスワードが必要です。MariaDBをインストールしたばかりで、まだrootパスワードを設定していない場合、パスワードは空白のため、ここでEnterを押すだけです。  

Enter current password for root (enter for none): <--ENTER  
OK, successfully used password, moving on...  

rootパスワードを設定することで、適切な認証なしに誰もMariaDBのrootユーザーにログインできないようにします。  

Set root password? [Y/n]   
New password: <--yourmariadbpassword  
Re-enter new password: <--yourmariadbpassword  
Password updated successfully!  
Reloading privilege tables..  
 ... Success!  
  
デフォルトでは、MariaDBのインストールには匿名ユーザーが存在し、誰でもユーザーアカウントを作成せずにMariaDBにログインできます。これはテスト用にのみ意図されており、インストールを少しスムーズにするためのものです。プロダクション環境に移行する前に、これらを削除する必要があります。  

Remove anonymous users? [Y/n] <--ENTER  
 ... Success!  

通常、rootは「localhost」からのみ接続を許可されるべきです。これにより、誰かがネットワークからrootパスワードを推測できないようにします。  

Disallow root login remotely? [Y/n] <--ENTER  
 ... Success!  

デフォルトでは、MariaDBには誰でもアクセスできる「test」という名前のデータベースがあります。これもテスト用にのみ意図されており、プロダクション環境に移行する前に削除する必要があります。  

Remove test database and access to it? [Y/n] <--ENTER  
 - Dropping test database...  
 ... Success!  
 - Removing privileges on test database...  
 ... Success!  

特権テーブルを再読み込みすることで、これまでに行ったすべての変更が即座に適用されることを保証します。  

Reload privilege tables now? [Y/n] <--ENTER  
 ... Success!  

Cleaning up...  

すべて完了しました!上記のすべてのステップを完了した場合、MariaDBのインストールは安全になっているはずです。  

MariaDBをご利用いただきありがとうございます!  
[root@server1 ~]#

## 3 Apacheのインストール

CentOS 7にはApache 2.4が付属しています。ApacheはCentOS 7パッケージとして直接利用可能であるため、次のようにインストールできます。

yum -y install httpd


ここにインストールプロセスのスクリーンショットがあります。

![CentOSにApacheウェブサーバーをインストール中](/files/a4555e19-9850-40d6-a5fe-a7bf679c3810.png)

次に、システムを起動時にApacheを開始するように構成します...

systemctl start httpd.service

systemctl enable httpd.service


外部からウェブサーバーにアクセスできるようにするために、ファイアウォールでHTTP(80)およびHTTPS(443)ポートを開く必要があります。CentOSのデフォルトファイアウォールはfirewalldであり、firewalld-cmdコマンドで構成できます。

firewall-cmd –permanent –zone=public –add-service=http
firewall-cmd –permanent –zone=public –add-service=https
firewall-cmd –reload


次に、ブラウザをサーバーのIPアドレス(私の場合はhttp://192.168.0.100)に向けると、Apacheのプレースホルダーページが表示されるはずです。

![CentOSのApacheデフォルトページ](/files/f714344b-1432-4f98-b56f-910cd59b90c9.png)

## 4 PHPのインストール

CentOSに付属するPHPのバージョンはかなり古い(PHP 5.4)です。したがって、この章ではRemiリポジトリからPHP 7.0から7.3までの新しいPHPバージョンをインストールするいくつかのオプションを示します。

Remi CentOSリポジトリを追加します。

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm


yum-config-managerユーティリティが必要なため、yum-utilsをインストールします。

yum -y install yum-utils


そしてyum updateを実行します。

yum update


サーバーで使用するPHPバージョンを選択する必要があります。PHP 5.4を使用する場合は、章4.1に進んでください。PHP 7.0をインストールするには、章4.2のコマンドに従い、PHP 7.1は章4.3、PHP 7.4は章4.4、PHP 7.3は章4.5に従ってください。4.xの章のいずれか1つに従ってください。Apache mod_phpでは一度に1つのPHPバージョンしか使用できません。

### 4.1 PHP 5.4のインストール

PHP 5.4をインストールするには、次のコマンドを実行します。

yum -y install php


### 4.2 PHP 7.0のインストール

PHP 7.0とApache PHP 7.0モジュールを次のようにインストールできます。

yum-config-manager –enable remi-php70

yum -y install php php-opcache


### 4.3 PHP 7.1のインストール

PHP 7.1を使用する場合は、次のようにします。

yum-config-manager –enable remi-php71

yum -y install php php-opcache


### 4.4 PHP 7.2のインストール

PHP 7.2を使用する場合は、次のようにします。

yum-config-manager –enable remi-php72

yum -y install php php-opcache


### 4.5 PHP 7.3のインストール

PHP 7.3を使用する場合は、次のようにします。

yum-config-manager –enable remi-php73

yum -y install php php-opcache


この例とダウンロード可能な仮想マシンでは、PHP 7.3を使用します。

変更を適用するためにApacheを再起動する必要があります。

systemctl restart httpd.service


## 5 PHPのテスト / PHPインストールの詳細を取得

デフォルトのウェブサイトのドキュメントルートは/var/www/htmlです。そのディレクトリに小さなPHPファイル(info.php)を作成し、ブラウザで呼び出してPHPインストールをテストします。このファイルは、インストールされているPHPバージョンなど、PHPインストールに関する多くの有用な詳細を表示します。

nano /var/www/html/info.php


次に、ブラウザでそのファイルを呼び出します(例:http://192.168.0.100/info.php):

![PHPバージョン情報](/files/3b51c4d2-96bf-4844-be9c-2e5fd9ea126b.png)

ご覧の通り、PHP 7.3が動作しており、Server API行に示されているようにApache 2.0ハンドラを介して動作しています。さらに下にスクロールすると、PHPで既に有効になっているすべてのモジュールが表示されます。MySQLはそこにリストされていないため、まだPHPにMySQLサポートがありません。

## 6 PHPでのMySQLサポートの取得

PHPでMySQLサポートを取得するには、php-mysqlndパッケージをインストールできます。アプリケーションに必要な他のPHPモジュールもインストールするのが良いアイデアです。次のようにして利用可能なPHP5モジュールを検索できます。

yum search php


必要なものを選択して、次のようにインストールします。

yum -y install php-mysqlnd php-pdo


次のステップでは、Wordpress、Joomla、DrupalなどのCMSシステムに必要な一般的なPHPモジュールをいくつかインストールします。

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel


次に、Apacheウェブサーバーを再起動します。

systemctl restart httpd.service


次に、ブラウザでhttp://192.168.0.100/info.phpを再読み込みし、モジュールセクションに再度スクロールします。そこにはcurlなどの新しいモジュールがたくさん見つかるはずです。

![PHPは現在MySQLサポートが有効](/files/1d5db46d-ea94-4df3-92bc-102ae00c167f.png)

PHP情報の出力がもはや必要ない場合は、セキュリティ上の理由からそのファイルを削除してください。

rm /var/www/html/info.php


## 7 phpMyAdminのインストール

phpMyAdminは、MySQLデータベースを管理するためのウェブインターフェースです。  
phpMyAdminは次のようにインストールできます。

yum -y install phpMyAdmin


次に、phpMyAdminを構成します。phpMyAdminがlocalhostからだけでなく接続を許可するようにApacheの設定を変更します(スタンザをコメントアウトし、「Require all granted」行を追加します)。

nano /etc/httpd/conf.d/phpMyAdmin.conf

[…]
Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin

AddDefaultCharset UTF-8


# Apache 2.4

Require all granted


# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1

    Options none
    AllowOverride Limit
    Require all granted

[…]


設定変更を適用するためにApacheを再起動します。

systemctl restart  httpd.service


その後、http://192.168.0.100/phpmyadmin/でphpMyAdminにアクセスできます。

![PHPMyAdminログイン](/files/463ca033-a215-4840-ad4d-097800651e07.png)

![CentOSのPHPMyAdmin](/files/83af6d39-f74b-45b8-a7db-9d5c3362ca3d.png)

## 8 仮想マシンとしてダウンロード

このセットアップは、howtoforgeのサブスクライバー向けにova/ovf形式の仮想マシンダウンロードとして利用可能です。

VMのログイン詳細

- Linuxのrootパスワードは:howtoforgeです。
- MySQLのrootパスワードは:howtoforgeです。

最初のログイン時に両方のパスワードを変更してください。

- VMのIPアドレスは192.168.0.100です。

## 9 リンク

Apache: http://httpd.apache.org/  
PHP: http://www.php.net/  
MySQL: http://www.mysql.com/  
CentOS: http://www.centos.org/  
phpMyAdmin: http://www.phpmyadmin.net/
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。