1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

EC2サーバー構築の概要【備忘録】

Posted at

#はじめに
AWSの仮想サーバー構築用クラウドサービス「EC2」を用いて、PHPサイトを立ち上げた時に調べたことのまとめ。
全体の流れ・用語等についての記事であるため、具体的な手順については割愛しています。

#目次

  • 全体の流れ
  • 項目別の詳細
  • 用語
  • 参考文献

#全体の流れ

  1. AWSにサインアップ
  2. EC2インスタンスを作成
  3. インスタンスをSSH接続で操作する
  4. Apache・PHP・MariaDBをインストール
  5. テスト用PHPファイルをアップロード
  6. Elastic IPを割り当て
  7. 各種設定を変更

#項目別の詳細
####1. AWSにサインアップ・2. EC2インスタンスを作成
 手順通りに進めるだけなので割愛。
####3. インスタンスをSSH接続で操作する
 作成したインスタンスを操作する際には、端末からSSH接続をする。
 SSHクライアントとして、今回はTera Termを使用する。
 接続画面ではホストにパブリックDNS、ユーザーにec2-user、認証方式にSSHを選択し、インスタンス作成時に取得した秘密鍵を指定する。
####4. Apache・PHP・MariaDBをインストール
 Tera Termのターミナル画面からApache、PHP、MariaDBをインストールする。
 まずはApacheから。

sudo -i                 // 管理者権限に切り替え(exitで戻す)
yum install httpd       //httpd(Apacheの別名)をインストール
systemctl start httpd   //Apacheを起動
systemctl status httpd  //動作状況を確認

 続いてPHP。

yum install php                        //PHPをインストール
sudo chown -R ec2-user /var/www/html   //指定されたDirの所有者をユーザーに変更
                                       //RオプションでDir下のすべてを変更できる

 MariaDB。

yum install mariadb mariadb-server    //MariaDBをインストール
systemctl start mariadb               //起動、こちらもstatusで状態を確認できる

####5. テスト用PHPファイルをアップロード
 お馴染みのindex.phpでハローワールドを出力してみる。

index.php
<?php
 echo "Hello, World.";

 指定ホストにアクセスしてちゃんと画面に出力されれば成功。

####6. Elastic IPを割り当て
 インスタンスに割り当てられたパブリックIP,パブリックDNSなどは、定期的に行われる再起動によって変動する。その度にAWSコンソールに行ってホストをコピペするのは非合理的なので、その変動を吸収するためのElastic IPというものを設定する。
 インスタンスに紐づけることで、そのElastic IPからのアクセスが可能になり、IPが固定化される。
 なお、使用料金は紐づけたインスタンスが稼働している間は発生しない。細かい手順は割愛。

####7. 各種設定を変更
 最期に、実際に開発をするにあたり必要な機能や設定を変更する。

  • インスタンス再起動時、ApacheとMariaDBを自動で起動するように設定
TeraTerm
systemctl enable httpd
systemctl enable mariadb
  • データベース設定
MariaDB
update mysql.user set password=password('新しいパスワード') where user='ユーザー'; //ユーザーのパスワードを設定
grant all privileges on データベース.*to ユーザー@ホスト; //データベース内の全テーブルへのアクセス権を付与
flush privileges;    //設定変更を反映
  • PDO使用設定

 デフォルトではPDOの設定が有効化されていないため、そのままPDOを使おうとするとエラーが出る。

TeraTerm
sudo yum install php-pdo     //pdo.soをインストール
sudo yum install php-mysql   //mysqlのドライバをインストール
php.ini
extension=pdo.so           //追加
extension=pdo_mysql.so     //追加

#用語
 導入する中で様々な用語に出くわしたので、その備忘録。
####リージョン
「地域」。物理サーバーの設置場所を指す。
####AMI(Amazon Machine Image)
 サーバー構築用のソフトウェア(OS,サーバーアプリなど)のセット。
####EBS(Elastic Block Store)
 インスタンスの内部ストレージ。HDDのようなもの。
####VPC(Virtual Private Cloud)
 利用者ごとに与えられる、仮想ネットワーク空間。
####yum
 UNIX系のパッケージ管理コマンド。
####セキュリティグループ
 EC2インスタンス内に適用できるAWSのファイアウォール。
####IAMユーザー
 IAM(AWSサービスへのアクセスを認可できるサービス)で設定されたユーザー。

#参考文献
AWS EC2(Amazon Linux)にPHP7.4をインストール
AWS EC2上にPHPサイトを立ち上げて、独自ドメインでアクセスできるようにするまでの全手順
Elastic IPの設定

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?