
社内共有用に作成したものです、WEBから配布することにします。
WordPressの脆弱性検査とAWS WAFでどれほど守られるかといった検証を行って頂こうと思います。
その為のものです。
環境
- AWS EC2
開発環境構築
ディレクトリの作成
$ mkdir -p $HOME/project/{wordpress,db_data,git,shell}
検証環境作成用スクリプト
$ vi $HOME/project/shell/1_init_Setup_local.sh
#!/bin/bash
set -e
# スクリプトディレクトリの取得
SCRIPT_DIR=`dirname $0`
cd $SCRIPT_DIR
# 開発ツールインストール
sudo yum groupinstall -y "Development Tools"
sudo yum -y install git zip mailx unzip htop rsync
## docker-composeインストール
echo "docker-composeインストール...Start" &&
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose &&
sudo chmod +x /usr/local/bin/docker-compose &&
echo "docker-composeインストール...End" &&
## Dockerインストール
echo "Dockerインストール...Start" &&
sudo yum install -y docker &&
sudo usermod -aG docker ${USER} &&
sudo gpasswd -a $USER docker &&
sudo systemctl restart docker &&
sudo systemctl enable docker &&
sudo systemctl status docker &&
echo "Dockerインストール...End" &&
## PHP7.2インストール
echo "PHP7.2インストール...Start" &&
sudo amazon-linux-extras install -y php7.2 &&
sudo amazon-linux-extras install -y epel &&
sudo yum install -y php-common php-gd php-mysqlnd php-mbstring php-pdo php-xml php-zip php-pecl-zip &&
sudo yum install -y git mailx tree &&
echo "PHP7.2インストール...End" &&
## MySQLクライアントインストール
echo "MySQLクライアントインストール...Start" &&
sudo yum install -y mysql &&
echo "MySQLクライアントインストール...End" &&
## Redisクライアント
echo "Redisクライアントインストール...Start" &&
sudo yum install -y redis &&
echo "Redisクライアントインストール...End" &&
# サーバの更新と再起動
echo "サーバの更新と再起動...Start" &&
sudo yum update -y &&
sudo reboot now
# chmod +x $HOME/project/shell/1_init_Setup_local.sh # sh $HOME/project/shell/1_init_Setup_local.sh
WordPress on Docker環境の作成
docker-compose.ymlの作成
# vi $HOME/project/docker-compose.yml
version: '3.3'
services:
wordpress:
container_name: "wordpress"
image: wordpress:latest
depends_on:
- db
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
ports:
- "80:80"
volumes:
- ./wordpress:/var/www/html
db:
image: mysql:5.7
container_name: "mysql57"
volumes:
- ./db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
pma:
container_name: "pma"
image: phpmyadmin/phpmyadmin:latest
environment:
PMA_HOST: db
ports:
- "8080:80"
restart: always
links:
- db
volumes:
db_data:
wordpress:
docker-composeによるDockerの起動
$ cd $HOME/project/ $ docker-compose up -d
WordPressにアクセス
http://IPアドレス/
phpMyAdminにアクセス
http://IPアドレス:8080
ログイン情報
- ユーザ:wordpress
- パスワード:wordpress
Dockerの全削除
docker stop $(docker ps -q) docker rm $(docker ps -q -a) docker rmi $(docker images -q)
