yamada_yoshiki Posted by

おはようございます!こんにちは!こんばんは!おやすみなさい!
山田です。

前回に引き続き
part4ではApache,PHP7,MySQLのインストール方法を紹介します。

webサーバー構築手順

1.VPCの作成
2.EC2の作成
3.SSH接続
4.Apache,PHP7,MySQLのインストール
5.ドメイン名の取得とSFTP接続

Apacheのインストール

前回と同様に[ssh -i 相対パス/秘密鍵名.pem ユーザー名@ECインスタンスのIPアドレス]コマンドでログインします。

[sudo yum install httpd -y]コマンドでApacheをインストールします。

AWSでWebサーバー構築をしたい part3 (SSH接続)

で追加したユーザーのパスワードを入力してEnterでインストールが開始されます。

Apacheの操作コマンド


[sudo systemctl start httpd]コマンド
Apacheの起動

[sudo systemctl status httpd]コマンド
起動中か確認する(active:runningなら起動中)

[sudo systemctl enable httpd]コマンド
サーバーが起動したときにApacheも自動で起動するように設定

[sudo systemctl is-enabled httpd]コマンド
設定が反映されているかの確認用コマンド

Apache起動の確認

EC2ECインスタンスのIPアドレスをブラウザに入力し、アクセスできるか確認します。

画像のようなApacheデフォルトページが表示されればインストール完了です。

HTMLファイルの作成


[cd /var/www/html]コマンド
ドキュメントルートに移動

[sudo touch index.html]コマンド
新規ファイルを作成(sudoで作成すると所有者はrootになります)


[sudo vi index.html ]コマンド

[<h1>Hello World!</h1>]を記述し、escキーを押してから:wqで保存します。

保存できたら、先ほどのECインスタンスのIPアドレスに直接アクセスします。

画像のように表示されれば成功です。

PHPのインストール


[amazon-linux-extras]コマンドリポジトリを確認できます。

[sudo amazon-linux-extras install php7.4]コマンドPHPの最新版をインストールします。


再度[amazon-linux-extras]コマンドでインストールしたPHPを確認できます。

リポジトリ:ファイル、プログラム、設定情報等の保管場所

PHP拡張モジュールのインストール

[sudo yum list php* | grep amzn2extra-php7.4]コマンド拡張モジュールが存在するか確認

[sudo yum install php-cli php-common php-devel php-fpm php-gd php-mysql php-mysqlnd php-mbstring php-pdo php-xml]コマンドで必要な拡張モジュールインストールを行います。

拡張モジュール:PHPの機能を拡張する為のモジュール(部品)

MySQLのインストール

[sudo rpm -Uvh http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpmhttp://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm]コマンド2020年3月時点での最新版mysql8.0のリポジトリをインストールします。

[sudo yum install –enablerepo=mysql80-community mysql-community-server]コマンドで先ほどインストールしたリポジトリ優先されてインストールされます。

確認と各種設定


[mysql –version]コマンド
バージョン確認

[sudo chkconfig mysqld on]コマンド
サーバー起動時の自動起動をONにする

[sudo service mysqld start]コマンド
MySQLを起動

[sudo cat /var/log/mysqld.log | grep “temporary password”]コマンド
デフォルトパスワードを確認

[mysql -u root -p]コマンド
MySQLにログインします。
(ログイン時パスワードデフォルトパスワードを入力してください)

[set password for root@localhost = ‘新しいパスワード‘;]コマンド
パスワードを変更

デフォルトパスワードでログインできない場合

[sudo systemctl stop mysqld]コマンド
MySQLを停止

[sudo systemctl set-environment MYSQLD_OPTS=”–skip-grant-tables”]コマンド
パスワード認証を無効化

[sudo service mysqld start]コマンド
MySQLを起動

[sudo mysql -u root]コマンド
MySQLログイン


[update mysql.user set authentication_string=null where user=’root’;]コマンド
rootのパスワードをnullに設定

[exit]コマンド
MySQLログアウト

[sudo systemctl stop mysqld]コマンド
MySQL停止

[sudo systemctl set-environment MYSQLD_OPTS=””]コマンド
パスワード認証を有効化

[sudo systemctl start mysqld]コマンド
MySQL起動

[sudo mysql -u root]コマンド
MySQLログイン

[set password for root@localhost = ‘新しいパスワード‘;]コマンド
パスワードを変更

MySQLのパスワードは下記ルールに従って設定してください
・パスワード長 8文字以上
・大文字小文字 1文字以上
・数字 1文字以上
・記号 1文字以上

これでAWSwebサーバーを構築することができました!!

最後に

今回でWebサーバーの構築は終了です。

最後に今後の開発をスムーズにする為にドメイン名の取得SFTP接続をします。