Open RVIRUS0817 opened 3 years ago
以前登録したことがあったので、省略
IAMユーザーとは⇨AWSへのアクセス権限を人やAWS以外のサーバに付与するためのもの。
IAMを検索で探し選択
ユーザーを選択
ユーザーを作成を選択
ユーザーの詳細を記述
グループを作成
グループの詳細(権限など)を記述
グループに権限をつけよう (設定しないとIAMでログインした時、権限ないよ!と出る)
次へ
タグの追加(後ほど設定あれば)
最終確認
閉じる
【はじめてのAWS】管理用IAMユーザーを作成しよう AWSアカウントでのIAMユーザの作成
これを行わないとIAMユーザーで個人の設定ができない。
rootユーザーでアカウントの管理画面へ行く
IAMユーザー/ロールによる請求情報へのアクセスを編集
IAM Access のアクティブ化にチェックを入れて更新
これによって、IAMユーザーにbiling managemant console aws へのアクセル権が得られる。
ドメインネーム→dev-menta-aws.com
Route53とは→amazonのDNSサービス。ホスト名の登録の他にも機能がある。
ホストゾーンの作成
ドメインの登録(お名前.comで作成したドメイン)
Route35のNSレコードをコピーしておく(後でお名前.comで使う。)
ElasticIPアドレスの割り当て
ElasticIPの設定
ElasticIPの関連付
Route53にElasticIPを記載
IPアドレスの登録まで終了
EC2とは「Amazon Elastic Compute Cloud」の略称で、AWSで利用できるシステムのひとつとなっています。 AWS上に仮想サーバーを構築して自由に利用できるのが特徴で、クラウド環境においてさまざまな役割を担ってくれる
EC2では仮想サーバの事を「インスタンス」という単位で扱います。 インスタンスには様々な種類や性能のものがあるため、ユーザーの求める形で利用が可能です。 インスタンスを複数使って仮想サーバーを分割することで、可用性や信頼性を考慮した運用ができる。
インスタンスを起動
マシンイメージ(AIM)の選択 Amazon Linux2がよく使われる
インスタンスタイプの選択
インスタンスの詳細の設定
ストーレージの追加
タグの追加
セキュリティグループの設定
※HTTPSも追加する。
キーペアの作成
インスタンスの完成
昔はABCDEのクラスで割り当てられていた。 「従業員が1万いるのであなたの会社はクラスBですね!はい65,534個のIPをあげよう!」的な感じで残りの55,534個のIPが無駄になってしますような感じ。
【AWS】Amazon VPCを図で分かりやすく解説(実践あり) AWS入門者向け 初心者が最初に理解すべきEC2とVPCの基本的な用語解説
VPCの作成をクリック
VPCの内容を記載
※テナンシーとは、AWSのハードウェアを専有して利用するかどうかの設定をする項目です。専有すると料金が発生する。
ハードウェア専有は別途料金が発生します。
作成出来たか確認(Availableで完了!)
ゲートウェイの作成
ゲートウェイの名前を記入
VPCへアタッチ
作成したVPCのを選択して、アタッチ
アタッチ出来たか確認
サブネット作成
サブネットの詳細記載(一つ目)
二つの目のサブネット作成
作成出来たか確認
ルートテーブルの作成
ルートの編集
ゲートウェイを追加
↓
ルートができているか確認
↓
kimuranaoki@kimuranaokinoMacBook-Pro test-aws % mv test-keypem.pem ~/.ssh/ssh-aws
kimuranaoki@kimuranaokinoMacBook-Pro ~ % cd ~/.ssh/ssh-aws
kimuranaoki@kimuranaokinoMacBook-Pro ssh-aws % chmod 400 test-keypem.pem
kimuranaoki@kimuranaokinoMacBook-Pro ssh-aws % ssh -i test-keypem.pem ec2-user@13.231.255.178
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
↓
kimuranaoki@kimuranaokinoMacBook-Pro .ssh % cat config
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Host dev-aws
HostName ec2-13-231-255-178.ap-northeast-1.compute.amazonaws.com
User ec2-user
IdentityFile ~/.ssh/ssh-aws/test-keypem.pem
kimuranaoki@kimuranaokinoMacBook-Pro .ssh % ssh dev-aws
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-172-31-42-99 ~]$
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ec2-user@ip-172-31-42-99 ~]$ sudo amazon-linux-extras install nginx1
Installing nginx
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
リポジトリーを清掃しています: amzn2-core amzn2extra-docker amzn2extra-nginx1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59 postgresql13 available [ =stable ]
60 mock2 available [ =stable ]
[ec2-user@ip-172-31-42-99 ~]$ sudo cp -a /etc/nginx/nginx.conf /etc/nginx/nginx.conf.back
[ec2-user@ip-172-31-42-99 ~]$ sudo systemctl start nginx
[ec2-user@ip-172-31-42-99 ~]$ sudo systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[ec2-user@ip-172-31-42-99 ~]$ systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since 火 2021-06-29 10:24:00 UTC; 15s ago
Main PID: 19740 (nginx)
CGroup: /system.slice/nginx.service
├─19740 nginx: master process /usr/sbin/nginx
└─19741 nginx: worker process
6月 29 10:24:00 ip-172-31-42-99.ap-northeast-1.compute.internal systemd[1]: ...
6月 29 10:24:00 ip-172-31-42-99.ap-northeast-1.compute.internal nginx[19734]: ...
6月 29 10:24:00 ip-172-31-42-99.ap-northeast-1.compute.internal nginx[19734]: ...
6月 29 10:24:00 ip-172-31-42-99.ap-northeast-1.compute.internal systemd[1]: ...
Hint: Some lines were ellipsized, use -l to show in full.
[ec2-user@ip-172-31-42-99 ~]$
AWS ELBはAWS Elastic Load Balancingの略で、ほかのサービスへのトラフィックを、仮想サーバーなどの、複数のターゲットに自動的に分散し、安定稼働をサポートするサービスです。複数のサーバーへの負荷を均一化し、障害に対する耐性を高めます。 →負荷を分散させる機能である。 ロードバランサーは3種ありALBもその一つ。詳しくは下記URL
Webサービスの安定稼働に欠かせないAWS ELBの基礎知識
ロードバランサーの作成
ロードバランサーの選択
ロードバランサーの設定
セキュリティの設定 今回何もしなくていい
セキュリティグループの選択
ターゲットの選択
エラー!!!
→おそらくEC2の設定で不備があったものだと考えらる。
マシンイメージの作成(AMI)
インスタンスの選択
インスタンスの詳細の設定(ここのVPCの紐付けができなかった!)
ストレージの追加
タグの追加
セキュリティグループの選択
インスタンスの状態の確認
鍵の作成 →この後鍵も再度設定
設定が出来たか確認
ALBのエラー箇所の原因はEC2とVPCの紐付けができていなかったから!
ロードバランサーの作成
ロードバランサーの設定
セキュリティの設定の構成
セキュリティグループの設定
ルーティングの設定
ターゲットの登録(エラー箇所解決)
確認
→設定がうまくいっていれば、DNS名をURLに記入し、アクセスができる。
DNS名の確認
ブラウザ表示表示(今回はエラー!!)
おそらく新しくインスタンスを立てたので、nginxが設定されていないのが原因だと考えれる。 次はその設定から行う!!!!!!!!!!
kimuranaoki@kimuranaokinoMacBook-Pro ~ % mv test-aws2.pem .ssh/ssh-aws
kimuranaoki@kimuranaokinoMacBook-Pro ~ % cd .ssh
kimuranaoki@kimuranaokinoMacBook-Pro .ssh % vim config
kimuranaoki@kimuranaokinoMacBook-Pro .ssh % cat config
Host dev-zabbix
HostName 192.168.33.10
User zabbix
Port 22
IdentityFile ~/.ssh/dev-zabbix
Host dev-wordpress
HostName 192.168.33.15
User menta
Port 22
IdentityFile ~/.ssh/ssh-wordpress/dev-wordpress
Host github github.com
HostName github.com
User git
IdentityFile ~/.ssh/ssh-git/dev-git
Host dev-aws
HostName ec2-13-231-255-178.ap-northeast-1.compute.amazonaws.com
User ec2-user
IdentityFile ~/.ssh/ssh-aws/test-keypem.pem
Host dev-aws2
HostName
User ec2-user
IdentityFile ~/.ssh/ssh-aws/test-aws2.pem
kimuranaoki@kimuranaokinoMacBook-Pro .ssh %
Host dev-aws2のHostName を選択するために、作成したEC2のインスタンスを確認する。
↓ 確認できない
エラー!!!!!!!! 下記より原因箇所を一つずつ解決していく。
VPCのアクションよりDNS名の編集をクリック
DNS表示の有効化
パブリック IPv4 DNSの表示
Elastip IPアドレスの関連付け
関連付けるインスタンスの選択
確認
これをやってしまうと、 後から修正できないので、初めから作成になってしまう…
上記の修正を全て加え、新たにnaoki-instanceを作成
kimuranaoki@kimuranaokinoMacBook-Pro ~ % mv naoki-aws.pem .ssh/ssh-aws
kimuranaoki@kimuranaokinoMacBook-Pro ~ % cd .ssh/ssh-aws
kimuranaoki@kimuranaokinoMacBook-Pro ssh-aws % ls
naoki-aws.pem test-keypem.pem
kimuranaoki@kimuranaokinoMacBook-Pro ssh-aws % chmod 400 naoki-aws.pem
kimuranaoki@kimuranaokinoMacBook-Pro ssh-aws % cd ..
kimuranaoki@kimuranaokinoMacBook-Pro .ssh % vim config
kimuranaoki@kimuranaokinoMacBook-Pro .ssh % cat config
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Host dev-naoki-aws
HostName ec2-35-75-167-95.ap-northeast-1.compute.amazonaws.com
User ec2-user
IdentityFile ~/.ssh/ssh-aws/naoki-aws.pem
接続!
kimuranaoki@kimuranaokinoMacBook-Pro .ssh % ssh dev-naoki-aws
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/ [ec2-user@ip-10-0-1-62 ~]$ exit
作成途中割愛 naoki-instanceを選択し、naoki-api-albという名前で作成
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ec2-user@ip-172-31-42-99 ~]$ sudo amazon-linux-extras install nginx1
Installing nginx
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
リポジトリーを清掃しています: amzn2-core amzn2extra-docker amzn2extra-nginx1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59 postgresql13 available [ =stable ]
60 mock2 available [ =stable ]
[ec2-user@ip-172-31-42-99 ~]$ sudo cp -a /etc/nginx/nginx.conf /etc/nginx/nginx.conf.back
[ec2-user@ip-172-31-42-99 ~]$ sudo systemctl start nginx
[ec2-user@ip-172-31-42-99 ~]$ sudo systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[ec2-user@ip-10-0-1-62 ~]$ systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since 木 2021-07-01 14:09:27 UTC; 15s ago
Main PID: 3541 (nginx)
CGroup: /system.slice/nginx.service
├─3541 nginx: master process /usr/sbin/nginx
└─3542 nginx: worker process
7月 01 14:09:27 ip-10-0-1-62.ap-northeast-1.compute.internal systemd[1]: St...
7月 01 14:09:27 ip-10-0-1-62.ap-northeast-1.compute.internal nginx[3536]: n...
7月 01 14:09:27 ip-10-0-1-62.ap-northeast-1.compute.internal nginx[3536]: n...
7月 01 14:09:27 ip-10-0-1-62.ap-northeast-1.compute.internal systemd[1]: St...
Hint: Some lines were ellipsized, use -l to show in full.
接続完了!!
RDSとは Amazon RDS(Amazon Relational Database Service)とは、その名称のとおりAWSのリレーショナル型のデータベース。
RDBMSとは リレーショナル型データベースを管理するためのソフトウェア。RDS内に構築して使える。MySQLやOracle等。
サブネットグループの作成スタート
追加するサブネットを選択
確認
パラメーターグループの作成スタート
パラメーターグループの選択
確認
パラメータの編集開始
パラメータの選択
値の追加
変更を適用
確認
データベース作成スタート
RDSのパラメータを選択
DBの設定
VPCの選択
DBの選択肢(パラメータ設定した物)
確認
エンドポイントを確認 今後使うかもなので、ここは保存しておく
インバウンドルールの編集
インバウンドルールの追加
確認
[root@ip-10-0-1-62 ~]# yum -y update
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Complete!
[root@ip-10-0-1-62 ~]#
→awsではインストール済みなので、しなくていい。
[root@ip-10-0-1-62 ~]# yum -y install vim wget
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Package 2:vim-enhanced-8.1.1602-1.amzn2.x86_64 already installed and latest version
Package wget-1.14-18.amzn2.1.x86_64 already installed and latest version
Nothing to do
[ec2-user@ip-10-0-1-62 ~]$ sudo su -
[root@ip-10-0-1-62 ~]# useradd kimura
[root@ip-10-0-1-62 ~]# grep kimura /etc/passwd
kimura:x:1001:1001::/home/kimura:/bin/bash
[root@ip-10-0-1-62 ~]# passwd kimura
Changing password for user kimura.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# visudo
111行目を以下のように追加
109 ## Same thing without a password
110 # %wheel ALL=(ALL) NOPASSWD: ALL
111 %kimura ALL=(ALL) NOPASSWD: ALL
ローカルに公開鍵を作成
kimuranaoki@kimuranaokinoMacBook-Pro ssh-aws % ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/kimuranaoki/.ssh/id_rsa): dev-kimura-aws
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in dev-kimura-aws.
Your public key has been saved in dev-kimura-aws.pub.
The key fingerprint is:
SHA256:qc9wOnPXAWCmacEiYYBNJeqGItRvXWA/9sZMKDfClyM kimuranaoki@kimuranaokinoMacBook-Pro.local
The key's randomart image is:
+---[RSA 3072]----+
|o+=o.. o |
|.o+.. = * o |
|.. o . E & . |
|+ . = O.X |
|+o + .S * |
|+ . . . . |
| o . . . |
| o*. . . |
| .+o. |
+----[SHA256]-----+
kimuranaoki@kimuranaokinoMacBook-Pro ssh-aws % ls
dev-kimura-aws dev-kimura-aws.pub naoki-aws.pem test-keypem.pem
kimuranaoki@kimuranaokinoMacBook-Pro ssh-aws % cat dev-kimura-aws.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDOtTVtQSnRYKpApuByCgNLC5pRHeFkBHiA9xpRBCfkrc9Vy1gv5pIkKmrXAKEugIo79Fbqs006pg0tKE96Gk6AHzSUFrRL5dmBU03VrXDd/S8qVKBKJuHRON2RUc7TDWnwsRfhWu/17ECVs58ZCh1WMf7BCq3D2HnFYAj6A/uE38LL8VBsRF51hDu/5PdRXrJsAc09H6VdyoO5YZwelW11k8jl1ghUk3oqDdbOHVBGo730acoVu2rocphf2w9jXFabdh5TmbnEY+ZpFtV0fkqBJEvCmIYTZDTxDFyeTuftQDvfi6ZAwDbkcZHav60yKlJx673gHv/v3nvnNx0SUiWQvyUp20t1jsruGy8mNla2YYqDmmrtaroqPrj9DrM18hX7pxephTfmkjBguVnRkYdFrSSapO62wu8ZMO2ngCjgdDbXZkPJbb6W6jCKVBT5dMqrYFYIjjrQyrTcyNwcBZto5eYFqIOLf9U89xW9lA21OE+yNTW0CMd9sqzfmX0VPKc= kimuranaoki@kimuranaokinoMacBook-Pro.local
kimuranaoki@kimuranaokinoMacBook-Pro ssh-aws % chmod 600 dev-kimura-aws.pub
kimuraのhomeディレクトリに移動
[root@ip-10-0-1-62 ~]$ su kimura
[kimura@ip-10-0-1-62 root]$ cd
[kimura@ip-10-0-1-62 ~]$
公開鍵の中身を.sshディレクトリに配置
[kimura@ip-10-0-1-62 ~]$ mkdir .ssh
[kimura@ip-10-0-1-62 ~]$ chmod 700 .ssh
[kimura@ip-10-0-1-62 ~]$ cd .ssh
[kimura@ip-10-0-1-62 .ssh]$ vim authorized_keys
[kimura@ip-10-0-1-62 .ssh]$ cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDOtTVtQSnRYKpApuByCgNLC5pRHeFkBHiA9xpRBCfkrc9Vy1gv5pIkKmrXAKEugIo79Fbqs006pg0tKE96Gk6AHzSUFrRL5dmBU03VrXDd/S8qVKBKJuHRON2RUc7TDWnwsRfhWu/17ECVs58ZCh1WMf7BCq3D2HnFYAj6A/uE38LL8VBsRF51hDu/5PdRXrJsAc09H6VdyoO5YZwelW11k8jl1ghUk3oqDdbOHVBGo730acoVu2rocphf2w9jXFabdh5TmbnEY+ZpFtV0fkqBJEvCmIYTZDTxDFyeTuftQDvfi6ZAwDbkcZHav60yKlJx673gHv/v3nvnNx0SUiWQvyUp20t1jsruGy8mNla2YYqDmmrtaroqPrj9DrM18hX7pxephTfmkjBguVnRkYdFrSSapO62wu8ZMO2ngCjgdDbXZkPJbb6W6jCKVBT5dMqrYFYIjjrQyrTcyNwcBZto5eYFqIOLf9U89xW9lA21OE+yNTW0CMd9sqzfmX0VPKc= kimuranaoki@kimuranaokinoMacBook-Pro.local
[kimura@ip-10-0-1-62 .ssh]$ chmod 600 authorized_keys
ローカルのconfigファイルの書き換え
kimuranaoki@kimuranaokinoMacBook-Pro .ssh % vim config
kimuranaoki@kimuranaokinoMacBook-Pro .ssh % cat config
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Host dev-kimura-aws
HostName 35.75.167.95
User kimura
IdentityFile ~/.ssh/ssh-aws/dev-kimura-aws
hostsの設定
kimuranaoki@kimuranaokinoMacBook-Pro ~ % vim /etc/hosts
kimuranaoki@kimuranaokinoMacBook-Pro ~ % cat /etc/hosts
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35.75.167.95 dev.kimura.aws
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AWSへのssh接続
kimuranaoki@kimuranaokinoMacBook-Pro .ssh % rm -rf known_hosts [kimuranaoki@kimuranaokinoMacBook-Pro ~ % ssh dev-kimura-aws
The authenticity of host 'ec2-35-75-167-95.ap-northeast-1.compute.amazonaws.com (35.75.167.95)' can't be established.
ECDSA key fingerprint is SHA256:vCzTxZnNcceiknS33ZZCzva4E0f5/PIlnYWdQoaP5/4.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'ec2-35-75-167-95.ap-northeast-1.compute.amazonaws.com,35.75.167.95' (ECDSA) to the list of known hosts.
Last login: Sat Jul 3 13:10:29 2021
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[root@ip-10-0-1-62 html]# vim /etc/hosts
[root@ip-10-0-1-62 html]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost6 localhost6.localdomain6
35.75.167.95 dev.kimura.aws
[root@ip-10-0-1-62 ~]# vim /etc/nginx/conf.d/default.conf
[root@ip-10-0-1-62 ~]# cat /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name dev.kimura.aws;
root /var/www/html/;
charset UTF-8;
access_log /var/log/nginx/sample.com.access.log main;
error_log /var/log/nginx/sample.com.error.log;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
各リポジトリのインストール
[root@ip-10-0-1-62 ~]# amazon-linux-extras install -y epel
Installing epel-release
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59 postgresql13 available [ =stable ]
60 mock2 available [ =stable ]
[root@ip-10-0-1-62 ~]# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
Retrieving http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
warning: /var/tmp/rpm-tmp.qSjev7: Header V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1:remi-release-7.9-1.el7.remi ################################# [100%]
php7.2のインストール
[root@ip-10-0-1-62 ~]# amazon-linux-extras install -y php7.2
Installing php-pdo, php-fpm, php-mysqlnd, php-cli, php-json
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60 mock2 available [ =stable ]
[root@ip-10-0-1-62 ~]# php -v
PHP 7.2.34 (cli) (built: Oct 21 2020 18:03:20) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
phpの各パッケージのインストール(phpインストール時にインストールしたものもあるかも知れない)
[root@ip-10-0-1-62 ~]# yum -y install --enablerepo=epel,remi,remi-php72 php-mbstring php-pdo php-mysqlnd php-fpm
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Complete!
[root@ip-10-0-1-62 nginx]# vim /etc/php-fpm.d/www.conf
[root@ip-10-0-1-62 nginx]# cat /etc/php-fpm.d/www.conf
[www]
user = nginx group = nginx
listen = /var/run/php-fpm/php-fpm.sock listen.owner = nginx listen.group = nginx listen.allowed_clients = 127.0.0.1
pm = static pm.max_children = 10 pm.start_servers = 50 pm.min_spare_servers = 50 pm.max_spare_servers = 35 pm.process_idle_timeout = 10s; pm.max_requests = 100 php_admin_value[memory_limit] = 256M
slowlog = /var/log/php-fpm/www-slow.log request_slowlog_timeout = 0 request_terminate_timeout = 180
php_admin_value[error_log] = /var/log/php-fpm/www-error.log php_admin_flag[log_errors] = on php_value[session.save_handler] = files php_value[session.save_path] = /var/lib/php/session php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache
- php-fpm起動
[root@ip-10-0-1-62 nginx]# systemctl start php-fpm [root@ip-10-0-1-62 nginx]# systemctl status php-fpm ● php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2021-07-04 01:32:16 UTC; 28s ago Main PID: 19160 (php-fpm) Status: "Processes active: 0, idle: 10, Requests: 2, slow: 0, Traffic: 0.1req/sec" CGroup: /system.slice/php-fpm.service ├─19160 php-fpm: master process (/etc/php-fpm.conf) ├─19161 php-fpm: pool www ├─19162 php-fpm: pool www ├─19163 php-fpm: pool www ├─19164 php-fpm: pool www ├─19165 php-fpm: pool www ├─19166 php-fpm: pool www ├─19167 php-fpm: pool www ├─19168 php-fpm: pool www ├─19169 php-fpm: pool www └─19170 php-fpm: pool www
Jul 04 01:32:16 ip-10-0-1-62.ap-northeast-1.compute.internal systemd[1]: Star... Jul 04 01:32:16 ip-10-0-1-62.ap-northeast-1.compute.internal systemd[1]: Star... Hint: Some lines were ellipsized, use -l to show in full. [root@ip-10-0-1-62 nginx]# systemctl enable php-fpm Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
### nginxでphpをブラウザ表示
[root@ip-10-0-1-62 html]# vim index.php [root@ip-10-0-1-62 html]# cat index.php <?php echo "hello php7.2"; ?> root@ip-10-0-1-62 nginx]# systemctl restart php-fpm [root@ip-10-0-1-62 html]# systemctl restart nginx
### 確認
<img width="1440" alt="スクリーンショット 2021-07-04 10 40 37" src="https://user-images.githubusercontent.com/65452992/124370590-5ac4c100-dcb4-11eb-82e8-f8dc3436f0a0.png">
成功!
[root@ip-10-0-1-62 ~]# cd /var/www/html/
[root@ip-10-0-1-62 html]# wget https://ja.wordpress.org/latest-ja.tar.gz
--2021-07-04 01:54:16-- https://ja.wordpress.org/latest-ja.tar.gz
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021-07-04 01:54:20 (6.34 MB/s) - ‘latest-ja.tar.gz’ saved [16459893/16459893]
[root@ip-10-0-1-62 html]# tar xfz latest-ja.tar.gz
[root@ip-10-0-1-62 html]# chown -R nginx. wordpress
[root@ip-10-0-1-62 html]# vim /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name dev.kimura.aws;
root /var/www/html/wordpress;
charset UTF-8;
access_log /var/log/nginx/sample.com.access.log main;
error_log /var/log/nginx/sample.com.error.log;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
[root@ip-10-0-1-62 html]# chown -R nginx:nginx /var/www/html/wordpress
[root@ip-10-0-1-62 html]# systemctl restart nginx
[root@ip-10-0-1-62 html]# systemctl restart php-fpm
成功!
[root@ip-10-0-1-62 ~]# yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Complete!
[root@ip-10-0-1-62 ~]# yum -y install mysql-community-server
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Complete!
[root@ip-10-0-1-62 ~]# mysqld --version
mysqld Ver 5.7.34 for Linux on x86_64 (MySQL Community Server (GPL))
[root@ip-10-0-1-62 ~]# systemctl start mysqld
[root@ip-10-0-1-62 ~]# systemctl enable mysqld
[root@ip-10-0-1-62 ~]# systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2021-07-04 02:28:26 UTC; 30s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Main PID: 19884 (mysqld)
CGroup: /system.slice/mysqld.service
└─19884 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/my...
Jul 04 02:28:22 ip-10-0-1-62.ap-northeast-1.compute.internal systemd[1]: Star...
Jul 04 02:28:26 ip-10-0-1-62.ap-northeast-1.compute.internal systemd[1]: Star...
Hint: Some lines were ellipsized, use -l to show in full.
[root@ip-10-0-1-62 ~]# cat /var/log/mysqld.log | grep password
2021-07-04T02:28:24.401226Z 1 [Note] A temporary password is generated for root@localhost: ckM5vqA)ia>k
[root@ip-10-0-1-62 ~]# mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
Error: Access denied for user 'root'@'localhost' (using password: YES)
[root@ip-10-0-1-62 ~]# mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
The existing password for the user account root has expired. Please set a new password.
New password:
Re-enter new password:
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.
Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y
New password:
Re-enter new password:
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
All done!
エンドポイントは下記で確認(mysql -u naoki -p -h エンドポイント)パスワードは11922960kim
[root@ip-10-0-1-62 ~]# mysql -u naoki -p -h naoki-db-test.calebo4kouz5.ap-northeast-1.rds.amazonaws.com
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 240
Server version: 5.7.33-log Source distribution
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
mysql> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.01 sec)
mysql> CREATE USER 'wordpress'@'localhost' IDENTIFIED BY '11922960kim';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.02 sec)
mysql>
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| innodb |
| mysql |
| naokidb57 |
| performance_schema |
| sys |
| wordpress |
+--------------------+
7 rows in set (0.00 sec)
mysql> SELECT host, user FROM mysql.user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| % | naoki |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | rdsadmin |
| localhost | wordpress |
+-----------+---------------+
5 rows in set (0.00 sec)
mysql> \q
Bye
[root@ip-10-0-1-62 wordpress]# cp wp-config-sample.php wp-config.php
[root@ip-10-0-1-62 wordpress]# vim wp-config.php
[root@ip-10-0-1-62 wordpress]# systemctl restart nginx
[root@ip-10-0-1-62 wordpress]# systemctl restart mysqld
[root@ip-10-0-1-62 wordpress]# systemctl restart php-fpm
[root@ip-10-0-1-62 wordpress]# cat wp-config.php
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'wordpress' );
/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'naoki' );
/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', '11922960kim' );
/** MySQL のホスト名 */
define( 'DB_HOST', 'naoki-db-test.calebo4kouz5.ap-northeast-1.rds.amazonaws.com' );
/** データベースのテーブルを作成する際のデータベースの文字セット */
define( 'DB_CHARSET', 'utf8' );
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define( 'DB_COLLATE', '' );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vagrantと違うところは、ホスト名をRDSのエンドポイントにする必要があるところ!!
[kimura@ip-10-0-1-62 ssl]$ sudo su -
最終ログイン: 2021/07/04 (日) 07:33:32 UTC日時 pts/3
[root@ip-10-0-1-62 ~]# cd /etc/ssl
[root@ip-10-0-1-62 ssl]# openssl genrsa 2048 > server.key
Generating RSA private key, 2048 bit long modulus
...............................................+++
........................................................+++
e is 65537 (0x10001)
[root@ip-10-0-1-62 ssl]# openssl req -new -key server.key > server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Nakanoku
Organization Name (eg, company) [Default Company Ltd]:Seiren
Organizational Unit Name (eg, section) []:Sales
Common Name (eg, your name or your server's hostname) []:
Email Address []:k911672@gmail.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[root@ip-10-0-1-62 ssl]# openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt
Signature ok
subject=/C=JP/ST=Tokyo/L=Nakanoku/O=Seiren/OU=Sales/emailAddress=k911672@gmail.com
Getting Private key
[root@ip-10-0-1-62 ssl]# ls
certs server.crt server.csr server.key
[root@ip-10-0-1-62 ssl]# cat server.cst
cat: server.cst: No such file or directory
[root@ip-10-0-1-62 ssl]# cat server.crt
-----BEGIN CERTIFICATE-----
MIIDYjCCAkoCCQD4+IKuI3jReTANBgkqhkiG9w0BAQsFADBzMQswCQYDVQQGEwJK
UDEOMAwGA1UECAwFVG9reW8xETAPBgNVBAcMCE5ha2Fub2t1MQ8wDQYDVQQKDAZT
ZWlyZW4xDjAMBgNVBAsMBVNhbGVzMSAwHgYJKoZIhvcNAQkBFhFrOTExNjcyQGdt
YWlsLmNvbTAeFw0yMTA3MDQwODAyNTNaFw0zMTA3MDIwODAyNTNaMHMxCzAJBgNV
BAYTAkpQMQ4wDAYDVQQIDAVUb2t5bzERMA8GA1UEBwwITmFrYW5va3UxDzANBgNV
BAoMBlNlaXJlbjEOMAwGA1UECwwFU2FsZXMxIDAeBgkqhkiG9w0BCQEWEWs5MTE2
NzJAZ21haWwuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvwBE
apj+DNbereqWPFCvIHpZrb1TOzlU2fpsxAigHIeE/vitxgik5L1XLpqsQOXOI4tc
Ef1kaomyKP4BfLv6S+XGLuLnYiBpIGySHi+xRMqAXfB/p3uUUDlfG2d/7nsKsSpD
nHbcByH/PfadSk0bAkQR5ui5y6d5X/kEYZm8SUwamOkoDddfnraLIfea7u+s4TYk
DXcA+MX3nkFiiQnHIGgxqkutiN4IJn5QGNsB4Z46qrKQ1ZY6cNYgw3ac8vP8pueT
yw4GoVUTJKivXalCUh3pT0LH2aozKEHQ09BwdYVz7zJcAiEL26OJZ+W7qo64wMxi
RuzkOCVTCkh3wUD0LwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAzR9qMwyCPiufv
72xOquKAzSk1SjZ9MqjJ896nIg0JbTp1GF83SFMvczKTuOTMaNWsU586fZozdn7V
M/T+lLuqfskDjm44gBXK0lt9SEthYyAD2YfuTq1jp9gze6InqDNwcdleet56QdxQ
wTlnxJpTmvSeR8tKElMkFX+792om5HRqFt7ycUNMl8LlnqgBObGjhGPgF9aN1wWK
XYVSUg283r1AL8Crpi+VvWLvZYDpYyUUKV/rauGiWAArK142DP1zGJ3VQTKUXsCE
fRaKiORrCLD0j0xDBs+AppawIpIb75klqFT28Os885Frz81Y6uYsHCKAiZ3s/hel
xdkt/dR2
-----END CERTIFICATE-----
kimuranaoki@kimuranaokinoMacBook-Pro ~ % cd /etc/ssl
kimuranaoki@kimuranaokinoMacBook-Pro ssl % sudo mkdir wordpress-ssl
kimuranaoki@kimuranaokinoMacBook-Pro ssl % cd wordpress-ssl
kimuranaoki@kimuranaokinoMacBook-Pro wordpress-ssl % sudo vim server.crt
kimuranaoki@kimuranaokinoMacBook-Pro wordpress-ssl % sudo cat server.crt
-----BEGIN CERTIFICATE-----
MIIDYjCCAkoCCQD4+IKuI3jReTANBgkqhkiG9w0BAQsFADBzMQswCQYDVQQGEwJK
UDEOMAwGA1UECAwFVG9reW8xETAPBgNVBAcMCE5ha2Fub2t1MQ8wDQYDVQQKDAZT
ZWlyZW4xDjAMBgNVBAsMBVNhbGVzMSAwHgYJKoZIhvcNAQkBFhFrOTExNjcyQGdt
YWlsLmNvbTAeFw0yMTA3MDQwODAyNTNaFw0zMTA3MDIwODAyNTNaMHMxCzAJBgNV
BAYTAkpQMQ4wDAYDVQQIDAVUb2t5bzERMA8GA1UEBwwITmFrYW5va3UxDzANBgNV
BAoMBlNlaXJlbjEOMAwGA1UECwwFU2FsZXMxIDAeBgkqhkiG9w0BCQEWEWs5MTE2
NzJAZ21haWwuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvwBE
apj+DNbereqWPFCvIHpZrb1TOzlU2fpsxAigHIeE/vitxgik5L1XLpqsQOXOI4tc
Ef1kaomyKP4BfLv6S+XGLuLnYiBpIGySHi+xRMqAXfB/p3uUUDlfG2d/7nsKsSpD
nHbcByH/PfadSk0bAkQR5ui5y6d5X/kEYZm8SUwamOkoDddfnraLIfea7u+s4TYk
DXcA+MX3nkFiiQnHIGgxqkutiN4IJn5QGNsB4Z46qrKQ1ZY6cNYgw3ac8vP8pueT
yw4GoVUTJKivXalCUh3pT0LH2aozKEHQ09BwdYVz7zJcAiEL26OJZ+W7qo64wMxi
RuzkOCVTCkh3wUD0LwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAzR9qMwyCPiufv
72xOquKAzSk1SjZ9MqjJ896nIg0JbTp1GF83SFMvczKTuOTMaNWsU586fZozdn7V
M/T+lLuqfskDjm44gBXK0lt9SEthYyAD2YfuTq1jp9gze6InqDNwcdleet56QdxQ
wTlnxJpTmvSeR8tKElMkFX+792om5HRqFt7ycUNMl8LlnqgBObGjhGPgF9aN1wWK
XYVSUg283r1AL8Crpi+VvWLvZYDpYyUUKV/rauGiWAArK142DP1zGJ3VQTKUXsCE
fRaKiORrCLD0j0xDBs+AppawIpIb75klqFT28Os885Frz81Y6uYsHCKAiZ3s/hel
xdkt/dR2
-----END CERTIFICATE-----
kimuranaoki@kimuranaokinoMacBook-Pro wordpress-ssl % cp server.crt ~/aws/test-aws/
[root@ip-10-0-1-62 conf.d]# vim default.conf
[root@ip-10-0-1-62 conf.d]# cat default.conf
server {
listen 80;
server_name dev.kimura.aws;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name dev.kimura.aws;
root /var/www/html/wordpress;
charset UTF-8;
access_log /var/log/nginx/sample.com.access.log main;
error_log /var/log/nginx/sample.com.error.log;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
ssl on;
ssl_certificate /etc/ssl/server.crt;
ssl_certificate_key /etc/ssl/server.key;
# SSLを無効化してTLSのみ受け付ける
ssl_protocols TLSv1.3 TLSv1.2;
}
[root@ip-10-0-1-62 conf.d]# systemctl restart nginx
[root@ip-10-0-1-62 conf.d]# systemctl restart php-fpm
[root@ip-10-0-1-62 conf.d]# systemctl restart mysqld
オレオレ証明ではchromeだと弾かれるので、firefoxで開いている。
変更なし
[defaults]
retry_files_enabled = False
[privilege_escalation]
become = True
[ssh_connection]
deprecation_warnings=False
sshで入る時のhosts名を記載
[web]
dev-kimura-aws
#group
[prd:children]
web
まずはcommonファイルの実行のみ記載
- hosts: all
roles:
- common
# - hosts: dev-kimura-aws
# roles:
変数の共通ファイル(まだ、hostsの変数のみ記載)
##=====COMMON=====##
server_hostname: "{{ inventory_hostname }}"
(今回、wget, mlocate, vimだけでいい気がする。)
- name: yum install bacepackage
yum: name={{ item }} state=present
loop:
- vim
- zsh
- git
- tree
- htop
- iftop
- mlocate
- telnet
- wget
- ipa-pgothic-fonts
そのまま
- name: change hostname
hostname: name={{ server_hostname }}
common/tasks内のファイルを実行しているだけなので、そのまま
- name: include tasks/base-packages.yml
include_tasks: tasks/base-packages.yml
- name: include tasks/hostname.yml
include_tasks: tasks/hostname.yml
- name: include tasks/user.yml
include_tasks: tasks/user.yml
group, name, keyの値を変更
- name: create user
user:
name: "{{ item.name }}"
createhome: yes
password: "{{ item.password | password_hash('sha512') }}"
shell: "{{ item.shell }}"
groups: "{{ item.groups }}"
state: "{{ item.state }}"
remove: "{{ item.remove }}"
loop:
- { shell: '/bin/bash', groups: 'kimura', state: 'present', remove: 'no', name: 'kimura', password: '11922960Kim@' }
- name: add sudoers
lineinfile:
path: /etc/sudoers
state: present
regexp: "{{ item.match }}"
line: "{{ item.line }}"
loop:
- { match: 'kimura', line: 'kimura ALL=(ALL) NOPASSWD: ALL' }
- name: authorized_key for user kimura
ignore_errors: true
authorized_key:
user: kimura
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDOtTVtQSnRYKpApuByCgNLC5pRHeFkBHiA9xpRBCfkrc9Vy1gv5pIkKmrXAKEugIo79Fbqs006pg0tKE96Gk6AHzSUFrRL5dmBU03VrXDd/S8qVKBKJuHRON2RUc7TDWnwsRfhWu/17ECVs58ZCh1WMf7BCq3D2HnFYAj6A/uE38LL8VBsRF51hDu/5PdRXrJsAc09H6VdyoO5YZwelW11k8jl1ghUk3oqDdbOHVBGo730acoVu2rocphf2w9jXFabdh5TmbnEY+ZpFtV0fkqBJEvCmIYTZDTxDFyeTuftQDvfi6ZAwDbkcZHav60yKlJx673gHv/v3nvnNx0SUiWQvyUp20t1jsruGy8mNla2YYqDmmrtaroqPrj9DrM18hX7pxephTfmkjBguVnRkYdFrSSapO62wu8ZMO2ngCjgdDbXZkPJbb6W6jCKVBT5dMqrYFYIjjrQyrTcyNwcBZto5eYFqIOLf9U89xW9lA21OE+yNTW0CMd9sqzfmX0VPKc= kimuranaoki@kimuranaokinoMacBook-Pro.local
roleにnginxを追加
# - hosts: all
# roles:
# - common
- hosts: dev-kimura-aws
roles:
- nginx
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 4096;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html;
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=http://nginx.org/keys/nginx_signing.key
[nginx-source]
name=nginx source
baseurl=http://nginx.org/packages/mainline/centos/7/SRPMS/
gpgcheck=1
enabled=0
gpgkey=http://nginx.org/keys/nginx_signing.key
server {
listen 80;
server_name dev.kimura.aws;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name dev.kimura.aws;
root /var/www/html/wordpress;
charset UTF-8;
access_log /var/log/nginx/sample.com.access.log main;
error_log /var/log/nginx/sample.com.error.log;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
ssl on;
ssl_certificate /etc/ssl/server.crt;
ssl_certificate_key /etc/ssl/server.key;
# SSLを無効化してTLSのみ受け付ける
ssl_protocols TLSv1.3 TLSv1.2;
}
# PHP-FPM FastCGI server
# network or unix domain socket configuration
upstream php-fpm {
server unix:/run/php-fpm/www.sock;
}
- name: restart nginx
systemd: name=nginx state=restarted
- name: copy nginx.repo
copy:
src: "{{ item.src }}"
dest: "/etc/yum.repos.d/{{ item.dest }}"
backup: no
owner: root
group: root
with_items:
- { src: roles/nginx/files/nginx.repo, dest: . }
- name: Enable to install NGINX.
shell: "amazon-linux-extras enable nginx1"
become: yes
- name: install nginx
yum: name={{ item }} state=installed
loop:
- nginx
- name: start nginx
systemd: name=nginx enabled=yes state=started
- name: copy nginx conf
copy:
src: "{{ item.src }}"
dest: "/etc/nginx/{{ item.dest }}"
backup: no
owner: root
group: root
loop:
- { src: roles/nginx/files/conf.d, dest: . }
- { src: roles/nginx/files/nginx.conf, dest: . }
notify: restart nginx
下記を加えないとamazon-linux-extrasでのnginxのインストールができない
- name: Enable to install NGINX.
shell: "amazon-linux-extras enable nginx1"
become: yes
phpディレクトリの設定を追加
# - hosts: all
# roles:
# - common
- hosts: dev-kimura-aws
roles:
# - nginx
- php
変更せず
[PHP]
engine = On
safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
display_startup_errors = Off
max_execution_time = 600
max_input_time = 60
memory_limit = 200M
register_globals = Off
register_long_arrays = Off
register_argc_argv = Off
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
allow_url_fopen = On
allow_url_include = Off
file_uploads = On
post_max_size = 60M
upload_max_filesize = 50M
zend.ze1_compatibility_mode = Off
short_open_tag = On
asp_tags = Off
precision = 14
y2k_compliance = On
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func=
serialize_precision = 100
allow_call_time_pass_reference = Off
disable_functions =
disable_classes =
expose_php = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
variables_order = "EGPCS"
auto_globals_jit = On
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
doc_root =
user_dir =
;extension_dir = "/usr/lib/php/modules"
enable_dl = On
default_socket_timeout = 60
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;
[Date]
date.timezone = Asia/Tokyo
[Syslog]
define_syslog_variables = Off
[mail function]
SMTP = localhost
smtp_port = 25
sendmail_path = /usr/sbin/sendmail -t -i
[SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[MySQL]
mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
[MySQLi]
mysqli.max_links = -1
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off
[mSQL]
msql.allow_persistent = On
msql.max_persistent = -1
msql.max_links = -1
[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[Sybase]
sybase.allow_persistent = On
sybase.max_persistent = -1
sybase.max_links = -1
sybase.min_error_severity = 10
sybase.min_message_severity = 10
sybase.compatability_mode = Off
[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10
[bcmath]
bcmath.scale = 0
[browscap]
[Informix]
ifx.default_host =
ifx.default_user =
ifx.default_password =
ifx.allow_persistent = On
ifx.max_persistent = -1
ifx.max_links = -1
ifx.textasvarchar = 0
ifx.byteasvarchar = 0
ifx.charasvarchar = 0
ifx.blobinfile = 0
ifx.nullformat = 0
[Session]
session.save_handler = files
session.save_path = /var/lib/php/session
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = 0
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 1
session.hash_bits_per_character = 5
[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
mssql.secure_connection = Off
[Assertion]
[Verisign Payflow Pro]
pfpro.defaulthost = "test-payflow.verisign.com"
pfpro.defaultport = 443
pfpro.defaulttimeout = 30
[COM]
[FrontBase]
[gd]
[exif]
[Tidy]
tidy.clean_output = Off
[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
[Zend Optimizer]
zend_extension = opcache.so
user, group, listen.owner, listen.groupを変更
[www]
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
pm = static
pm.max_children = 40
pm.start_servers = 40
pm.min_spare_servers = 40
pm.max_spare_servers = 40
pm.process_idle_timeout = 10s;
pm.max_requests = 100
slowlog = /var/log/php-fpm/www-slow.log
request_terminate_timeout = 100
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 256M
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache
- name: restart php-fpm
systemd: name=php-fpm state=restarted
epelとphpのインストールをmazon-linux-extrasを使った仕様に変更。
- name: Enable to install epel.
shell: "amazon-linux-extras enable epel"
become: yes
- name: install remi epel
yum: name={{ item }} state=present
loop:
- "{{ PHP_VERSION_EPEL }}"
- "{{ PHP_VERSION_REMI }}"
- name: Enable to install php7.2
shell: "amazon-linux-extras enable php7.2"
become: yes
- name: php72 install
yum: name={{ item }} state=present enablerepo=remi,remi-php72
loop:
- php
- php-fpm
- php-gd
- php-bcmath
- php-mbstring
- php-xml
- php-curl
- php-ldap
- php-mysqlnd
- php-opcache
- name: start php-fpm
systemd: name=php-fpm state=started enabled=yes
- name: copy php.ini
copy:
src: "roles/php/files/{{ item.src }}"
dest: "/etc/{{ item.dest }}"
backup: no
owner: root
group: root
mode: 0644
loop:
- { src: "php.ini", dest: . }
- name: copy php-fpm www.conf
copy:
src: "roles/php/files/{{ item.src }}"
dest: "/etc/php-fpm.d/{{ item.dest }}"
backup: no
owner: root
group: root
mode: 0644
loop:
- { src: "www.conf", dest: . }
notify: restart php-fpm
設定の変更はないので、後で各ファイルの中身コピペする
設定そのままなので、後でファイルの中身をコピペする。
ホストゾーンを選択
レコードの作成スタート
レコードのクイック作成
確認
バケットの作成スタート
バケット作成(一般的な設定)
バッケット作成(ブロックパブリックサクセスの設定)
バッケット作成(バケットのバージョンニング)
バッケット作成(詳細設定)
確認
→証明書の発行が漏れていたので、ここで発行する。
ACWの作成スタート
証明書のリクエスト
ドメインの追加 ❌下記は間違い
⭕️下記が正解
検証方法の選択
タグの追加
確定とリクエスト
検証
→1日経っても検証中のエラー発生…
お名前.comの設定
AWSのNSレコードの登録
→1日経っても検証中のエラー発生… 今度はCNAMEの設定をしてなかったのが原因だと考えれる。
(あとはドメインネームの登録間違いも(上記に記載))
Route53にCNAMEの自動登録
(ACMの設定間違っているとこのボタンが出てこない)
CNAMEのありか
CNAMEをお名前.comに登録
リスナーの追加
リスナーを登録
httpsで繋がるか確認
繋がった!
→証明書をこちらで発行しないので443ポート経由でのブラウザ接続訂正する。
[kimura@dev-kimura-aws conf.d]$ pwd
/etc/nginx/conf.d
[kimura@dev-kimura-aws conf.d]$ sudo vim default.conf
[kimura@dev-kimura-aws conf.d]$ sudo systemctl restart nginx
[kimura@dev-kimura-aws conf.d]$ cat default.conf
server {
listen 80;
server_name dev.kimura.aws;
root /var/www/html/wordpress;
charset UTF-8;
access_log /var/log/nginx/sample.com.access.log main;
error_log /var/log/nginx/sample.com.error.log;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
ansibleの記述も訂正する。
kimuranaoki@kimuranaokinoMacBook-Pro conf.d % pwd
/Users/kimuranaoki/aws/test-aws/ansible_wordpress/roles/nginx/files/conf.d
kimuranaoki@kimuranaokinoMacBook-Pro conf.d % vim default.conf
kimuranaoki@kimuranaokinoMacBook-Pro conf.d % cat default.conf
server {
listen 80;
server_name dev.kimura.aws;
root /var/www/html/wordpress;
charset UTF-8;
access_log /var/log/nginx/sample.com.access.log main;
error_log /var/log/nginx/sample.com.error.log;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
wpの設定とawsの証明書の設定を行う
インスタンスを新しく作り直し、再度ログイン(作り方は省略)
[root@ip-10-0-1-183 ~]# yum install -y php-xml
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Complete!
[root@ip-10-0-1-183 ~]# yum install -y php-gd
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Complete!
[root@ip-10-0-1-183 ~]# systemctl restart nginx
[root@ip-10-0-1-183 ~]# systemctl restart php-fpm
### IAMの設定
- S3の権限追加
<img width="1440" alt="スクリーンショット 2021-07-18 14 04 58" src="https://user-images.githubusercontent.com/65452992/126060079-3626b721-c86f-4ed9-a453-4f6a08fef621.png">
### WP Offload Media Liteの設定
1. WP Offload Media Liteのインストール
<img width="1116" alt="スクリーンショット 2021-07-18 14 17 44(2)" src="https://user-images.githubusercontent.com/65452992/126060108-9dbc5e80-4b26-4268-abb8-d71579af29a9.png">
2. S3にアクセスできるように設定
写真の記述をwp-config.php内に記述する('access-key-id' 、'secret-access-key'はIAMから取得する)
<img width="1116" alt="スクリーンショット 2021-07-18 14 33 04(2)" src="https://user-images.githubusercontent.com/65452992/126060193-647ccd90-fcb2-4415-abca-cc64bb6e02f9.png">
/var/www/html/wordpress2/wp-config.php
define( 'AS3CF_SETTINGS', serialize( array(
'provider' => 'aws',
'access-key-id' => 'AKIAR5CZPRTKBDSWCIPL',
'secret-access-key' => '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',
) ) );
/**#@-*/
3. AWS上で作成したS3を選択
<img width="1116" alt="スクリーンショット 2021-07-18 14 43 23(2)" src="https://user-images.githubusercontent.com/65452992/126060255-390501a3-cff5-49ec-bf1b-6f625cfb45d1.png">
4. 画像をアップロードしS3に接続しているか確認する。
<img width="1087" alt="スクリーンショット 2021-07-18 14 51 13(2)" src="https://user-images.githubusercontent.com/65452992/126060336-0f291b67-abba-4f1f-b3e8-b0b054903f5f.png">
5. サムネイルの表示
<img width="1110" alt="スクリーンショット 2021-07-22 17 28 50" src="https://user-images.githubusercontent.com/65452992/126610556-5cf6c188-7712-4738-906f-cb2ec8a77a5c.png">
6. 再確認
<img width="1115" alt="スクリーンショット 2021-07-22 17 32 14" src="https://user-images.githubusercontent.com/65452992/126610957-b6a60353-0975-412c-b3fc-bf61d1692916.png">
### BackWPupの設定
1. インストール
<img width="1440" alt="スクリーンショット 2021-07-18 11 52 07" src="https://user-images.githubusercontent.com/65452992/126060048-172c9388-eda0-45f6-a349-c4a41e015905.png">
2. S3に保存できるように設定
<img width="1116" alt="スクリーンショット 2021-07-18 14 51 52(2)" src="https://user-images.githubusercontent.com/65452992/126060379-05975de9-6ac0-444e-b265-7bb95f6cb656.png">
3. 鍵の設定
<img width="1116" alt="スクリーンショット 2021-07-18 14 58 47(2)" src="https://user-images.githubusercontent.com/65452992/126060429-f6cb1ffe-c3a8-402c-a5e7-28db93513229.png">
<img width="1440" alt="スクリーンショット 2021-07-18 14 58 03" src="https://user-images.githubusercontent.com/65452992/126060412-93e6d289-7f99-4366-85db-88741c769755.png">
4. スケジュールの設定
<img width="1116" alt="スクリーンショット 2021-07-18 15 01 49(2)" src="https://user-images.githubusercontent.com/65452992/126060452-a1e1d0d1-ddfb-478c-8fcc-02a0b0622625.png">
5. バックアップ実行
<img width="1116" alt="スクリーンショット 2021-07-18 16 49 14(2)" src="https://user-images.githubusercontent.com/65452992/126060476-5216761f-9dff-4e54-9464-e3369bf65df7.png">
6. 確認
<img width="1440" alt="スクリーンショット 2021-07-18 16 49 14" src="https://user-images.githubusercontent.com/65452992/126060487-2fe0e08b-8bf6-452c-9e69-026e13203eb7.png">
Route53にALBのDNSを登録
お名前.comにALBのDNSを登録
DNSで繋がるか確認
new-naoki-alb-83665510.ap-northeast-1.elb.amazonaws.com dev-new-naoki
設定画面
ALB
セキュリティグループは格設定毎に作るのと、アウトバーンルールは基本「すべてのトラフィック」にする。
あとはこれこれを各設定箇所に割り当てるだけ!
httpsで接続完了!
→インストールしたがACM設定しているので、意味なかったかも…
以下の記述を追加
if($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$_SERVER['HTTPS'] = 'on';
$_ENV['HTTPS'] = 'on';
}
a