码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 利用ansbile部署lamp并部署Discuz(非分布式)


    目录

    一、实验准备

    二、设置ansbile的hosts文件

    三、在192.168.115.148上完成相关准备

    上传Discuz_X3.3_SC_UTF8.zip

    配置本地源、确保我们的sr0挂载后可以使用

    四、编写roles

    创建目录

    编写http的main.yml

    编写mysql的main.yml

    编写phpmain.yml

    编写Discuz的main.yml

    编写playbook

    五、执行


    一、实验准备

    192.168.115.148:ansbile

    192.168.115.149

    192.168.115.151

    设置防火墙、selinux

    systemctl stop firewalld

    setenforce 0

    二、设置ansbile的hosts文件

    1. [group]
    2. 192.168.115.148
    3. 192.168.115.149
    4. 192.168.115.151

    三、在192.168.115.148上完成相关准备

    上传Discuz_X3.3_SC_UTF8.zip

    配置本地源、确保我们的sr0挂载后可以使用
    1. vim /etc/local.repo
    2. [local]
    3. name=local
    4. baseurl=file:///mnt
    5. enabled=1
    6. gpgcheck=0

    四、编写roles

    创建目录
    1. cd /etc/ansible/roles/
    2. mkdir -p {httpd,mysql,php,Discuz}/{files,tasks,handlers,templates,vars,meta}
    3. touch {httpd,mysql,php,Discuz}/{tasks,handlers,vars,meta}/main.yml
    4. tree
    5. .
    6. ├── Discuz
    7. │   ├── files
    8. │   ├── handlers
    9. │   │   └── main.yml
    10. │   ├── meta
    11. │   ├── tasks
    12. │   │   └── main.yml
    13. │   ├── templates
    14. │   └── vars
    15. ├── http
    16. │   ├── files
    17. │   ├── handlers
    18. │   ├── meta
    19. │   ├── tasks
    20. │   │   └── main.yml
    21. │   ├── templates
    22. │   └── vars
    23. ├── mysql
    24. │   ├── files
    25. │   ├── handlers
    26. │   ├── meta
    27. │   ├── tasks
    28. │   │   └── main.yml
    29. │   ├── templates
    30. │   └── vars
    31. └── php
    32. ├── files
    33. ├── handlers
    34. ├── meta
    35. ├── tasks
    36. │   └── main.yml
    37. ├── templates
    38. └── vars
    编写http的main.yml
    1. vim /ect/ansbile/roles/http/tasks/main.yml
    2. ---
    3. - name: 删除原来的yum源
    4. shell: rm -rf /etc/yum.repos.d/*
    5. - name: 分发本地源文件
    6. copy: src=/etc/local.repo dest=/etc/yum.repos.d/
    7. - name: 挂载本地sr0光盘
    8. shell: mount /dev/sr0 /mnt
    9. - name: 安装http服务
    10. yum: name=httpd state=present
    11. - name: 启动httpd服务,并设为开机自启
    12. service: name=httpd state=started enabled=yes
    13. - name: 删除httpd默认的访问网页
    14. shell: rm -rf /var/www/html/*
    编写mysql的main.yml
    1. vim /etc/ansible/roles/mysql/tasks/main.yml
    2. ---
    3. - name: 安装mysql
    4. shell: yum -y install mariadb mariadb-server
    5. - name: 启动mariadb设为开机自启
    6. shell: systemctl start mariadb && systemctl enable mariadb
    7. - name: 创建数据库hy
    8. shell: mysql -e 'create database hy;'
    9. - name: 创建用户qzh
    10. shell: mysql -e 'create user"qzh"@"localhosr" identified by "123.com";'
    11. - name: 为用户qzh授权hy库中的所有权限
    12. shell: mysql -e 'grant all privileges on hy.* to "qzh"@"localhost";'
    编写phpmain.yml
    1. vim /etc/ansible/roles/php/tasks/main.yml
    2. ---
    3. - name: 安装php环境/依赖
    4. yum: name=php,php-gd,php-ldap,php-odbc,php-pear,php-xml,php-xmlrpc,php-mbstring,php-snmp,php-soap,curl,curl-devel,php-bcmath,php-mysql state=present
    编写Discuz的main.yml
    1. vim /etc/ansible/roles/Discuz/tasks/main.yml
    2. ---
    3. - name: 分发论坛文件
    4. copy: src=/Discuz_X3.3_SC_UTF8.zip dest=/opt
    5. - name: 安装zip解压工具
    6. yum: name=unzip state=present
    7. - name: 解压论坛
    8. shell: cd /opt && unzip Discuz_X3.3_SC_UTF8.zip
    9. - name: 移动论坛文件
    10. shell: mv /opt/upload/* /var/www/html
    11. - name: 修改属主为Apache
    12. shell: chown -R apache /var/www/html/*
    13. notify: restart httpd
    编写playbook
    1. vim /etc/ansible/lamp.yml
    2. ---
    3. - hosts: group
    4. remote_user: root
    5. roles:
    6. - http
    7. - mysql
    8. - php
    9. - Discuz

    五、执行

    ansible-playbook /etc/ansible/lamp.yml

    。

    。

    。

    。

  • 相关阅读:
    Java并发编程学习6-同步工具类和并发容器
    qt操作json(QT 教程)
    java spring cloud 工程企业管理软件-综合型项目管理软件-工程系统源码
    线段树杂谈
    用百度云怎么重装电脑系统
    Vue前端框架12 组件生命周期、生命周期的应用、动态组件、组件保持存活、异步组件、依赖注入、Vue应用原理
    django —— 搭建项目及简单测试
    设计模式:迭代器模式
    Spring系列七:JDK 动态代理和 CGLIB 代理
    计算机组成原理 new09 定点数的移位运算
  • 原文地址:https://blog.csdn.net/2302_78534730/article/details/132802639
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号