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

CentOS 7 に Apache、PHP、MySQL をインストールする (LAMP)

このチュートリアルでは、PHP5 サポート (mod_php) と MySQL サポートを備えた CentOS 7.0 サーバーに Apache2 Web サーバーをインストールする方法を示します。LAMP は L inux、A pache、M ySQL、P HP の略です。

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

2 MySQL / MariaDB のインストール

MariaDB は、元の MySQL 開発者 Monty Widenius による MySQL のフォークです。MariaDB は MySQL と互換性があり、ここでは MySQL の代わりに MariaDB を使用することにしました。MySQL をインストールするには、次のように 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

/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

NOTE: このスクリプトのすべての部分を実行することは、すべての MariaDB

サーバーの本番使用に推奨されます! 各ステップを注意深くお読みください!

MariaDB にログインしてセキュリティを確保するには、現在の

root ユーザーのパスワードが必要です。 MariaDB をインストールしたばかりで、

まだ root パスワードを設定していない場合、パスワードは空白になります。

そのため、ここでは Enter を押すだけで大丈夫です。

現在の root のパスワードを入力してください (なしの場合は Enter):

<–ENTER

OK、パスワードが正常に使用されました。次に進みます…

root パスワードを設定すると、適切な認証なしに誰も MariaDB の

root ユーザーにログインできなくなります。

root パスワードを設定しますか? [Y/n]

新しいパスワード:

<–yourmariadbpassword

新しいパスワードを再入力してください:

<–yourmariadbpassword

パスワードが正常に更新されました!

特権テーブルを再読み込みしています..

… 成功!

デフォルトでは、MariaDB のインストールには匿名ユーザーが含まれており、誰でも

ユーザーアカウントを作成することなく MariaDB にログインできます。これはテスト用にのみ

意図されており、インストールを少しスムーズにするためのものです。 本番環境に移行する前に、これらを削除する必要があります。

匿名ユーザーを削除しますか? [Y/n]

<–ENTER

… 成功!

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

リモートからの root ログインを禁止しますか? [Y/n]

<–ENTER

… 成功!

デフォルトでは、MariaDB には誰でもアクセスできる ‘test’ という名前のデータベースが付属しています。 これもテスト用にのみ意図されており、本番環境に移行する前に削除する必要があります。

テストデータベースとそのアクセスを削除しますか? [Y/n]

<–ENTER

  • テストデータベースを削除しています…

… 成功!

  • テストデータベースの特権を削除しています…

… 成功!

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

特権テーブルを今すぐ再読み込みしますか? [Y/n]

<–ENTER

… 成功!

クリーンアップ中…

すべて完了しました! 上記のすべての手順を完了した場合、MariaDB のインストールは

今や安全であるはずです。

MariaDB をご利用いただきありがとうございます!

[root@server1 ~]#

3 Apache2 のインストール

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

yum -y install httpd

[root@server1 ~]# yum install httpd

プラグインが読み込まれました: fastestmirror, langpacks

キャッシュされたホストファイルからミラーの速度を読み込んでいます

  • base: ftp.plusline.de

  • extras: mirror.23media.de

  • updates: mirror.23media.de

パッケージ httpd-2.4.6-17.el7.centos.1.x86_64 はすでにインストールされており、最新バージョンです

何もすることはありません

[root@server1 ~]#

デフォルトでは apache がインストールされます。インストールされていない場合は、上記のようにインストールしてください。

次に、システムを構成してブート時に Apache を起動します…

systemctl start httpd.service
systemctl enable httpd.service

CentOS 7.0 では Firewall-cmd を使用するため、外部からポート 80 (http) と 443 (https) へのアクセスを許可するようにカスタマイズします。

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

ブラウザを http://192.168.0.100 に向けると、Apache2 のプレースホルダーページが表示されるはずです:

4 PHP5 のインストール

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

yum -y install php

その後、Apache を再起動する必要があります:

systemctl restart httpd.service

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

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

vi /var/www/html/info.php

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

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

6 PHP5 での MySQL サポートの取得

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

yum search php

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

yum -y install php-mysql

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

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

次に Apache2 を再起動します:

systemctl restart httpd.service

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

7 phpMyAdmin のインストール

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

yum install phpMyAdmin

次に phpMyAdmin を構成します。 phpMyAdmin が localhost からの接続だけでなく、接続を許可するように Apache 設定を変更します (ディレクトリ “ /usr/share/phpmyadmin “ スタンザのコメントを外します):

vi /etc/httpd/conf.d/phpMyAdmin.conf
[...]  
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

#
#   
#     # Apache 2.4
#     
#       Require ip 127.0.0.1
#       Require ip ::1
#     
#   
#   
#     # 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 に変更します:

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

Apache を再起動します:

systemctl restart  httpd.service

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

8 リンク

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

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

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