在Vagrant上的Ubuntu 20.04上安装Ansible并启动Apache

首先

我以前一直认为如果能够熟练使用Ansible会很方便,最近有些时间所以在vagrant上搭建了一个Ansible环境。

首先,进行Ansible的基础安装。

创建一个合适的文件夹,在其中进行安装设置。
这次选择了ubuntu20.04。

vagrant init grokology/ubuntu20.04server64-base

将已经创建好的Vagrant文件的”192.168.33.10″行注释掉,以实现通过SSH终端连接。

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]

最初计划使用树莓派3。

sudo apt install python3-pip

我尝试了一下,但是无法识别Ansible命令,所以我使用apt来进行操作。
实际上,由于已经安装了相同版本,所以我将暂且认为这样就可以了。

将接下来的私钥文件用于在Windows上运行的vagrant,并将其复制到vagrant内部以更改权限。

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

在这里最初的时候

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

当我设定了private_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文件。

主持人

[vagrant]
192.168.33.10

剧本.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,不再有两种环境,这样操作起来也更顺心愉快。

我们到这里就结束吧。

广告
将在 10 秒后关闭
bannerAds