0
0

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 3 years have passed since last update.

vagrant上のUbuntu20.04にansibleを導入しApacheを起動させる

Last updated at Posted at 2020-04-23

はじめに

Ansibleを使いこなせれば便利かなと以前より考えてましたが、最近時間ができたのでvagrant上にAnsible環境を構築してみました。

まずはAnsibleを入れるまでの基盤整備

適当なフォルダを作成してその中でセットアップ
今回は、ubuntu20.04を選択

vagrant init grokology/ubuntu20.04server64-base

できたVagrantファイルをSSHターミナル接続ができるように 192.168.33.10の行をコメントアウト

vagrant up

これで仮想環境を起動します
まずは、環境を最新状態にするために

sudo apt update
sudo apt upgrade

を実行します。
ちなみに結構時間がかかりました。とまっているかと思うぐらい。

いよいよAnsibleのインストール

以下を打ってAnsibleをインストールします。

sudo apt install ansible

インストール終了後バージョン等を確認

$ ansible --version
ansible 2.9.7  
config file = /etc/ansible/ansible.cfg  
configured module search path = ['/home/vagrant/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']  
ansible python module location = /home/vagrant/.local/lib/python3.8/site-packages/ansible  
executable location = /usr/bin/ansible  
python version = 3.8.2 (default, Mar 13 2020, 10:14:16) [GCC 9.3.0]

当初はpi3を使う予定で

sudo apt install python3-pip

してみたのですがAnsibleコマンドを認識しなかったのでaptを使いました。
結果的には、同じバージョンが入っているので現状ではこれで良しとしておきます。

つぎWindows上のvagrant用プライベートキーをvagant内にコピーしてパーミッションを変更

cp /vagrant/.vagrant/machines/default/virtualbox/private_key /home/vagrant/
cd /home/vagrant/
chmod 600 private_key

ここでは当初

/vagrant/.vagrant/machines/default/virtualbox/private_key

みたいな感じでprvate_keyの場所を設定してAnsibleコマンドを実行したら

UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@         WARNING: UNPROTECTED PRIVATE KEY FILE! 
@\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\nPermissions 0777 for '/vagrant/.vagrant/machines/default/virtualbox/private_key' are too open.\r\nIt is required that your private key files are NOT accessible by others.\r\nThis private key will be ignored.\r\nLoad key \"/vagrant/.vagrant/machines/default/virtualbox/private_key\": bad permissions\r\nvagrant@192.168.33.10: Permission denied (publickey,password).", "unreachable": true}

と怒られたのでUbuntu上でパーミッションを変更できる場所へコピーして変更しています。

いよいよAnsible本体の設定をしてゆきます。

まずはAnsibleのディレクトリへ移動

cd /etc/ansible/

ここでhostsとplaybook.ymlを作成して保存します。

hosts

[vagrant]
192.168.33.10

playbook.yml

---
- hosts: vagrant
  remote_user: vagrant
  tasks:
    - name: install apache2
      apt:
        name: apache2
      become: true
    - name: apache2 is running
      systemd:
        state: started
        name: apache2

このあたりは
https://kazuhira-r.hatenablog.com/entry/2019/11/27/004108
の内容を使わせていただきました。

ここでAnsibleを実行するコマンドを打ちますと、処理が進んでゆきます

$ ansible-playbook -i hosts playbook.yml --private-key /home/vagrant/private_key

PLAY [vagrant] ***********************************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************************
ok: [192.168.33.10]

TASK [install apache2] ***********************************************************************************************************************
changed: [192.168.33.10]

TASK [apache2 is running] ************************************************************************************************************************
ok: [192.168.33.10]

PLAY RECAP ************************************************************************************************************************
192.168.33.10              : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

無事終了したらブラウザで表示を確認して終了です。

http://192.168.33.10/

Ubuntu20になってPython2系はなくなったみたいでPythonコマンドは使えないようです。
またpipもpip3だけになって2つの環境があるという気持ち悪い感じがなくなって作業をしていても気持ちいい感じです。

ではここまで。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?