LoginSignup
6
8

More than 3 years have passed since last update.

LAMP環境を構築する【CentOS7】

Last updated at Posted at 2020-01-28

LAMP環境はご存知でしょうか。

Webサービスを始める人にとってはとても大切なLAMP環境。
「まだLAMP環境を構築したことがない」「そもそもLAMP環境とは何か知らない」という方でも理解できる内容にしました。

まずは、LAMP環境とは一体何なのかをしっかりと解説していきます。
なお、この記事ではCentOSで解説を進めていきます。コマンドは多少違いますが、設定部分や手順はあまり変わりません。UbuntuやDebianでのLAMP環境構築の参考にもなるかと思います。

目次

  1. この記事の対象者
  2. LAMP環境とは
  3. Linuxインストール
  4. Apacheインストール
  5. MySQLインストール
  6. PHPインストール
  7. 最後に

1. この記事の対象者

この記事は、以下の読者を対象に書かれています。

  • LAMP環境構築をしたことがない
  • LAMP環境構築とは何かを知らない
  • CentOSインストールはできる
  • Linuxコマンドはある程度使える

CentOSインストールが分からないという方は、以下の記事を参考にしてみてください。
【初心者でもわかる】Linux CentOSのインストール方法まとめ

2. LAMP環境とは

LAMP環境とは、サーバの環境構築には欠かせないものです。

  • Linux(リナックス)
  • Apache(アパッチ)
  • MySQL(マイエスキューエル)
  • PHP(ピーエイチピー)

の頭文字をとってLAMP(ランプ)と呼びます。
これらが揃うことによって、Webサービスを提供できる環境が整います。つまり、LAMP環境の構築方法さえ一度知ってしまえば、いつでも簡単にWebサービスを提供できるようになります。

Linux とは

まず、LinuxはOS(Operating System)のことです。
みなさんがよく使用しているPCにも「Mac OS」や「Windows OS」がインストールされているため、パソコンとして使用できています。

もし、OSが入っていなかった場合は「PCのような見た目の機械」になってしまいます。つまり、電源をつけても真っ暗でうんともすんとも言わない機械ということです。
PCには、何らかのOSが入っているおかげで、私たちは不自由なくパソコンを使用することができているのです。

その中でもLinuxはOSSで、大抵は無料で利用することができます。詳しい説明はここでは割愛しますが、Linuxで有名なのは「CentOS」や「Ubuntu」です。この機会に覚えてしまうといいでしょう。

Apache とは

次に、Apacheです。
Apacheはアパッチと読みます。Apacheをインストールすることによって、webサーバの機能が使えるようになります。

MySQL とは

そして、MySQL。
これは、オープンソースのリレーショナルデータベース管理システムです。データを扱うための言語であるSQLを使ってデータの管理をします。データベースと呼ばれる膨大なデータを格納するために必要になります。会員情報やログイン時刻などのデータの保存に使われます。

PHP とは

最後に、PHPです。
PHPはHypertext Preprocessorの略で、web開発に適したオープンソースの汎用スクリプト言語です。ログイン処理やフォームデータを扱う際などに必要となります。

3. Linuxインストール

CentOSからISOイメージをダウンロードし、WindowsのRufusを使って、お持ちのUSBを起動可能なUSBドライブにします。
USBをPCに接続し、BIOS(リンク)を立ち上げてCentOSをインストールします。
正常にインストールが終了したら、Linuxインストールは完了です。

ちなみに、ここで落とし穴があります。
それは違うプラットフォーム用のISOイメージをインストールしてしまうことです。
PC用のものなのかをしっかりと確認してからインストールしましょう。
仮に違うプラットフォーム用のISOイメージをインストールしてもCentOSとApacheのインストールは正常に完了しますが、その後のPHPインストールはエラーが出ます。

4. Apacheインストール

以下のコマンドをコピペして実行していってください。
ちなみにですが、コード内の#は入力しません。

Apacheインストール

# yum -y install httpd

起動状態の確認

# systemctl status httpd

Apacheを起動

# systemctl start httpd.service

自動起動を有効にする

# systemctl enable httpd.service

自動起動の状態を確認する

# systemctl is-enabled httpd.service

SElinuxを永続的に無効化(enforcingdisabledに変更)

# vi /etc/selinux/config

SELINUX=disabled

firewalldを停止

# systemctl stop firewalld

firewalldを無効化

# systemctl disable firewalld 

CentOS再起動

# reboot

PCのIPアドレスを確認して、ブラウザで192.168.×.×にアクセスしてみましょう。
以下のように表示されたら、Apacheインストール完了です。

apache.png

4. MySQLインストール

リポジトリファイルをインストール

# yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

MySQLインストール

# yum -y install mysql mysql-devel mysql-server mysql-utilities

my.cnfの編集

# vi /etc/my.cnf

my.cnf内の[mysqld]に以下を追記する

character-set-server = utf8

MySQL起動

# systemctl start mysqld

MySQLにログイン(passwordなし、そのままEnterキーでログイン)

# mysql -u root -p

rootのパスワードを任意のパスワードに変更

> UPDATE mysql.user SET password=password('任意のパスワード') WHERE user = 'root';

変更の反映

> FLUSH PRIVILEGES;

MySQLからログアウト

> exit;

自動起動を有効にする

# systemctl enable mysqld.service

自動起動の状態を確認する

# systemctl is-enabled mysqld.service

MySQL再起動

# systemctl restart mysqld

これでMySQLのインストールは完了です。

5. PHPインストール

EPELリポジトリ追加

# yum install epel-release

Remiリポジトリ追加

# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

インストール実行

# yum install --enablerepo=remi,remi-php70 php php-mbstring php-devel php-pdo php-gd

php.iniの編集

# vi /etc/php.ini

date.timezone = "Asia/Tokyo"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none
mbstring.func_overload = 0
mbstring.strict_detection = Off
mbstring.http_output_conv_mimetype=

Apache再起動

# systemctl restart httpd

テストファイルを作成

# vi /var/www/html/index.php

infoを表示するコード↓を記述して保存

<?php phpinfo(); ?>

ブラウザからアクセスして、以下のようにinfoが表示されていればOK。

phpinfo.png

6. 最後に

これでLAMP環境構築は完了です。
Webサイトを公開する時は、/var/www/htmlフォルダ内に公開したいファイルを置きましょう。

7. 参考

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8