Ansible lineinfile - apache虚拟主机块


早岁那知世事艰
2024-12-07 10:12:36 (3月前)
  1. 我试图通过ansible管理我的apache http虚拟主机配置文件。我想在文件中的某个点插入一个新行。不幸的是,我的ansible配置不对,...

3 条回复
  1. 0# biu~ | 2019-08-31 10-32



    这似乎是你的问题

    insertbefore

    正则表达式,特别是与该部分

    [ \t]




    我会去

    \s

    相反,这意味着

    一个或多个空格字符




    此外,您正在使用

    .

    作为一个

    代币

    ,而不是点的实际特征。你应该逃避它。



    所以它会是:




    1. insertbefore: ‘^\s
      # each header may be up to 12392 bytes. This is the SPNEGO authentication header size limit.‘

    2. </code>


    我建议

    网站regex101.com

    在那里你可以通过对正则表达式模式的细分解释来在线检查你的正则表达式。



    我的建议中的具体输入已预先填写

    链接



  2. 1# 谦成 | 2019-08-31 10-32



    一种选择是使用模板并将虚拟主机的配置放在单独的文件中



    1.   - name: "httpd-vhosts: Configure virtual hosts in {{ apache_conf_path }}/extra/"
    2. template:
      src: vhost.j2
      dest: “{{ apache_conf_path }}/extra/{{ item.ServerName }}.conf
      ….

    3. </code>


    并在httpd.conf中包含这些文件



    1.   - name: "httpd-vhosts: Incl virtual hosts in {{ apache_conf_path }}/httpd.conf"
    2. lineinfile:
      dest: “{{ apache_conf_path }}/httpd.conf
      regexp: “^Include etc/apache{{ apache_version }}/extra/{{ item.ServerName }}.conf
      line: Include etc/apache{{ apache_version }}/extra/{{ item.ServerName }}.conf

    3. </code>


    详情请参阅

    的httpd-vhosts.yml



    vhost.j2

    。 FWIW,这是

    阿帕奇

    银河角色。


登录 后才能参与评论