LoginSignup
0
3

More than 5 years have passed since last update.

AnsibleでWordpress操作 ①wp-cliインストール編

Last updated at Posted at 2017-07-31

AnsibleでWordpress操作シリーズ

  1. wp-cliインストール編
  2. 初期構築編

関連記事

wp-cli コマンド一覧(随時追記)

やりたかったこと

  • Wordpressの環境構築構築
  • Wordpressの初期設定
  • 出来る限りのWordpress設定をコマンドで行いたい
  • GUIを使わずに黒い画面でコマンドを「ッターーン!」してかっこつけたい

やったこと

前提

  • CIサーバー(ansible実行サーバー)構築済み
  • CMSサーバー(wp-cli実行サーバー)構築済み
  • Ansibleインストール済み
  • MySQLインストール済み
  • Apacheインストール済み
  • PHPインストール済み
  • 各サーバーへのSSH接続設定済み

${~}は各環境に合わせて値を設定してください。

作業フロー

  1. wp-cliのインストール
command
ansible-playbook -i inventory/production install-wp-cli.yml

ディレクトリ構成


├── ansible.cfg
├── install-wp-cli.yml
├── inventory
│   └── production
│       └── inventory
├── roles
│   └── install-wp-cli
│       └── tasks
│           └── main.yml
└── vars
    └── all.yml

Ansible構成ファイル

inventory

inventory/production/inventory
[ciservers]
${CIサーバーホスト}

[cmsservers]
${CMSサーバーホスト}

[all:vars]
ENV=production

vars

vars/all.yml
GET_URL_TEMP_DIRECTORY: /tmp

WORDPRESS:
  CLI:
    PHAR_URL: https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
    PHAR_NAME: wp_cli
    COMMAND_NAME: wp
    SSH_DIRECTORY_NAME: .wp-cli

playbook

install-wp-cli.yml
- hosts: cmsservers
  roles:
    - install-wp-cli
  vars_files:
    - vars/all.yml

tasks

role/install-wp-cli/tasks/main.yml
- name: Get wp-cli
  get_url:
    url: "{{ WORDPRESS.CLI.PHAR_URL }}"
    dest: "{{ GET_URL_TEMP_DIRECTORY }}/{{ WORDPRESS.CLI.PHAR_NAME }}"
    mode: 0755

- name: Move wp-cli
  shell: "mv {{ GET_URL_TEMP_DIRECTORY }}/{{ WORDPRESS.CLI.PHAR_NAME }} /usr/local/bin/{{ WORDPRESS.CLI.COMMAND_NAME }}"

- name: Create Symlink
  file: 
    src: /usr/local/bin/{{ WORDPRESS.CLI.COMMAND_NAME }}
    dest: /usr/bin/{{ WORDPRESS.CLI.COMMAND_NAME }}
    owner: root 
    group: root
    state: link

これでCMSサーバー上で

command
wp help

と打つことでhelpが表示されます。

終わりに

これでwp-cliを使える環境が整いました。

次は、実際にwordpressの初期構築部分をwp-cliで行っていこうと思います。

じゃあの。

0
3
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
0
3