inmotionhosting.wordpress_ultrastack

Ansible Role: Wordpress UltraStack

This is a simple and modular Ansible Role designed for deploying and setting up WordPress using InMotion's special UltraStack configuration, focused on optimizing performance.

Requirements

Make sure you are using one of the following systems:

  • CentOS 7.x or newer
  • Debian 9 or newer
  • Ubuntu 16.04 LTS or newer

Dependencies

Required Roles

You will need these required roles:

- role: inmotionhosting.apache
- role: inmotionhosting.mysql
- role: inmotionhosting.php_fpm
- role: inmotionhosting.wordpress
- collection: community.general
- collection: ansible.posix

Optional Roles

If you want to use UltraStack, include these roles as well:

- role: inmotionhosting.nginx_proxy
- role: inmotionhosting.redis

What is UltraStack?

UltraStack is a collection of server settings developed by InMotion Hosting experts, aimed at optimizing server performance for specific content management systems like WordPress.

What is included?

NGINX

NGINX is part of UltraStack and acts as a reverse-proxy and cache, helping your website respond to requests much faster. It uses a short cache time to handle high traffic more effectively and has rules to prevent caching for logged-in users.

PHP-FPM

PHP-FPM stands for FastCGI Process Manager, which is a better way to run PHP. Each PHP-FPM pool acts like an independent installation of PHP, with its own settings and resources.

Redis

Redis stands for Remote Dictionary Server. It speeds up database queries by caching them in the faster memory instead of using the slower hard drive. This makes it easier to handle frequent database requests quickly.

Role Variables

Here are the available variables you can use, along with their default settings (you can also check defaults/main.yml):

Variable Definition
use_ultrastack Enables UltraStack configuration by default. Set to false to skip installing NGINX and Redis.
use_redis Turn Redis installation on or off.
site_domain The domain you'll use for the service configuration.
ultrastack_w3tc_settings Additional settings for W3TC if you're installing on an existing WordPress site.
nginx_ratelimit_enable Turns on/off rate limiting for certain paths in NGINX.
nginx_ratelimit_burst Sets burst limits for the rate limit zone in NGINX.
nginx_ratelimit_nodelay Enables or disables delays for the NGINX rate limit zone.
nginx_ratelimit_zone Name for the NGINX rate limit area.
nginx_ratelimit_paths Paths that will have rate limiting applied.
nginx_cache_bypass_paths Paths that will bypass the cache.
nginx_cache_purge_enable Enables cache purging in NGINX when using a specific module.
nginx_vts_enable Enables NGINX settings for the VTS module.
nginx_cache_profile Loads a pre-set profile for NGINX caching.

Note: If you're using UltraStack, it’s highly recommended to also use the w3-total-cache plugin.

Example Playbook

Here's a simple example of how to use it:

- hosts: wordpress_ultrastack
  roles:
    - role: inmotionhosting.apache
    - role: inmotionhosting.mysql
    - role: inmotionhosting.php_fpm
    - role: inmotionhosting.wordpress
    - role: inmotionhosting.wordpress_ultrastack
      vars:
        use_ultrastack: true

License

The software is licensed under GPLv3.

Author Information

Created by InMotion Hosting

Informazioni sul progetto

Modular Ansible Role for deploying and configuring WordPress, including InMotion's optimized UltraStack

Installa
ansible-galaxy install inmotionhosting.wordpress_ultrastack
Licenza
gpl-3.0
Download
12.3k
Proprietario
Offering Private and Public Cloud, Software as a Service, and Web Hosting