Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2722

AWS EC2でwordpressをユーザーデータで立ち上げる

$
0
0
この記事でできること 後半に記載の前準備後に、ユーザーデータを利用して、wordpress AWS EC2でコピペだけでを立ち上げられる 先に結論 これをユーザーデータにコピペするだけ ECインスタンスのユーザーデータにコピペするbash(バッシュ) #!/bin/bash echo "===sudu su -===" #以下、管理者権限 sudu su - echo "===yum -y update===" # インストールされている すべてのソフトの アップデート yum -y update echo “===amazon-linux-extras install php7.2 -y===” # レポジトリからphp7.2 install yes amazon-linux-extras install php7.2 -y # wordpress(PHP)に必要なソフトをインストールする echo “===yum -y install mysql httpd php-mbstring php-xml gd php-gd===” yum -y install mysql httpd php-mbstring php-xml gd php-gd echo "===systemctl start httpd.service===" #アパッチを起動 systemctl start httpd.service echo "===systemctl enable httpd.service===" #アパッチ再起動後も実行を有効 systemctl enable httpd.service # wget(HTTP/(S)でダウンロード) 最新のwordpress tar.gz形式 # オプション-O がないと保存先がひとつ前になる、なぜ(?) echo “===wget http://ja.wordpress.org/latest-ja.tar.gz -O /usr/local/src/latest-ja.tar.gz===” wget http://ja.wordpress.org/latest-ja.tar.gz -O /usr/local/src/latest-ja.tar.gz echo "===cd /usr/local/src/===" #ディレクトリ移動 ダウンロードは一般にここに入れるらしい cd /usr/local/src/ #tar.gz形式の最新ワードプレスjpを展開。 z(gzipファイル)をx(展開)v(詳細を表示する)f(ファイルの指定) echo”===tar zxvf latest-ja.tar.gz===” tar zxvf latest-ja.tar.gz #カレントディレクトリにあるwordpressとサブディレクトリすべてを /var/www/html/のしたにコピーする -r(コピー元にディレクトリを指定した場合、再帰的に(サブディレクトリも含めて)コピーする echo”===cp -r wordpress/* /var/www/html/===” cp -r wordpress/* /var/www/html/ #/var/www/htmlの権限をapacheの所有者apacheのユーザーにする -R(再帰的に変更) echo”===chown apache:apach -R /var/www/html===” chown apache:apache -R /var/www/html インスタンス起動後数分すると・・・ 上記を実行する前には、下記の準備を行っておく必要があります。 前準備 あくまで例です VPC 10.0.0.0/21 subnet (サブネット把握しやすいように第3オクテットをNameの末尾の数字とした) RDSでマルチAZ構成のため異なるAZにpublic,privateサブネットをそれぞれ用意する ap-northeast-1a Name:PublicSubnet0 10.0.0.0/24 ap-northeast-1a Name:PrivateSubnet2 10.0.2.0/24 ap-northeast-1c Name:PublicSubnet1 10.0.1.0/24 ap-northeast-1c Name:PrivateSubnet3 10.0.3.0/24 インターネットゲートウェイ VPCにアタッチ ルートテーブル サブネット PublicSubnet0 のルートテーブルで 0.0.0.0/0 でインターネットゲートウェイを指定 RDS サブネットグループを作成 RDSを作成 WordPressにはMySQLが必須。WordPressではMySQLまたはMariaDBが推奨されています。 多くのレンタルサーバーはデータベースにMySQLを採用しています。 ということなので、MySQLを選択 VPCセキュリティグループは、新しく RDS-SG の名称で作成する  (マスターユーザー名:wordpress、インスタンス安いのに変更、vpc指定、サブネットグループ指定、Azは1a、あとは大体デフォルト) セキュリティグループ テストなので今回はHTTPのみ。本番はHTTPS+AWS HTTPS 証明書 ACM+(ELB or Route53)ご利用ください。 Name:Web-SG で以下で作成 インバウンドルールを編集 HTTP TCP 80 0.0.0.0/0 – HTTP TCP 80 ::/0 – SSH TCP 22 0.0.0.0/0 – RDSで作成したセキュリティグループ RDS-SG を以下に変更 インバウンドルールを編集 既存IPアドレス削除し、Web-SGを指定する。 EC2 (やっと出番です) 最初に示したバッシュをユーザーデータにコピペして、セキュリティグループWeb-SG でインスタンスを起動!!!! はまったこと sudo su - がないと権限が足りない wget http://ja.wordpress.org/latest-ja.tar.gz -O /usr/local/src/latest-ja.tar.gz のオプションOがないとcloud-init-output.log でScheme missing.表示で失敗する。 まとめ sudo su cat /var/log/cloud-init-output.log がめっちゃ役立つのよくわかった 【ハンズオン1】基本的なブログサービスを構築する(シングル構成) AWSCloudTech

Viewing all articles
Browse latest Browse all 2722

Trending Articles