今回はCentOS7でのLAMP環境の構築を行っていきます。 LAMPとはLinux環境でのApache(Webサーバー)・MySQL(データベース)・PHPの実行環境のことで、この環境ができあがればPHPを利用したWEBアプリケーションを動作させることができるようになります。

CentOS7でLAMP環境の構築

3年以上前に更新されました。情報が古い可能性があります。
更新日 : 2020年07月03日

今回はCentOS7でのLAMP環境の構築を行っていきます。

LAMPとはLinux環境でのApache(Webサーバー)・MySQL(データベース)・PHPの実行環境のことで、この環境ができあがればPHPを利用したWEBアプリケーションを動作させることができるようになります。

各種ソフトウエアのインストール

前回と前々回の記事でPHP・Apache(httpd)・MySQLのインストールまでを行う記事を公開しているのでそちらを読んで、各種ソフトウエアのインストールを行いましょう。

これらの記事を読んでインストールを行えば、LAMP環境自体の構築は完了です。

MySQLに関してはMySQLカテゴリーの内容を元にユーザー作成などを実行すれば環境は整うかと思います。

今回はWEBサーバー(httpd)の設定を行い、ブラウザでサーバーにアクセスし、PHPが実行できるところまで確認していきます。

Apache httpdの設定ファイルを確認

まずはhttpdの設定ファイルを確認してどのように動作するのかを確認していきます。

以下のコマンドで設定ファイルを閲覧してみます。

$less /etc/httpd/conf/httpd.conf

開くとほとんどが#でコメントアウトされていて、各設定項目の説明が英語で記載されていることがわかるかと思います。

重要な設定をいくつか見ていきます。

  • Listen 80
    待機するポート番号を示します。デフォルトの設定ではHTTPプロトコルでデフォルトとして採用されている80番が有効化されています。
  • User apacheGroup apache
    WEBサーバーの実行ユーザーです。ドキュメントルート配下はこのユーザーとグループが所有者かつ書き込み・実行権限が必要なことが多いです。
  • #ServerName www.example.com:80
    デフォルトではコメントアウトされていますが、サーバー名を記載します。
    ドメインを設定した場合にはこれを有効化する必要があります。
  • DocumentRoot "/var/www/html"
    ドキュメントルートの設定です。デフォルトでは/var/www/htmlがドキュメントルートとして設定されています。つまりこのディレクトリの配下が公開され、ブラウザで見ることができるようになります。
  • IncludeOptional conf.d/*.conf
    このファイルの最後に記載されています。別のディレクトリに存在する設定ファイルを読み込む設定です。デフォルトでは/etc/httpd/conf.d/*.confとなります。/etc/httpd/conf.dディレクトリ内に存在する拡張子が.confとなっている設定ファイルを読み込むという設定です。
    基本的にはサイトごとの設定をこのディレクトリ内に作成してサイトを公開するほうが管理がしやすくなります。

いくつか説明しましたが、特に重要なのがドキュメントルートの設定です。 デフォルトでは/var/www/htmlディレクトリが公開ディレクトリとなっています。

ではこのドキュメントルートの設定を元に、テスト用のPHPファイルを作成してアクセスしてみましょう。

WEBサーバーを起動し、テスト用のPHPファイルを作成

WEBサーバーの起動

まずはWEBサーバーを起動して、OSが再起動されても自動的に起動するように自動起動設定を行いましょう。

# httpdの起動
$sudo systemctl start httpd

# 自動起動設定
$sudo systemctl enable httpd

これでhttpdのWEBサーバーが起動します。起動が完了すれば、サーバーにブラウザからアクセスすることができます。IPアドレスを直接指定してアクセスすることになります。ローカルで環境構築した場合や仮想マシンで構築した場合にはlocalhostや仮想マシンのIPアドレスを利用しましょう。

IPアドレスを調べたい場合には以下のコマンドで確認しましょう。

$hostname -i
IPアドレスが出力
httpdのWelcomeページ
httpdのWelcomeページ

これで初期ページが表示できれば適切に起動できています。

PHPファイルを作成してPHPがブラウザで実行できるか確認

次にPHPファイルをドキュメントルート配下に配置し、PHPが実行できるか確認していきます。以下のコマンドはrootユーザーにて行ってください。

# ドキュメントルートへ移動
$cd /var/www/html

# phpinfo.phpファイルを作成し、"<?php phpinfo(); ?>"を書き込む 
$echo "<?php phpinfo(); ?>" > phpinfo.php

# ドキュメントルートの所有者をapacheへ変更
$chown -Rf apache:apache /var/www/html

これでドキュメントルート配下にphpinfo.phpファイルが作成されました。あとはこれをブラウザでアクセスしてみましょう。

http://IPアドレス/phpinfo.phpでアクセスできます。

phpinfoの確認
phpinfoの確認

PHP関連の情報がズラッと並ぶのが確認できるはずです。これでAapache(httpd)・MySQL・PHPの実行環境がCentOS7(Linux)で整いました。LAMP環境の完成です。

まとめ

今回はインストールに関しては別記事の内容で記載済みなので、PHPをブラウザから実行確認するところまでを行いました。phpinfoの情報は誰でも見れてしまう状態になっているので、実行確認ができたら削除するなどの対応を行っておきましょう。

WEBサーバーの基本的な設定内容については説明しましたが、実際のPHPでのWEBアプリケーションを実行する場合にはもう少し複雑な設定を追加しないといけないため、別記事で解説します。