LAMP環境はご存知でしょうか。
Webサービスを始める人にとってはとても大切なLAMP環境。
「まだLAMP環境を構築したことがない」「そもそもLAMP環境とは何か知らない」という方でも理解できる内容にしました。
まずは、LAMP環境とは一体何なのかをしっかりと解説していきます。
なお、この記事ではCentOSで解説を進めていきます。コマンドは多少違いますが、設定部分や手順はあまり変わりません。UbuntuやDebianでのLAMP環境構築の参考にもなるかと思います。
目次
- この記事の対象者
- LAMP環境とは
- Linuxインストール
- Apacheインストール
- MySQLインストール
- PHPインストール
- 最後に
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を永続的に無効化(enforcing
をdisabled
に変更)
# vi /etc/selinux/config
SELINUX=disabled
firewalldを停止
# systemctl stop firewalld
firewalldを無効化
# systemctl disable firewalld
CentOS再起動
# reboot
PCのIPアドレスを確認して、ブラウザで192.168.×.×
にアクセスしてみましょう。
以下のように表示されたら、Apacheインストール完了です。
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。
6. 最後に
これでLAMP環境構築は完了です。
Webサイトを公開する時は、/var/www/html
フォルダ内に公開したいファイルを置きましょう。