MAMPで作成したWebページをEC2上で公開したい。
MAMPのhdocフォルダに保存されているindex.htmlファイルをEC2上で公開してみようと思う。
Macのターミナルを起動
- EC2にssh接続する。(このターミナルウィンドウを以後、EC2と呼ぶ。)
- ターミナルの新規ウィンドウを立ち上げる。(以後、ターミナルと呼ぶ。)
この2つのターミナル画面から操作していく。
EC2のホームディレクトリにhdocフォルダを作る。
mkdir hdoc
EC2のhdocフォルダにファイルをコピーするシェルスクリプトを作る。
- VSCodeで、ec2_scp.shという名前のファイルを作成して、Macのホームディレクトリに保存する。
ec2_scp.shのコード
scp -i "キーペアのフルパス" $1 ec2-user@EC2のパブリック IPv4 DNS:/home/ec2-user/hdoc
$1は引数で、シェルスクリプトの実行時に送りたいファイルのパスを指定する。
※キーペアとシェルスクリプトが同じフォルダにないので、キーペアはフルパスで書く。
ターミナルのホームディレクトリで、以下のコマンドを実行。
sh ec2_scp.sh /Applications/MAMP/htdocs/index.html
MAMPのhtdocsフォルダにあるindex.htmlファイルがEC2のhtdocフォルダに送信される。
EC2上で、ディレクトリからドキュメントルートへファイルをコピー
EC2のhdocディレクトリのindex.htmlをEC2のドキュメントルートへコピーする。
EC2のホームディレクトリで、以下のコマンドを実行。
sudo cp hdoc/index.html /var/www/html
EC2のパブリックIPv4DNSをコピーしてchromeで検索すると、index.htmlファイルが表示される。