目次
はじめに
Amazon Linux 2にLAMP環境を作る方法をまとめました。
今回ご紹介するのはソフトウェアのインストール方法となります。
AWSへインスタンスを作る方法は[AWSのEC2にインスタンスを作成する]をご参照ください。
Webアプリ開発環境をサッと作りたい方は参考にしてみてください。
環境情報
ソフトウェアのバージョンは、AmazonLinux2のデフォルトバージョンを使用します。
# | 大項目 | 小項目 | 説明 |
---|---|---|---|
1 | Amazon EC2 | OS | Amazon Linux 2 |
2 | ソフトウェア | PHP | バージョン:5.4 |
3 | MySQL | MariaDB 5.5系 | |
4 | Apache | バージョン:2.4 | |
5 | mod_ssl | ||
6 | Postfix | ||
7 | PHPモジュール | php-common | |
8 | php-mcrypt | ||
9 | php-process | ||
10 | php-tidy | ||
11 | php-pdo | ||
12 | php-cli | ||
13 | php-mbstring | ||
14 | php-bcmath | ||
15 | php-php-gettext | ||
16 | php-mysql | ||
17 | php-xml | ||
18 | php-gd | ||
19 | その他 | phpMyAdmin | バージョン:4.0系 |
構築手順
0. 事前準備
- 0-1.rootアカウントで作業するので、下記コマンドでユーザを変更する
1$ sudo su -プロンプトのアカウント情報が、ログインユーザからrootに変わっていることを確認する
または、下記コマンドでrootになっていることを確認する1$ whoami - 0-2. インストールされているパッケージのバージョンを最新のものにする
1$ yum update
1.PHPインストール
-
1-1.phpをインストールする
12345678910# インストールコマンド$ yum install php# インストール完了したら、バージョン確認$ php -v# 正常にインストールできていれば、下記が表示されるPHP 5.4.16 (cli) (built: Oct 31 2019 18:34:05)Copyright (c) 1997-2013 The PHP GroupZend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies -
1-2.インストールされているパッケージを確認
123456789101112131415161718192021222324252627282930313233$ yum list php*# php-cli と php-common はデフォルトでインストール済みLoaded plugins: extras_suggestions, langpacks, priorities, update-motdInstalled Packagesphp.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-cli.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-common.x86_64 5.4.16-46.amzn2.0.2 @amzn2-coreAvailable Packagesphp-bcmath.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-dba.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-devel.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-embedded.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-enchant.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-fpm.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-gd.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-intl.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-ldap.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-mbstring.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-mysql.x86_64 5.4.16-43.amzn2 amzn2-corephp-mysqlnd.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-odbc.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-pdo.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-pear.noarch 1:1.10.7-3.amzn2.0.1 amzn2-corephp-pecl-memcache.x86_64 3.0.8-4.amzn2 amzn2-corephp-pgsql.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-process.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-pspell.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-recode.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-snmp.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-soap.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-xml.x86_64 5.4.16-46.amzn2.0.2 amzn2-corephp-xmlrpc.x86_64 5.4.16-46.amzn2.0.2 amzn2-core -
1-3.
php-mcrypt
,php-tidy
,php-php-gettext
以外のパッケージはインストール済みのため、下記コマンドでモジュールをインストール1234567891011121314151617$ yum install php-process php-pdo php-mbstring php-bcmath php-mysql php-xml php-gd# インストール確認$ yum list installed php*Loaded plugins: extras_suggestions, langpacks, priorities, update-motdInstalled Packagesphp.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-bcmath.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-cli.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-common.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-gd.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-mbstring.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-mysqlnd.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-pdo.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-process.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-xml.x86_64 5.4.16-46.amzn2.0.2 @amzn2-core -
1-4.
php-mcrypt
,php-tidy
,php-php-gettext
をインストールするために、EPELリポジトリを追加する1234$ amazon-linux-extras install epel# リポジトリ追加後、必要パッケージがインストールされたことを確認する$ yum list php* -
1-5.
php-mcrypt
,php-tidy
,php-php-gettext
をインストール123456789101112131415161718192021$ yum install php-mcrypt php-tidy php-php-gettext# インストール確認$ yum list installed php*Loaded plugins: extras_suggestions, langpacks, priorities, update-motd192 packages excluded due to repository priority protectionsInstalled Packagesphp.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-bcmath.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-cli.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-common.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-gd.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-mbstring.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-mcrypt.x86_64 5.4.16-9.el7 @epelphp-mysqlnd.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-pdo.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-php-gettext.noarch 1.0.12-1.el7 @epelphp-process.x86_64 5.4.16-46.amzn2.0.2 @amzn2-corephp-tidy.x86_64 5.4.16-9.el7 @epelphp-xml.x86_64 5.4.16-46.amzn2.0.2 @amzn2-core
2.Apacheインストール
-
2-1.Apacheはデフォルトでインストールされているため、インストール作業は不要
123456$ httpd -vServer version: Apache/2.4.43 ()Server built: May 8 2020 17:02:41# バージョンが表示されなければ、未インストールのため、下記コマンドを実行$ yum install httpd -
2-2.
mod_ssl
をインストール12345$ yum install mod_ssl# インストール確認$ rpm -aq | grep mod_sslmod_ssl-2.4.43-1.amzn2.x86_64 -
2-3.Apacheの起動と自動起動設定
12345678910111213# 起動$ systemctl start httpd# 起動確認$ systemctl status httpd# active(running)が表示されていれば、起動できている#自動起動$ systemctl enable httpd#自動起動確認$ systemctl is-enabled httpdenable #disabledは自動起動がオフ状態 -
2-4.ブラウザから
http://サーバのIP
でApacheの画面が表示されることを確認する
注)インスタンスのセキュリティ設定でHTTP通信を許可していない場合は、表示されないので注意
3.MySQLインストール
-
3-1.MySQLをインストール
12345$ yum install mariadb-server# インストール確認$ mysql --versionmysql Ver 15.1 Distrib 5.5.64-MariaDB, for Linux (x86_64) using readline 5.1 -
3-2.MySQLの起動と自動起動の設定
12345678910111213# 起動$ systemctl start mariadb# 起動確認$ systemctl status mariadb# active(running)が表示されていれば、起動できている#自動起動$ systemctl enable mariadb#自動起動確認$ systemctl is-enabled mariadbenable #disabledは自動起動がオフ状態 -
3-3.MySQLの初期設定
12#パスワードの設定等を行う$ mysql_secure_installation -
3-4.phpMyAdminのインストール
phpMyAdminの4.0系をダウンロードし、[/var/www/phpmyadmin]配下に配置
注)php5.4を使用する場合、phpMyAdminの4.0系を使用する必要がある -
3-5.設定ファイルの作成
12345678910$ vi /etc/httpd/conf.d/phpmyadmin.conf# confファイルに下記を書き込むAlias /phpMyAdmin "/var/www/phpmyadmin"Order allow,denyAllow from all# Apacheを再起動$ systemctl restart httpd -
3-6.ブラウザから
http://サーバのIP/phpMyAdmin
でphpMyAdminへアクセスできるか確認する
ログインアカウントは、(3-2)で設定したアカウントとパスワードでアクセスする
4.Postfixインストール
-
4-1.Postfixをインストールする
1234# デフォルトでインストールされているので、バージョン確認$ postconf | grep mail_versionmail_version = 2.10.1milter_macro_v = $mail_name $mail_version -
4-2.Postfixの起動と自動起動の設定
※デフォルトで起動済み、自動起動有効状態12345678910111213# 起動$ systemctl start postfix# 起動確認$ systemctl status postfix# active(running)が表示されていれば、起動できている#自動起動$ systemctl enable postfix#自動起動確認$ systemctl is-enabled postfixenable #disabledは自動起動がオフ状態
さいごに
これでLAMP環境ができました。
簡単に作れるのでぜひ、やってみてください。