IT教育訓練パパの研究日誌

育児や、データサイエンス系のノウハウや記事、学生へのかかわりで得たこと等、感動したことを書いていきたいです。よろしくお願いいたします。

AWSに、phpmyadminとApatchとTomcatとMySQLを導入する方法

AWS上にwebサーバを立て、アプリケーション実行が必要だったのですが
いろいろと環境構築ではまりました。
他の人がはまらないとうれしいと思い、筆をとりました。
ご参考になれば幸いです。

本記事を読んでわかること

AWSのEC2環境で、下記パッケージのインストールができるようになる

項番 ソフトウェア バージョン
1 amazon linux 5.10.130-118.517.amzn2.x86_64
2 Apache Apache/2.4.54
3 Tomcat 8.5
4 MySQL 8.0.30
5 phpMyadmin 5.2.0

はまりポイントを交えて説明します。

EC2のサーバ設定の確認

下記情報をサーバ設定画面から押さえておく。
情報の掲載場所は、図に示す通りである。

  • パブリック IPv4 DNS
  • セキュリティグループルール
    EC2サーバ設定

Apacheのインストール

yumで下記のコマンドをタイプし、インストールする。

sudo yum check-update
#Apacheをインストール
sudo yum install httpd
sudo service httpd start
# EC2が再起動した際にApacheも自動起動するように設定
sudo systemctl enable httpd
# Apacheが起動したか確認
sudo systemctl status httpd

上記コマンドを打った後、ブラウザのURLに下記を打ち込み
Apacheの確認画面が出たら成功

http://パブリックIpV4DNS

Apacheの確認画面


Tomcatのインストール

AWS独自のリポジトリからインストールする。
yumでも可能だが、versionが7と古くなるので注意

#Tomcatインストール
sudo amazon-linux-extras install tomcat8.5
#Tomcatを起動
sudo systemctl enable tomcat
sudo systemctl start  tomcat
#Tomcatのトップページを閲覧するために必要
sudo yum install tomcat-webapps admin-webapps


上記コマンドを打った後に下記をURLに打つと、tomcat確認ページが閲覧できれば成功

http://パブリックIpV4DNS:8080

tomcat確認ページ

「参考にしたページ」 ありがたかったです。
http:// https://note.com/hironobuu/n/n1cb0eef6258d


phpMyadminのインストール

1 依存関係ファイルの導入 ?AWSだと導入済み?

AWSだと事前に導入されている可能性があったが、念のため実行

sudo yum install php70-mbstring.x86_64 php70-zip.x86_64 -y
2 phpの最新バージョン(7.2)をインストール

まずパッケージを確認する。

#AWSで導入できるパッケージを確認
amazon-linux-extras
amazon-linux-extras info php7.2

パッケージ確認

パッケージをインストールする

#パッケージをインストール
sudo amazon-linux-extras install php7.2

追加のパッケージインストールが下記図のように示されたのですべてyumでインストール

追加パッケージの確認

sudo yum install php-cli
sudo yum install php-pdo
sudo yum install php-fpm
sudo yum install php-json
sudo yum install php-mysqlnd


3 phpMyAdminのファイルをダウンロードし展開
#フォルダに移動
cd /var/www/html
sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
#phpMyAdminフォルダを作って展開
sudo mkdir phpMyAdmin
sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz -C phpMyAdmin --strip-components 1


ブラウザ上でphpMyAdminが動作しているか確認する。

http://パブリックIpV4DNS/phpMyAdmin/

phpMyAdminのログイン画面


4 phpに依存関係のあるファイルをインストールする
sudo yum install php-mbstring -y


ログインユーザは後述するMySqlで設定したユーザであるため、このまま、MySQL導入に進む。
※設定を反映する時は、Apatchを再起動すること

systemctl restart httpd


下記ページが参考となりました。ありがたいです。

【AWS】EC2でphpMyAdminを利用し、RDSへアクセス - Qiita

phpMyAdminの設定(CentOS 7) | さくらインターネットのVPS設定マニュアル


MySQLのインストール

1.下記コマンドを実行してインスタンス作成初期からインストールされている MariaDB用パッケージを削除する
sudo yum remove mariadb-*
2.mysqlのパッケージが存在するリポジトリを指定

リポジトリ指定は、下記をURLをみて、指定する MySQL :: Download MySQL Yum Repository

sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
3.mysqlパッケージのインストール
#  GPS鍵の登録 これをしないとインストール中に怒られる
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo yum install --enablerepo=mysql80-community mysql-community-server
sudo yum install --enablerepo=mysql80-community mysql-community-devel


4.mysqlに関係のあるファイルを抽出
sudo yum list installed | grep mysql

関係あるファイル一覧

5.サービス起動
#logファイルを作成
sudo touch /var/log/mysqld.log
#サービス起動
sudo systemctl start mysqld 
#サービスをサーバ起動時に実行する設定
sudo systemctl enable mysqld


6.初期ユーザとパスワードの調査

ログから初期ユーザとパスワードを確認するため、ログファイルを見る。

sudo less /var/log/mysqld.log

と打つと、下記のようなログが出てくるので、これが初期パスワード

2022-08-25T04:44:16.126478Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: w:BeRd*0pej!
#ユーザ名:root
#パスワード:w:BeRd*0pej!


念のため、サーバを停止し、再起動する。

sudo service mysqld stop
sudo service mysqld start


7.初期ユーザとパスワード、認証時の暗号方式の変更

mysqlへ接続し、下記コマンドを打つ。

mysql -u root -p
>password 先ほどログファイルに出力されていた初期パスワードを入力する。

#パスワードの変更
#AAAAAAAではだめで、大文字アルファベット、数字、記号などの組み合わせが求められるが便宜上AAAとする。
ALTER USER 'root'@'localhost' identified BY 'AAAAAAAAAAA';

#ユーザ認証方式の変更 phpMyAdminにログインできるようにするため
sudo mysql -u root -p

#認証用ユーザ管理のデータベースに移動
mysql > use mysql
mysql> select user, host, plugin from user;
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'AAAAAAAAAAA';

下記のような結果になればよい。

SQLユーザパスワードの認証方式の変更


下記がとても参考になりました。ありがたいです。

AWS EC2 AmazonLinux2 MySQLをインストールする - Qiita

[CentOS] MySQLをアップデート時にGPG鍵エラーが出た時の対処法 – 株式会社シーポイントラボ | 浜松のシステム・RTK-GNSS開発

AWS EC2 AmazonLinux2 MySQL rootユーザの初期パスワードの確認方法 - Qiita

【MySQL】PHPで接続できないとき SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client | 困った時に思い出したい