Code Monkey home page Code Monkey logo

ansible-role-apache's People

Contributors

charlesbrandt avatar inghamn avatar sethcob avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ansible-role-apache's Issues

apache_modules variable is confusing and causing problems

As we install the same packages on different hosts, the modules that are enabled in apache are different. This makes it confusing to write playbooks to deploy web applications.

We should pick a set of base modules that this role installs. Anything else should be left up to a playbook to deploy.

Configuration changes to help with Status module

We are starting to need to use the status module to debug stalls and timeouts. Ansible should deploy these configuration changes to all apache instances.

  • VHost for localhost
  • apt-get install lynx

Update default directory index

Apache gets installed with a long list of DirectoryIndex files. For our work, we really only want it to have index.html. We need figure out a way to have the apache role check for the long list and leave only index.html.

The trick will be that we want the PHP role to be able to add index.php. So the apache role should probably somehow know about the PHP role. I'm not really sure how best to do this.

Add remoteip module

For all the web servers hosting applications behind our proxy, we would like to have the actual client IP addresses in the logs. This way, when we analyze the log files, we'll know where the traffic is really coming from.

We could probably create an ansible variable to specify trusted proxies. We would use the presence of that variable to activate the module and add extra stuff to 000-default.conf

Add tags for configuration updates

Sometimes when we're running a web application playbook, we just want to update the site configuration files, without touching all the other stuff (ssl keys, modules, etc.)

We should add tags so playbooks can call for just the site configuration tasks to run.

Add support for custom apache conf per host

Each of our web servers has different custom configuration that needs to be applied. We want to version the apache configuration for all our hosts, and ansible's inventory seems like the best place to do that.

We'll probably need to put the configuration into the host's public vars as data variables. Similar to what we do for the SSL certs.

Update apt-get install commands to new Ansible syntax

The old way of doing apt with-items is deprecated. The new way is to declare a variable for all the package names.

New style for apt-get install

- name: "Install Dependencies"
  apt:
    name: "{{ packages }}"
    state: present
  vars:
    packages:
      - "postgis"

Old, deprecated style

- name: "Install Dependencies"
  apt:
    name: "{{ item }}"
    state: present
  with_items:
    - "postgis"

Use template files for custom sites conf files

We now have a technique which allows us to use template files inside of the inventory, instead of declaring the contents of the files as string vars. We should update this role to look for template files in group_vars and host_vars, instead of using the apache_sites var.

Update to support RedHat distros

We are starting to want to run CentOS on servers. We need to update our Ansible roles to work with RPM based distros as well as DEB.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.