8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GCPの無料枠でWordPressを構築

Last updated at Posted at 2019-05-15

GCPと言ってもDebianのインスタンス立ち上げて
Docker Compose入れてWordPress立ち上げるだけなんだけどね:man_tone1:
私の場合は、WordPressをHeadlessCMSとしてのみ使おうとしていますので最小構成でもなんとかなるかなって思ってます。

GCPの無料枠のインスタンス

gcp_icon.png

2年後もずっと無料枠のインスタンスは以下です。

  • f1-micro インスタンス(1 か月あたり、北バージニア [us-east4] を除く米国リージョンのみ)
  • 30 GB-月の HDD
  • 5 GB-月のスナップショット(一部のリージョン)
  • 1 GB の北米から全リージョン宛ての下りネットワーク(1 か月あたり、中国とオーストラリアを除く)

で構築します。
インスタンスのOSはデフォルトだったDebianにしました。
(UbuntuやRasbianよく触ってたしね:grin:)
あ、80番ポートは開けておいてね。

  • HTTPトラフィックを許可する
  • HTTPSトラフィックを許可する

GCPのssh接続

GCPにログインしてハンバーガーメニューを押します。
「Compute Engine」 -> 「メタデータ」 -> 「ssh認証鍵」で自分の鍵を登録します。
鍵の一番最後は、接続するユーザ名になっているので接続したいユーザ名で登録してください。
(ブラウザのsshで接続した時と同じ名前がいいと思う。)

Dockerのインストール

docker.png

インストールはめちゃ簡単でした。

curl -fsSL https://get.docker.com/ | sh
docker --version

sudo無しで実行できるようにする

このままだとsudoないと怒られます。
なので自分にdockerの権限を付与します。

sudo gpasswd -a $USER docker
newgrp docker

これでdockerはsudo無しで行けるようになりました。

docker ps

Docker Composeのインストール

docker-compose.png

これまたDocker Composeもインストールめちゃ簡単でした。
公式を参考に/usr/local/binに入れます。

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

終了!

Docker ComposeでWordPress構築します。

wordpress.png

作成するのは、

  • docker-compose.yml
  • .env
docker-compose.yml
version: "3"
services:
  wordpress:
    image: wordpress:5.2
    volumes:
      - ./wp-content:/var/www/html/wp-content
    container_name: wordpress
    ports:
      - "80:80"
    links:
      - mysql
    env_file: .env
  mysql:
    image: mariadb
    volumes:
      - ./db-data:/var/lib/mysql
    container_name: mysql
    env_file: .env
.env
# WordPress
WORDPRESS_DB_NAME=wordpress
WORDPRESS_DB_USER=wp_user
WORDPRESS_DB_PASSWORD=secretpw0001
WORDPRESS_DB_HOST=mysql
# VIRTUAL_HOST=localhost

# MySQL
MYSQL_RANDOM_ROOT_PASSWORD=secretpw0002
MYSQL_DATABASE=wordpress
MYSQL_USER=wp_user
MYSQL_PASSWORD=secretpw0001

そして、WordPressが起動できました!!!
めでたしめでたし!

参考

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?