ほとんど自分用なので読みにくいかも。画像とかは後で追加予定?
目次
目指すこと
・独自ドメインをクリックすると自分が作ったhtmlファイルにアクセスできるようにする。(httpsで)
手順
サーバーセットアップ
1 AWS lightsailのインスタンスを作成する。2GBがいい
2 Centosをインストール。
3 LightsailコンソールのドメインとDNSで、お名前.com等でとったドメインを追加する。
4 お名前.comの管理画面でAレコードを登録する。この時のIPは、インスタンスにアタッチされた静的IP
5 SSHの鍵を.sshに置く。
以下コードで権限付与
sudo chmod 600 file.pem6 vscode リモートサーバーで接続する。この時、以下のようにconfigファイルを設定する。
Host 11.11.111.11
HostName 11.11.111.11
User ec2-user
IdentityFile -/.ssh/file..pem
7 サーバーにSSH接続する。
ssh ec2-user@11.11.111.118 接続後はいきなりgitを入れる。
sudo dnf install git-allこれで自分のレポジトリから任意のコードを引っ張って来れるように。
Nginxの有効化
1 Nginxをインストール。
sudo yum install epel-release -y
sudo yum install nginx -y2 Nginxを起動し、自動起動に設定
sudo systemctl start nginx
sudo systemctl enable nginx3 nanoをインストール
sudo yum install nano4 Nginxの設定を行う。
sudo nano /etc/nginx/conf.d/yourdomain.com.confserver {
listen 80;
server_name yourdomain.com;
location / {
root /home/ec2-user/任意のレポジトリの名前;
index index.html;
}
}5 シンタックス確認
sudo nginx -t6 Nginx 再起動
sudo systemctl restart nginxSSL証明の取得と設定
1 certbotをインストール
sudo yum install certbot python3-certbot-nginx -y2 証明書を発行
sudo certbot --nginx -d yourdomain.com3 自動更新設定
sudo certbot renew --dry-run4 SeLinuxの設定解除
sudo chcon -Rt httpd_sys_content_t /home/ec2-user/任意のリポジトリ名5 権限付与
ここでいつもLIghtsailでやるときに権限エラーが出るので注意
Nginxの403Forbidden エラー回避のために権限付与。
chmod 701 /home/ec2-user6 nginx 再起動
sudo systemctl restart nginxFirewalldの設定
1 AWS のLIghtwailには標準でfirewalldがないので以下を実行
sudo yum install firewalld2 コンソールからIPV4の443ポートを開けておく
3 firewalld で以下を実行
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

