基于ansible自动化部署ftp服务

Ansible部署FTP服务

基础环境配置就不过多赘述了

  • 配置主机名、主机解析、免密访问、ansible下载、配置ansible主机、防火墙、selinux、配置centos2009镜像为仓库源、配置ftp远程仓库:可参考博文

节点信息如下:

主机名 IP
ansible 192.168.200.75
node 192.168.200.76

开始编写ansible文件

powershell 复制代码
[root@ansible ~]# mkdir ansible_ftp
[root@ansible ~]# cd ansible_ftp/
[root@ansible ansible_ftp]# cat install_ftp.yaml
---
- hosts: node1
  remote_user: root
  tasks:

    - name: Selinux Config Setenforce
      shell: getenforce
      register: info

    - name: when_Selinux
      shell: setenforce 0
      when: info['stdout'] == 'Enforcing'

    - name: move repos
      shell: mv /etc/yum.repos.d/* /media

    - name: create ftp.repo
      copy: src=local.repo dest=/etc/yum.repos.d/

    - name: install ftp-server package
      yum: name=vsftpd state=present

    - name: start vsftpd
      service: name=vsftpd state=started

[root@ansible ansible_ftp]# cat local.repo
[centos]
name=centos
baseurl=ftp://ansible/centos/
gpgcheck=0
enabled=1

检查剧本并执行

powershell 复制代码
[root@ansible ansible_ftp]# ansible-playbook  --syntax-check install_ftp.yaml

playbook: install_ftp.yaml
[root@ansible ansible_ftp]# ansible-playbook install_ftp.yaml

PLAY [node1] ***********************************************************************************************************
TASK [Gathering Facts] *************************************************************************************************
ok: [192.168.200.76]

TASK [Selinux Config Setenforce] ***************************************************************************************
changed: [192.168.200.76]

TASK [when_Selinux] ****************************************************************************************************
skipping: [192.168.200.76]

TASK [move repos] ******************************************************************************************************
changed: [192.168.200.76]

TASK [create ftp.repo] *************************************************************************************************
changed: [192.168.200.76]

TASK [install ftp-server package] **************************************************************************************
changed: [192.168.200.76]

TASK [start vsftpd] ****************************************************************************************************
changed: [192.168.200.76]

PLAY RECAP *************************************************************************************************************
192.168.200.76             : ok=6    changed=5    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0

[root@ansible ansible_ftp]#

验证

powershell 复制代码
[root@node1 ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2023-05-03 03:07:26 EDT; 31s ago
  Process: 2718 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 2719 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─2719 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

May 03 03:07:25 node1 systemd[1]: Starting Vsftpd ftp daemon...
May 03 03:07:26 node1 systemd[1]: Started Vsftpd ftp daemon.
[root@node1 ~]#
相关推荐
火车叼位6 分钟前
Docker Compose 网络原理与实战:同一 Compose 服务间如何稳定通信
运维·docker·容器
白狐_7982 小时前
从零构建飞书 × OpenClaw 自动化情报站(三)
运维·自动化·飞书
人间打气筒(Ada)3 小时前
mysql数据库之DDL、DML
运维·数据库·sql·mysql·dba·dml·dql
SongYuLong的博客4 小时前
Linux IPC进程通信几种方法
linux·运维·算法
yiwenrong4 小时前
安全审计-Ubuntu-ufw防火墙
linux·运维·ubuntu
小比特_蓝光4 小时前
Linux:基本指令
linux·运维·服务器
hnlgzb4 小时前
如果获取deepseek的api key?
运维
Insist7535 小时前
案例二---集群修改物理IP和VIP
运维·网络·数据库
Skilce6 小时前
HAProxy
linux·运维·负载均衡
有一个好名字6 小时前
claude code安装
linux·运维·前端