Conoha 作業。WordPress サーバを Ansible で構築した時の、主に playbook 実行前の作業メモ

スポンサードリンク


はじめに

そうだ、ブログサーバを引っ越ししましょう。

引っ越し前のブログサーバは、1 台の VPS に WordPress や MySQL などすべてを入れて動かしています。

今回、引越し先のサーバをセットアップし、WordPress が使用できる状態にするまでを記録します。

サーバインスタンスを立ち上げて、接続設定を行い、最後に Ansible を実行するところまでが範囲となります。

“Conoha 作業。WordPress サーバを Ansible で構築した時の、主に playbook 実行前の作業メモ” の続きを読む

【Ansible】playbook 実行時に sudo パスワードを入力して実行する方法

まとめ

  • ターゲットノードでのユーザに sudo コマンドが実行できるようにしておくこと。
    • CentOS 7.5 では、wheel グループに属させれば sudo コマンドが実行できるようになる。
  • ansible 実行時に指定する playbook (site.yml) の remote_user にターゲットノードのどのユーザで実行するかを指定すること。
    • become は true を指定すること。
  • ansible 実行時に、–ask-become-pass オプションを付けること。

他にもあるかもしれませんけれども、私は以上のポイントで動くようになりました。

以下、ターゲットノードで playbook の内容を実行するユーザ名を、ansible として説明します。

“【Ansible】playbook 実行時に sudo パスワードを入力して実行する方法” の続きを読む

Ansible コントロールノードからターゲットノードへの疎通確認メモ

はじめに

検索をしてみても、Ansible 入門はさまざまありますけれども、理屈は抜きにして Ansible でコントロールする側 (コントロールノード) からコントロールされて構築される側 (ターゲットノード) の、Hello World 的なシンプルな手順がなかなかわかりませんでしたので、今回自分のためにメモいたしました。

“Ansible コントロールノードからターゲットノードへの疎通確認メモ” の続きを読む

CentOS7 で Ansible をインストールするシェルスクリプト

手順

  1. SSH 接続で root ユーザになる。
  2. yum-utils をインストールする。
  3. yum で EPEL リポジトリを追加する。
  4. yum-utils で EPEL リポジトリを無効にする。
  5. yum で EPEL リポジトリを指定して Ansible をインストールする。

“CentOS7 で Ansible をインストールするシェルスクリプト” の続きを読む

【Ansible】SDKMAN! で Oracle Java インストール時のキーボード入力待ち状態に expect モジュールで対処する

まとめ

  • Ansible の expect モジュールを使用する。
    • pip – Manages Python library dependencies. — Ansible Documentation
    • virtualenv、pip に依存するとあるが、pip のみのインストールで問題なかった。
    • pip は epel リポジトリの python-pip でインストールした。
    • pip がインストールされれば、ansilbe の pip モジュールが使用できるようになり、楽に pexpect をインストールできるようになった。
  • OpenJDK のときは対話処理するための質問文が表示されない。このときは expect は無視されるので Ansible の実行に影響なし。
  • expect モジュールの timeout デフォルト値は 30 秒のため、Java のインストールに間に合わずエラーとなった。したがって、1200 (60 秒 × 20 分) を設定した。
    • timeout 値を超える前にインストールが完了すれば次の処理へ進んだ。したがって、timeout には大きな値を入れておけば良い。

“【Ansible】SDKMAN! で Oracle Java インストール時のキーボード入力待ち状態に expect モジュールで対処する” の続きを読む

【Ansible】変数の値を command モジュールで実行できなかった><

はじめに

にて、Ansible の変数を command モジュールで実行しようとしたところ、1 行が 1 つの引数と判断されてしまうために、エラーとなってしまいました。

そこで、次の方法が思い当たりました。

(今回はダメだったけれども) Ansible タスクで変数の値をそのまま command モジュールで実行する方法

“【Ansible】変数の値を command モジュールで実行できなかった><” の続きを読む

【Ansible】SDKMAN! を curl を使わないでインストールするタスク

SDKMAN! のインストールは簡単!

公式ページ Installation – SDKMAN! にあるようにワンライナーで完了です。

$ curl -s "https://get.sdkman.io" | bash

これを単純に Ansible タスクで書くと次のようになります。

- name: Install SDKMAN!
  shell: curl -s "https://get.sdkman.io" | bash

ところが実行してみますと、次のような警告が出ました。

TASK [sdkman : Install SDKMAN!] ************************************************
changed: [default]
 [WARNING]: Consider using get_url or uri module rather than running curl

この警告を出ないようにしてみましたのでノートします。

“【Ansible】SDKMAN! を curl を使わないでインストールするタスク” の続きを読む

【Ansible】Ubuntu で OS とパッケージを最新にするための書き方は多分こう

はじめに

CentOS 7 ならこう。次のようなタスクになります。

---
- name: upgrade all packages
  yum:
    name: '*'
    state: latest

これに該当するタスクを Ubuntu 用に書きたいのです。

“【Ansible】Ubuntu で OS とパッケージを最新にするための書き方は多分こう” の続きを読む

【Ansible】最新 LEMP 環境構築プレイブックを作成するときに得られたものまとめ

はじめに

次の CentOS 7 の最新 PHP および MariaDB の LEMP 環境を構築する Ansible プレイブックを作成する際に躓いたことや得たことのノートです。

“【Ansible】最新 LEMP 環境構築プレイブックを作成するときに得られたものまとめ” の続きを読む

【Ansible】リポジトリ指定してインストールする MariaDB と phpMyAdmin のプレイブック作成メモ

を作成するにあたって覚えておきたいことのメモを残します♪

mysql_secure_installation と同等の処理

“【Ansible】リポジトリ指定してインストールする MariaDB と phpMyAdmin のプレイブック作成メモ” の続きを読む