Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save megane9988/d03c09c9d90e5aa1a73707c7e5f5bd51 to your computer and use it in GitHub Desktop.
Save megane9988/d03c09c9d90e5aa1a73707c7e5f5bd51 to your computer and use it in GitHub Desktop.
AWSにものすごい勢いでWPを自前で、地味に立てる.md

AWSにものすごい勢いでWPを自前で、地味に立てる

インスタンス作成

  • Amazon Linux
  • t2.micro
  • 確認と作成
  • セキュリティーグループの編集
    • http 80
    • ssh 22
  • キーペアの作成
    • 新しいキーペアの作成
    • 適当に名づける
    • キーペアのダウンロード
    • ~/.sshに保存
    • xxx.pem
  • インスタンスの作成
  • インスタンスの表示
    • 黄色のアイコンでpendingになっている
  • 表のNameにカーソルをもっていくと鉛筆アイコンが出るのでクリック
    • 適当な名前をつけておく
    • チェックマークをクリックして保存

Elastic IPの設定

  • 新しいアドレスの割当
  • VPCを選択 (t2.microがvpcのため)
  • 関連付ける
  • 閉じる
  • 表の中より出来たIPにカーソルを持っていて右クリック
  • アドレスの関連付け
  • インスタンスの入力枠をクリックし、表示されるサーバの中から、先ほど名付けたサーバを選択
  • 関連付ける
  • 関連付けたElastic IPをメモしておく

ローカルPCからのSSH接続

  • .ssh/configの設定
Host hostname
  HostName     xx.xx.xx.xx
  Port         22
  User         ec2-user
  IdentityFile ~/.ssh/hostname.pem

  • 該当の鍵の権限の設定
chmod 0600 /Users/megane9988/.ssh/hostname.pem
  • ssh接続の確認
ssh hostname

AWS内での作業

  • アップデート
sudo yum update
  • nginxのインストール

参考

sudo yum install nginx -y
sudo chkconfig nginx on
chkconfig --list nginx
  • nginxインストールの確認
  • IPでブラウザよりアクセスしてみて、nginxのスタート画面が出ればOK

php7のインストール

参考 参考

sudo rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
sudo yum install --enablerepo=webtatic-testing php70w php70w-devel php70w-fpm php70w-mysql php70w-mbstring php70w-pdo

nginxの設定の更新

  • /etc/nginx/conf.d の中にあるvirtual.confをコピー
  • 新たにドメインに紐付けるディレクトリを設定する
sudo cp virtual.conf virtual-hostname.conf

コピーした中身を以下に差し替え

server {

# ポート開放とドメインの設定
listen       80;
server_name  任意のドメイン名;

location / {
# 該当ドメインのルートディレクトリ設定
    root   /var/www/vhosts/任意のディレクトリ;
# パーマネントリンクが設定できるように
    index index.html index.htm index.php ;
        if (-f $request_filename) {
        expires 30d;
        break;
        }
        if (!-e $request_filename) {
        rewrite ^.+?(/wp-.*) $1 last;
        rewrite ^.+?(/.*\.php)$ $1 last;
        rewrite ^ /index.php last;
        }
        location ~* ^.+.(jpg|jpeg|gif|png|css|js|flv|swf|ico|xml)$ {
        access_log  off;
        expires 30d;
        root /var/www/vhosts/任意のディレクトリ;
        }
    }
# phpが動くように
    location ~ \.php$ {
        root           /var/www/vhosts/任意のディレクトリ;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

php-fpmの設定と更新

/etc/php-fpm.d/www.conf このファイルの中身から以下の内容を探しそれぞれ編集する

user = ec2-user
group = ec2-user

これでec2-userでphpが動かせるようになる

起動の確認

sudo service php-fpm start
sudo chkconfig --list php-fpm

自動起動の設定

sudo chkconfig php-fpm on

WP-Cliのインストール

  • ホームディレクトリに移動
cd ~/
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

成功すると

$ wp --info
PHP binary:    /usr/bin/php5
PHP version:    5.5.9-1ubuntu4.14
php.ini used:   /etc/php5/cli/php.ini
WP-CLI root dir:        /home/wp-cli/.wp-cli
WP-CLI packages dir:    /home/wp-cli/.wp-cli/packages/
WP-CLI global config:   /home/wp-cli/.wp-cli/config.yml
WP-CLI project config:
WP-CLI version: 0.23.0

WordPressのインストール

  • 該当のディレクトリに移動後、コアファイルをダウンロード
wp core download

その後、ブラウザからアクセスすればWordPressのインストールが始まる

RDSの設定

  • RDSの画面に移動
  • インスタンス
  • DBインスタンスの起動
  • MySQLを選択
  • 開発/テストを選択
  • DBインスタンスのクラス
    • db.t2.micro
  • マルチAZ配置
    • いいえ
  • ストレージタイプ
    • 汎用SSD
  • ストレージ割当
    • 最小の5GB
  • 任意の設定(必ずメモしておく)
    • DB インスタンス識別子
    • マスターユーザの名前
    • マスターパスワード
    • マスターユーザーのパスワード
    • パスワードの確認
awsmgn
0hpsr84x18n2
awsmgn01
awsmgn.cpasuwpr0wjt.ap-northeast-1.rds.amazonaws.com

参考

  • セイキュリティー&ネットワーク
    • VPC : 適当に設定されたものを利用
    • サブネットグループ : 新しDBサブネットグループの作成
    • パブリックアクセス可能 : はい
    • アベイラビリティーゾーン : どちらでもよいので選ぶ
    • VPC セキュリティグループ : ec2と同じ物を選ぶ
      • このセキュリティーグループにてmysql/auroraの許可が必要
  • データベースの設定
    • 名前を記述(任意)

あとはそのまま

  • DBインスタンスの作成
Cannot create a publicly accessible DBInstance. The specified VPC does not support DNS 

というエラーがでたら、以下の内容を対応する

参考

VPCの一覧において右クリックよりDNSホスト名の編集で"はい"にする

  • 作成中になればOK
  • 出来上がるまで待つ
データベース名:データベース名
ユーザ名:ユーザ名
パスワード:パスワード
データベースホスト名:DBインスタンスのエンドポイント
テーブル接頭辞:任意(複数Wordpressを作る場合は被らない様にする)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment