pulse-mind.ansible-role-apache-vhosts

Ansible 角色:Apache 虚拟主机

构建状态

目的

我使用角色 geerlingguy.apache 与角色 jdauphant.nginxviasite-ansible.site

jdauphant.nginx 将网站管理在单独的文件中,并支持明确移除网站。

Geerlingguy 评论了单个 vhosts.conf 的目的。

角色 viasite-ansible.site 做复杂的网站设置:创建用户、设置 nginx、apache、mysql 等。每个网站作为一个独立的角色,所以我也需要单独的 apache 虚拟主机。

这个角色让使用 geerlingguy.apache 有了不同的方式。

我发现的其他 "apache-vhosts" 角色和 viasite-ansible.site 一样复杂。

特性

  • 通过多个 playbook 添加网站
  • 明确移除网站
  • 每个网站可以有独立的模板

限制

  • 仅支持 Debian、Ubuntu 和 CentOS
  • 无 SSL(我们在 nginx 上配置 SSL)

欢迎反馈问题!

用法

在使用这个角色之前,您必须先用 geerlingguy.apache 角色或其他方式安装 apache。

一些变量名称和值与 geerlingguy 的角色相匹配(见 default 和 vars 目录)。所以,您可以不重复定义它。

添加网站:

网站定义也很相似:

apache_vhosts_sites:
  www.local.dev:
    servername: "www.local.dev"
    serveralias: "local.dev"
    documentroot: "/var/www/html"
    extra_parameters: |
      RewriteCond %{HTTP_HOST} !^www\. [NC]
      RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

与 geerlingguy 的对比:

apache_vhosts_sites:
  - servername: "www.local.dev"
    serveralias: "local.dev"
    documentroot: "/var/www/html"
    extra_parameters: |
      RewriteCond %{HTTP_HOST} !^www\. [NC]
      RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

自定义站点模板:

apache_vhosts_sites:
  www.local.dev:
    servername: "www.local.dev"
    template: "custom.conf.j2"

移除网站:

apache_vhosts_remove_sites:
  - www.local.dev

示例 Playbook

- hosts: all
  roles:
    - viasite-ansible.apache-vhosts
  vars:
    apache_vhosts_sites:
      foo:
        servername: "local.dev"
        documentroot: "/var/www/html"
      bar:
        servername: "local2.dev"
        documentroot: "/var/www/html"
      templated_site:
        template: tests/custom_template.conf.j2
        servername: "other.dev"
        somevariable: "somevalue"
    apache_vhosts_remove_sites:
      - baz
关于项目

Apache 2.x virtual hosts manage

安装
ansible-galaxy install pulse-mind.ansible-role-apache-vhosts
许可证
Unknown
下载
216
拥有者