TECHLOGICS

HYLOGICS分室。作業メモやガジェットのレビューなど、主に技術系のエントリを取り扱います。

【備忘録】新しいサイトをAWS上に構築した

概要

  • 地下活動をまとめるために新しいサイトを作った。
  • アダルト要素を含むので既存のサイトとは別構成にした。
  • 検証機で様子を見てたが、問題なさそうなのでAWSに移行した。
  • まだまだPVも少ないサイトなのでシングル構成で様子見。

作業内容

事前作業

AWSアカウントの作成

AWSダッシュボード上での作業

新規EC2インスタンスの作成

当初オハイオリージョンで作業していたがコンソール作業が遅くてイライラしたので東京リージョンに作り直した。特に気にならないなら安いほうでも良いと思う。

Elastic IPの取得・割当

EC2インスタンスとElastic IPはそれぞれわかりやすいようにタグ付けしておくことが望ましい。シングル構成だから関係ないと思ってても検証時等に複数台運用することがあるためやっておくべき。

セキュリティグループの編集

  • インバウンド:SSHとHTTP/HTTPS
  • アウトバウンド:HTTP

アウトバウンドの設定を消すとyumリポジトリへの接続に失敗するので注意。

実機作業

パッケージアップデート

sudo yum update -y

プロンプト変更(必要なら)

sudo sh -c 'echo "export NICKNAME=webserver" > /etc/profile.d/prompt.sh'
echo "export PS1=\"[\u@\$NICKNAME \W]$ \"" >> ~/.bash_profile
. ~/.bash_profile

タイムゾーンの設定

sudo timedatectl set-timezone "Asia/Tokyo"
timedatectl

パッケージの追加と有効化(httpd,php)

sudo yum install httpd
sudo yum install php
sudo systemctl enable httpd

再起動

sudo shutdown -r now

確認作業

timedatectl
date
sudo systemctl status httpd

コンテンツのデプロイ準備

sudo chown apache.apache /var/www/html/
sudo vigr
sudo chmod 770 /var/www/html/
ls -ld /var/www/html/

コンテンツ領域の所有者をapache.apacheにして、apacheグループに追加したデフォルトユーザで作業している。

本来はコンテンツ作業専用のアカウントを作るほうが望ましいとは思う。

コンテンツのデプロイ

ファイルを配置すればOK

ネームサーバへのエントリ追加

Route53だとそのまま作業出来て楽

以下、HTTPSへの対応作業(更新中)

#EPELリポジトリの追加
http://ftp.riken.jp/Linux/fedora/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

sudo vi /etc/yum.repos.d/epel.repo
##[epel]のenabled=1をenabled=0に変更

sudo yum repolist all
##epel/x86_64が無効になっていることを確認

#Certbotインストール
sudo yum install certbot python-certbot-apache