Upload
naoyuki-sano
View
335
Download
0
Embed Size (px)
Citation preview
AWS EC2CentOS6.5+WordPress②
2017/2/28佐野 尚之
変更履歴 2017/2/28
root のパスワード変更のコマンドが間違っていたので修正 2016/2/28
不要なページの削除 2016/1/21
「 Linux 初期設定」ー「タイムゾーン設定」の見直し 2015/10
新規作成
2
アジェンダ EC2 のインスタンス起動 SSH ログイン Linux 初期設定 Apache 、 PHP 、 MySQL 、 WordPress インストール・設定 EC2 のインスタンス停止
3
EC2 のインスタンス起動 AWS(https://aws.amazon.com/jp/) のマネージメントコンソールにログインし、 EC2 の画面を表示します。 インスタンスの状態を開始に変更します。
4
EC2 のインスタンス起動 「開始する」ボタンをクリックします。
5
SSH ログイン デスクトップにある「 Tera Term 」をダブルクリックします。
6
SSH ログイン ホストに IP アドレスの入力し、「 OK 」ボタンをクリックします。
7
SSH ログイン ユーザ名に「 ec2-user 」を入力し、秘密鍵を選択後に「 OK 」ボタンをクリックします。
8
SSH ログイン 以下の画面が表示されたら、ログイン成功です。
9
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
Linux 初期設定 ec2-userのパスワード設定
sudo passwd ec2-user
rootのパスワード設定 sudo passwd root
sudoers の変更 sudo visudo
パッケージのアップデート sudo yum –y update
11
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
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
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
Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 Apacheの設定ファイル変更
cd /etc/httpd/conf sudo cp -a httpd.conf httpd.conf.org sudo vi httpd.conf
15
Apache 、 PHP 、 MySQL 、 WordPressインストール・設定
16
このページの設定は今回は設定しなくてもいいです
Apache 、 PHP 、 MySQL 、 WordPressインストール・設定
17
このページの設定は今回は設定しなくてもいいです
Apache 、 PHP 、 MySQL 、 WordPressインストール・設定 Apache については、他にもいろいろと設定する必要がある設定がありますが、今回の勉強会では説明しません。興味があれば、以下のサイトや本を見たりして、どんな設定が追加で設定する必要があるか調べてみてください。Webサーバー構築 (Apache)http://centossrv.com/apache.shtmlLAMPサーバ構築メモ( CentOS6.5+ Apache+MySQL+ PHP)https://blog.apar.jp/linux/147/
18
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
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
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
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
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
EC2 のインスタンスの停止 EC2 の画面で以下の操作を行い、作成した EC2 のインスタンスを停止します。
24