Upload
naoyuki-sano
View
26
Download
1
Embed Size (px)
Citation preview
アジェンダ EC2 のインスタンス起動 SSH ログイン Linux 初期設定 Apache 、 PHP 、 MariaDB 、 WordPress インストール・設定 EC2 のインスタンス停止
2
EC2 のインスタンス起動 AWS(https://aws.amazon.com/jp/) のマネージメントコンソールにログインし、 EC2 の画面を表示します。 インスタンスの状態を開始に変更します。
3
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