AWS EC2 RDS LAMPの開発環境構築
LAMP環境の作成
・前提条件
起動したEC2インスタンスにSSH接続できていること
・ルートユーザーの作成とパスワードの設定
#ルートへログイン
[ec2-user@ip-***-***-***-*** ~]$ sudo -i
# パスワードの設定
[root@ip-***-***-***-*** ~]$ passwd
Changing password for user root.
New password: (パスワード入力)
Retype new password: (もう一度入力)
passwd: all authentication tokens updated successfully.
[root@ip-***-***-***-*** ~]$
successfullyが出力されたらパスワードが正しく変更されています。
・apacheのインストール
インストール
[root@ip-***-***-***-*** ~]$ yum install -y httpd24
自動起動設定
[root@ip-***-***-***-*** ~]$ chkconfig httpd on
日本語化とタイムゾーン[東京]の設定
# 言語設定を日本語に変更
[root@ip-***-***-***-*** ~]$ vim /etc/sysconfig/i18n
LANG=ja_JP.UTF-8
# タイムゾーンを東京に変更
[root@ip-***-***-***-*** ~]$ echo -e 'ZONE="Asia/Tokyo"\nUTC=false' | sudo tee /etc/sysconfig/clock
[root@ip-***-***-***-*** ~]$ cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# 結果確認
[root@ip-***-***-***-*** ~]$ date
・PHPのインストール
インストール
[root@ip-***-***-***-*** ~]$ yum install -y php73
# バージョン確認
[root@ip-***-***-***-*** ~]$ php -v
PHP 7.3.4 (cli) (built: Apr 15 2019 23:45:12) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies
# PDOのインストール
[root@ip-***-***-***-*** ~]$ yum install -y php73-pdo
[root@ip-***-***-***-*** ~]$ yum install -y php73-mysqlnd
タイムゾーン[東京]の設定
[root@ip-***-***-***-*** ~]$ vim /etc/php.ini
# php.ini は内容量が非常に多いため、
# /date.timezone と入力して検索します
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone
# コメント化されている[;date.timezone]をdate.timezone = 'Asia/Tokyo'に変更します
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = 'Asia/Tokyo'
.htaccessの有効化
[root@ip-***-***-***-*** ~]$ vim -r /etc/httpd/conf/httpd.conf
# /www\/html と入力して検索します
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
AllowOverride None
# AllowOverride None を AllowOverride Allに変更します
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
AllowOverride All
・MySQLのインストール
インストール
[root@ip-***-***-***-*** ~]$ yum install mysql
# DBサーバーに接続
[root@ip-***-***-***-*** ~]$ mysql -h <RDSインスタンスのエンドポイント> -u username -p
...下記省略...
・phpMyAdminをインストール
インストール
[root@ip-***-***-***-*** ~]$ yum --enablerepo=epel install -y phpMyAdmin
接続設定[DB接続]
[root@ip-***-***-***-*** ~]$ vi etc/phpMyAdmin/config.inc.php
# 設定の確認
$cfg['Servers'][$i]['host'] = 'localhost';
# ホストの指定
$cfg['Servers'][$i]['host'] = 'DBサーバーのIP/エンドポイント';
接続設定[接続許可]
# 接続可能なipアドレスを指定します
# 今回は誰でもアクセスできるように指定しています
[root@ip-***-***-***-*** ~]$ vim /etc/httpd/conf.d/phpMyAdmin.conf
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
# Require ip 127.0.0.1を#でコメント化し
# Require all grantedを追記します
<RequireAny>
#Require ip 127.0.0.1
Require all granted
Require ip ::1
</RequireAny>
フォルダの参照権限を追加
# 読み取りと実行を許可
[root@ip-***-***-***-*** ~]$ chmod o+xr /var/www/html
・設定の確認
phpのデフォルトディレクトリの確認
[root@ip-***-***-***-*** ~]$ ls -ld --context /var/www/html
drwxrw-r-x ec2-user root ? /var/www/html
SELinuxの状態確認
[root@ip-***-***-***-*** ~]$ getenforce
Disabled
Enforcingと表示される場合、SELinuxは有効になっている状態です
その場合は以下の設定を行います。
[root@ip-***-***-***-*** ~]$ vi /etc/selinux/config
# enforcing から disabledに変更します
SELINUX=disabled
AWSのEC2コンソールからサーバーを再起動し、再確認してください。
[root@ip-***-***-***-*** ~]$ getenforce
Disabled
Disabledと表示されれば、SELinuxは無効に変更されています。
・設定適用のため、apache再起動
再起動コマンドを実行
[root@ip-***-***-***-*** ~]$ service httpd start
Starting httpd: AH00557: httpd: apr_sockaddr_info_get() failed for ip-XXX-XXX-XXX-XXX
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
[ OK ]
http://{パブリックIP}/phpMyAdmin/
にアクセスし、テストページが表示されることを確認してください。
Author And Source
この問題について(AWS EC2 RDS LAMPの開発環境構築), 我々は、より多くの情報をここで見つけました https://qiita.com/teamack20172020/items/9353ecd1c8b0a7a5c121著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .