aws ec2 centos6.5+wordpress②

24
AWS EC2 CentOS6.5+WordPres s2017/2/28 佐佐 佐佐

Upload: naoyuki-sano

Post on 12-Apr-2017

335 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: AWS EC2 CentOS6.5+WordPress②

AWS EC2CentOS6.5+WordPress②

2017/2/28佐野 尚之

Page 2: AWS EC2 CentOS6.5+WordPress②

変更履歴 2017/2/28

root のパスワード変更のコマンドが間違っていたので修正 2016/2/28

不要なページの削除 2016/1/21

「 Linux 初期設定」ー「タイムゾーン設定」の見直し 2015/10

新規作成

2

Page 3: AWS EC2 CentOS6.5+WordPress②

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

3

Page 4: AWS EC2 CentOS6.5+WordPress②

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

4

Page 5: AWS EC2 CentOS6.5+WordPress②

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

5

Page 6: AWS EC2 CentOS6.5+WordPress②

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

6

Page 7: AWS EC2 CentOS6.5+WordPress②

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

7

Page 8: AWS EC2 CentOS6.5+WordPress②

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

8

Page 9: AWS EC2 CentOS6.5+WordPress②

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

9

Page 10: AWS EC2 CentOS6.5+WordPress②

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/ 10

Page 11: AWS EC2 CentOS6.5+WordPress②

Linux 初期設定 ec2-userのパスワード設定

sudo passwd ec2-user

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

sudoers の変更 sudo visudo

パッケージのアップデート sudo yum –y update

11

Page 12: AWS EC2 CentOS6.5+WordPress②

Linux 初期設定 タイムゾーン設定 ①/etc/localtimeを変更

sudo mv /etc/localtime /etc/localtime.org sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

②/etc/sysconfig/clockを変更 sudo vi/etc/sysconfig/clock

ZONE="Asia/Tokyo“ UTC=false ARC=false

③crondを再起動 sudo service crond restart 12

個人的 EC2 の注意点的なものhttp://www.slideshare.net/CloudeoTeam/ec2-52520892サーバ起動時に時刻がずれるhttp://qa.atmarkit.co.jp/q/883Linux の時刻を UTC 使用しないようにするhttp://system.blue-robin.jp/2011/10/14/linuxの時刻をutc使用しないようにするtimezone の設定http://www.ksknet.net/linux/timezone.htmlTimezone を設定したら cron の実行時間がずれる http://memo-off.blogspot.jp/2011/11/timezonecron.html[AWS]EC2 のタイムゾーン設定が yum update を行うと初期化されてしまう件についてhttp://d.hatena.ne.jp/absj31/20140408/1396914062

Page 13: AWS EC2 CentOS6.5+WordPress②

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

sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=1280 sudo mkswap /mnt/swapfile sudo swapon /mnt/swapfile cd /etc sudo cp -a fstab fstab.org sudo vi fstab ・末尾に追加

/mnt/swapfile none swap sw 0 0

<参考 URL >Linux スワップファイルの追加http://tipspc.blogspot.jp/2008/09/linux.html

13

Page 14: AWS EC2 CentOS6.5+WordPress②

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

sudo yum install httpd php php-mysql php-mbstring php-gd freetype mysql

Apacheの自動起動設定 sudo chkconfig httpd on sudo chkconfig –list httpd

Apache起動 sudo service httpd start sudo service httpd status

14

Page 15: AWS EC2 CentOS6.5+WordPress②

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

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

15

Page 16: AWS EC2 CentOS6.5+WordPress②

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

16

このページの設定は今回は設定しなくてもいいです

Page 17: AWS EC2 CentOS6.5+WordPress②

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

17

このページの設定は今回は設定しなくてもいいです

Page 18: AWS EC2 CentOS6.5+WordPress②

Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 Apache については、他にもいろいろと設定する必要がある設定がありますが、今回の勉強会では説明しません。興味があれば、以下のサイトや本を見たりして、どんな設定が追加で設定する必要があるか調べてみてください。Webサーバー構築 (Apache)http://centossrv.com/apache.shtmlLAMPサーバ構築メモ( CentOS6.5+ Apache+MySQL+ PHP)https://blog.apar.jp/linux/147/

18

Page 19: AWS EC2 CentOS6.5+WordPress②

Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 php.iniの変更

cd /etc sudo cp -a php.ini php.ini.org sudo vi php.ini

変更・・・先頭の「 ; 」を削除してタイムゾーンのデフォルト値を設定 date.timezone = Asia/Tokyo

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

19

Page 20: AWS EC2 CentOS6.5+WordPress②

Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 iptables停止

sudo service iptables stop sudo service iptables status

iptablesの自動起動をOFF sudo chkconfig iptables off sudo chkconfig --list iptables

ip6tables停止 sudo service ip6tables stop sudo service ip6tables status

ip6tablesの自動起動をOFF sudo chkconfig ip6tables off sudo chkconfig --list ip6tables

20

Page 21: AWS EC2 CentOS6.5+WordPress②

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

sudo setsebool -P httpd_can_network_connect_db 1 sudo setsebool -P httpd_can_network_connect 1 sudo getsebool httpd_can_network_connect_db sudo getsebool httpd_can_network_connect

semanageのインストール sudo yum install policycoreutils-python <参考 URL > SELinux semanage の導入 http://acompass.net/centos6/CentOS6 サーバー構築%

2FSELinux%2Fsemanage

21

WordPress のサーバーでは問い合わせフォームからメール送信できるようになっていると思いますので、 postfix の設定と以下のコマンドも実行して、メール送信も許可しておく必要があります。設定の意味については google で検索してください。sudo setsebool -P httpd_can_sendmail 1

Page 22: AWS EC2 CentOS6.5+WordPress②

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

cd /etc/httpd/conf.d sudo rm welcome.conf

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 22

Page 23: AWS EC2 CentOS6.5+WordPress②

Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 WordPressディレクトリ所有者を Apache実行ユーザへ変更

sudo chown -R apache:apache /var/www/html/wordpress/

23

WordPress を運用する場合は以下の設定が必要ですが、今回の勉強会では設定はしません。興味があれば、以下のサイトや google で自分で調べてみてください。・ wp-admin/ と wp-login.php にアクセス制限・ファイルパーミッションの見直し・ wp-config.php の場所を変更<参考 URL >あなたの WordPress は安全 ? 「 wp-admin/ 」へのアクセス制限などセキュリティ関連の見直しhttp://syumart.jp/wordpress-security/WordPress の wp-config.php を 1 つ上階層の非公開ディレクトリへ退避+現実的なセキュリティ対策http://easyramble.com/measures-for-wordpress-security.html

Page 24: AWS EC2 CentOS6.5+WordPress②

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

24