カテゴリー
Linux

SSL/TLS を含めた Ansible プレイブックを開発するための環境を ConoHa に作った時のメモ

やりたいこと

  • SSL/TLS を含めた Ansible プレイブックとしたいので、そのための環境を作りたい
  • ConoHa で SELinux が disabled だが、enforcing で試したい

ConoHa CentOS 7.5 で SELinux を enforcing にする

# SELinux を Disabled から Enforcing へ変更
# 設定変更
cp -a /etc/selinux/config /etc/selinux/config.org
sed -i -e 's/SELINUX=disabled/SELINUX=enforcing/' /etc/selinux/config
diff -up /etc/selinux/config.org /etc/selinux/config
# OS再起動時の再ラベル付
fixfiles onboot
 
# 再起動し、反映
reboot

Ansible プレイブックを実行する準備

  • VPS で作業

プレイブック実行用に、ユーザを追加

useradd ansible
passwd ansible
gpasswd -a ansible wheel

公開鍵認証を強制

  • VPS で作業
  • root の SSH 接続を禁止
  • パスワードによる SSH 接続の禁止 <- これはまだダメ。公開鍵追加ができなくなる
# 編集と差分確認
cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.org
sed -i -e 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
# 次のコマンドは公開鍵追加後に行うこと。
#sed -i -e 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
diff -up /etc/ssh/sshd_config.org /etc/ssh/sshd_config
# 文法チェック
sshd -t
# ssh 再起動
systemctl restart sshd

ターゲットノードへの公開鍵追加し、Ansible プレイブックの疎通確認

cd controller/
vagrant up
vagrant ssh
cd playbook
ssh-keygen -t rsa
ssh-copy-id -o StrictHostKeyChecking=no -i $HOME/.ssh/id_rsa.pub ansible@133.130.111.232
# playbook/hosts の ip アドレスを修正
ansible-playbook -i hosts test.yml --ask-become-pass
# SUDO password: ansible

Ansible プレイブックの実行

  • クライアントで作業
ansible-playbook -i hosts site.yml --ask-become-pass --tags "common,mariadb,nginx,php,php-fpm,wordpress"

URL 設定

  • DNSレコード設定を行う。VPS の IP アドレスを次に紐付ける
    • ホスト名: test.oki2a24.com
    • TYPE: A
    • TTL: 300

WP-CLI による修正

  • VPS で作業
  • Ansible プレイブックでは、ローカル環境で適当にバックアップした WordPress からリストアした。これを test.oki2a24.com 用へと修正していく。
  • wp search-replace | WordPress Developer Resources で、http://192.168.56.11 を http://test.oki2a24.com へと置換する。
    • wp search-replace 'http://192.168.56.11' 'http://test.oki2a24.com'

SELinux の確認

ll -Z /srv/wordpress で SELinux の情報が出力されました!きっと大丈夫でしょう♪

アクセスの確認

  • http://test.oki2a24.com へアクセスし、WordPress ページが表示されればOK!
  • 管理画面へのログインも確認しておく
  • BackWPup のバックアップを取得
    1. BackWPup をインストール
    2. BackWPup のジョブを実行
    3. BackWPup > バックアップ、からバックアップをダウンロード

VPS のバックアップを作成

  • ConoHa のコントロールパネルで作業
    1. シャットダウン
    2. イメージ保存

おわりに

SSL/TLS の Ansible プレイブックを書くためには、ローカル上の VM ではダメで、test.oki2a24.com などの URL を設定したマシンで試さねばなりません。

そのために、ConoHa を引き続き使って構築しました。

これで、やっと作業環境を作ることができました。Ansible プレイブックで楽ができていますけれども、それでもけっこう大変です><。

以上です。

コメントを残す