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のサーバ設定の確認
下記情報をサーバ設定画面から押さえておく。
情報の掲載場所は、図に示す通りである。
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
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
「参考にしたページ」
ありがたかったです。
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/
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';
下記のような結果になればよい。
下記がとても参考になりました。ありがたいです。
AWS EC2 AmazonLinux2 MySQLをインストールする - Qiita
[CentOS] MySQLをアップデート時にGPG鍵エラーが出た時の対処法 – 株式会社シーポイントラボ | 浜松のシステム・RTK-GNSS開発