AnsibleでWordpress操作シリーズ
- wp-cliインストール編
- 初期構築編
関連記事
やりたかったこと
- Wordpressの環境構築構築
- Wordpressの初期設定
- 出来る限りのWordpress設定をコマンドで行いたい
GUIを使わずに黒い画面でコマンドを「ッターーン!」してかっこつけたい
やったこと
前提
- CIサーバー(
ansible
実行サーバー)構築済み - CMSサーバー(
wp-cli
実行サーバー)構築済み -
Ansible
インストール済み -
MySQL
インストール済み -
Apache
インストール済み -
PHP
インストール済み - 各サーバーへのSSH接続設定済み
※ ${~}
は各環境に合わせて値を設定してください。
作業フロー
- 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で行っていこうと思います。
じゃあの。