Ansible WebServer

其他类别 2025-07-28

Ansible WebServer

用于全自动部署的剧本(nginx + apache)

用法

  1. 安装Ansible和其他必需的软件包:

    Debian:

    sudo apt install ansible sshpass
  2. 安装语言文件:

    sudo install languages/en.mo /usr/share/locale/en/LC_MESSAGES/init.mo
    sudo install languages/ru.mo /usr/share/locale/ru/LC_MESSAGES/init.mo
  3. 运行init.sh并按照说明:

    LANGUAGE=en ./init.sh

警告:不要直接从计划部署的服务器中运行剧本!

注意:如果使用HTTPS部署Web服务器(选项1),则必须在部署时在服务器上使用证书和密钥文件!

部署选项

  • http
  • https
    • 带有预先准备的证书(选项1)
    • 从Let's Encrypt获得的证书(选项2)
    • 带有自签名证书(选项3)

将安装和配置什么?

  • nginx(前端)
  • Apache(后端)
  • Apache模块
    • mod_fastcgi
    • mod_remoteip
  • php-fpm
  • DBM(可选)
    • Mariadb + PhpMyAdmin(可选)
    • mysql + phpmyadmin(可选)
    • PostgreSQL + PGADMIN(可选)(在开发中)
  • 敲门(可选)
  • SFTP服务器(可选)
  • fail2ban(可选)(开发中)
  • 防火墙(可选)
    • UFW
    • Firewalld(在开发中)

将采取什么措施来提高安全性?

  • 隐藏nginx和apache版本
  • 阻止对Apache端口的访问
  • 阻止外部访问DBMS
  • 通过IP阻止直接访问(重定向)
  • 保护nginx免受缓慢要求
  • 带端口knocking的SSH保护(可选)
  • 通过.htpasswd和.htaccess(可选)阻止访问PhpMyAdmin

路线图

  • 添加HTTPS支持
  • 添加选择DBM的能力
  • 增加对PGADMIN的支持
  • GUI开发以更轻松地部署
  • 增加对其他OS的支持
下载源码

通过命令行克隆项目:

git clone https://github.com/vitkuz573/Ansible-WebServer.git