サーバー設定 · 3 min read · Dec 06, 2025

CentOS 7.4にApache、PHP 7.2、MySQLをインストールする方法 (LAMP)

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

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

1 前提条件

このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.1.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!  
  
In order to log into MariaDB to secure it, we'll need the current  
password for the root user.  If you've just installed MariaDB, and  
you haven't set the root password yet, the password will be blank,  
so you should just press enter here.  
  
Enter current password for root (enter for none): <--ENTER  
OK, successfully used password, moving on...  
  
Setting the root password ensures that nobody can log into the MariaDB  
root user without the proper authorisation.  
  
Set root password? [Y/n]   
New password: <--yourmariadbpassword  
Re-enter new password: <--yourmariadbpassword  
Password updated successfully!  
Reloading privilege tables..  
 ... Success!  
  
By default, a MariaDB installation has an anonymous user, allowing anyone  
to log into MariaDB without having to have a user account created for  
them.  This is intended only for testing, and to make the installation  
go a bit smoother.  You should remove them before moving into a  
production environment.  
  
Remove anonymous users? [Y/n] <--ENTER  
 ... Success!  
  
Normally, root should only be allowed to connect from 'localhost'.  This  
ensures that someone cannot guess at the root password from the network.  
  
Disallow root login remotely? [Y/n] <--ENTER  
 ... Success!  
  
By default, MariaDB comes with a database named 'test' that anyone can  
access.  This is also intended only for testing, and should be removed  
before moving into a production environment.  
  
Remove test database and access to it? [Y/n] <--ENTER  
 - Dropping test database...  
 ... Success!  
 - Removing privileges on test database...  
 ... Success!  
  
Reloading the privilege tables will ensure that all changes made so far  
will take effect immediately.  
  
Reload privilege tables now? [Y/n] <--ENTER  
 ... Success!  
  
Cleaning up...  
  
All done!  If you've completed all of the above steps, your MariaDB  
installation should now be secure.  
  
Thanks for using MariaDB!  
[root@server1 ~]#

3 Apacheのインストール

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

yum -y install httpd

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

CentOSにApache httpサーバーをインストール

次に、システムを起動時に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.1.100)に向けると、Apacheのプレースホルダーページが表示されるはずです。

CentOS 7で起動したApacheウェブサーバー

4 PHPのインストール

CentOSに付属するPHPのバージョンはかなり古い(PHP 5.4)です。したがって、この章ではRemiリポジトリからPHP 7.0や7.1などの新しい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を更新します。

yum update

サーバーで使用するPHPバージョンを選択する必要があります。PHP 5.4を使用する場合は、4.1章に進んでください。PHP 7.0をインストールするには4.2章のコマンドに従い、PHP 7.1の場合は4.3章、PHP 7.2の場合は4.4章を使用してください。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

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

変更を適用するために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.1.100/info.php):

CentOS 7にインストールされたPHP 7.2

ご覧の通り、PHP 7.2が動作しており、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.1.100/info.phpを再読み込みし、モジュールセクションに再度スクロールします。そこにはcurlなどの新しいモジュールがたくさん見つかるはずです。

CentOSにPHP 7.2に追加されたMySQLサポート

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

rm /var/www/html/info.php

7 phpMyAdminのインストール

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

yum -y install phpMyAdmin

次に、phpMyAdminを構成します。Apacheの設定を変更して、phpMyAdminがlocalhostからの接続だけでなく許可するようにします(のスタンザをコメントアウトし、’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 ip 127.0.0.1  
# Require ip ::1  
#   
 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
  
  
[...] 

次に、phpMyAdminの認証をcookieからhttpに変更します。

nano /etc/phpMyAdmin/config.inc.php
[...]  
$cfg['Servers'][$i]['auth_type']     = 'http';    // 認証方法(config、httpまたはcookieベース)?  
[...]  

Apacheを再起動します。

systemctl restart  httpd.service

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

CentOS 7.4にインストールされたPHPMyAdmin

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

このセットアップは、howtoforgeのサブスクライバー向けにova/ovf形式(VMWareおよびVirtualboxと互換性あり)で仮想マシンダウンロードとして利用可能です。

VMのログイン詳細

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

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

  • VMのIPアドレスは192.168.1.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

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

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