22
AWS EC2 CentOS7+WordPress 2017/3/1 佐佐 佐佐

Aws cent os7_wordpress_2

Embed Size (px)

Citation preview

AWS EC2CentOS7+WordPress②

2017/3/1佐野 尚之

アジェンダ EC2 のインスタンス起動 SSH ログイン Linux 初期設定 Apache 、 PHP 、 MariaDB 、 WordPress インストール・設定 EC2 のインスタンス停止

2

EC2 のインスタンス起動 AWS(https://aws.amazon.com/jp/) のマネージメントコンソールにログインし、 EC2 の画面を表示します。 インスタンスの状態を開始に変更します。

3

EC2 のインスタンス起動 「開始する」ボタンをクリックします。

4

SSH ログイン デスクトップにある「 Tera Term 」をダブルクリックします。

5

SSH ログイン ホストに IP アドレスの入力し、「 OK 」ボタンをクリックします。

6

SSH ログイン ユーザ名に「 sano 」を入力し、秘密鍵を選択後に「 OK 」ボタンをクリックします。

7

SSH ログイン 以下の画面が表示されたら、ログイン成功です。

8

SSH ログイン この資料では解説しませんが EC2 の仮想サーバーを運用する場合、以下のサイトを見て何をやるべきかを理解した上でセキュリティ対策を行う必要があります。Security Group では SSH を 0.0.0.0/0 に開放するべからずhttps://moomindani.wordpress.com/2014/06/10/security-group-ssh/[AWS][CLI] EC2 に SSH するときだけ、 security group に自分のアドレスを追加するhttp://dev.classmethod.jp/etc/ssh_with_adding_ingress_rule/AWS で SSH のポート制限の対応をしましたhttp://kosukety.org/2014/05/12/restrict-access-port-aws/Amazon EC2 で DoS/DDoS 攻撃をブロックする – iptables –http://dev.classmethod.jp/cloud/amazon-ec2-brute-force-attack-iptables/SSH ブルートフォースアタック( ID, PASS 総当たり攻撃、辞書攻撃)に負けない設定にするhttp://blog.ybbo.net/2013/12/18/sshブルートフォースアタック(id-pass-総当たり攻撃、/ssh のブルートフォースアタックが凄まじいので denyhosts を入れてみたhttp://wordpress.mochy.com/2008/07/12/sshのブルートフォースアタックが凄まじいのでdenyhosts/sshguard でブルートフォースアタック対策http://blog.father.gedow.net/2013/08/12/sshguard/ 9

Linux 初期設定 ユーザーのパスワード設定

sudo passwd sano MaxLo9out#

root のパスワード設定 sudo passwd root MaxLo9out#

root 権限を特定のユーザーに全て委譲する sudo visudo 以下の内容を最終行に追加 sano ALL=(ALL) ALL

インストールされている全パッケージのアップデート sudo yum –y update 10

[ 参考情報 ] ホスト名の設定# ホスト名を「 jump 」にする場合hostnamectl set-hostname jump –static# 設定確認hostnamectl status

EC2 の場合は、 cloud-init の設定を変更しないと、再起動したときに変更されてしまう。/etc/cloud/cloud.cfg に、下記の行を追加する。preserve_hostname: true

Linux 初期設定 タイムゾーン変更

sudo timedatectl set-timezone Asia/Tokyo sudo timedatectl status

システムロケール設定 sudo localectl set-locale LANG=ja_JP.utf8 localectl status

11

Linux 初期設定 swap 領域追加・・・設定後に free コマンドを実行して結果を確認してください

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile free -m sudo cp -a /etc/fstab /etc/fstab.org sudo vi /etc/fstab ・末尾に追加

/swapfile swap swap defaults 0 0<参考 URL >CentOS7 スワップファイル( swap file )の作成方法http://qiita.com/wmx/items/631222f2e5a9e7a59fb4

12

Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 Apache 、 PHP 、 MariaDB のインストール

sudo yum install –y httpd php-mysql php php-gd php-mbstring mariadb mariadb-server

PHP のバージョン確認 php –-version

MariaDB のバージョン確認 mysql –-version

13

Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 Apache の自動起動設定

sudo systemctl enable httpd.service

sudo systemctl list-unit-files | grep httpd

Apache 起動 sudo systemctl start httpd.service sudo systemctl status httpd.service

14

停止systemctl stop httpd.service

自動起動解除systemctl disable httpd.service

Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 Apache の設定ファイル変更

cd /etc/httpd/conf sudo cp -a httpd.conf httpd.conf.org sudo vi httpd.conf

ServerName だけ設定 例 ) 先頭の「 # 」だけ削除

変更後の設定の反映 sudo systemctl reload httpd.service

 15

Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 ブラウザを起動して「 http://IP アドレスを入力」でアクセスしてみてください。 ※Apache のテストページが表示されれば成功です。

16

Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 Apache については、他にもいろいろと設定する必要がある設定がありますが、この資料では説明しません。興味があれば、以下のサイトや本を見たりして、 どんな設定が追加で設定する必要があるか調べてみてください。Web サーバー構築 (Apache)http://centossrv.com/apache.shtml CentOS 7 で LAMP(Apache+MariaDB(MySQL)+PHP) インストールからWordPress を動かすまで (Apache 編 ) http://server-setting.info/blog/lamp-wordpress-centos7.html

17

Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 WordPress のインストール

cd /tmp sudo yum install wget wget http://ja.wordpress.org/latest-ja.tar.gz sudo tar -xvzf latest-ja.tar.gz -C /var/www/html

WordPress ディレクトリ所有者を Apache 実行ユーザへ変更 sudo chown -R apache:apache /var/www/html/wordpress/

18

Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 データベースへの接続を許可

sudo setsebool -P httpd_can_network_connect_db 1

httpd の CGI 経由でのネットワークアクセスを許可 sudo setsebool -P httpd_can_network_connect 1

ネットワークへの接続を許可 sudo setsebool -P httpd_dbus_avahi 1 sudo setsebool -P httpd_tty_comm 1 sudo setsebool -P httpd_unified 1

設定確認 sudo getsebool -a | grep http 19

Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 ウェブコンテンツとして wordpress フォルダへのアクセスを許可

sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html/wordpress(/.*)?"

変更設定を反映 sudo restorecon -R -v /var/www/html/wordpress

20

Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 ウェブコンテンツとして wp-content フォルダへの書込を許可

sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/wordpress/wp-content(/.*)?"

変更設定を更新 sudo restorecon -R -v /var/www/html/wordpress/wp-content

plugin や theme の追加に必要な ftp へのフルアクセスを許可 sudo setsebool -P allow_ftpd_full_access 1

apache 再起動 sudo systemctl restart httpd

21

EC2 のインスタンスの停止 EC2 の画面で以下の操作を行い、作成した EC2 のインスタンスを停止します。

22