danie1k/bulletproof-wordpress

Wordpress deployment automation based on Ansible & Composer

Installs: 14

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 1

Language:Shell

Type:project

dev-dev 2020-05-17 15:03 UTC

This package is auto-updated.

Last update: 2024-12-18 00:56:06 UTC


README

Build Status Current Version PHP Version Support MIT License

Bulletproof* Wordpress deployment automation based on Ansible & Composer

Table of Contents

  1. Requirements
    1. Developer's Computer
    2. Web server (hosting)
  2. Installation
  3. Usage
  4. Basic Wordpress Configuration
    1. Database settings
    2. Secret keys
  5. Extended Wordpress Configuration
    1. HTTPS detection mechanism
    2. Paths customization
    3. Cron
  6. SMTP Configuration
    1. Global settings
    2. Mailer-specific settings
      1. PHP
      2. SMTP.com
      3. Pepipost
      4. Sendinblue
      5. Mailgun
      6. SendGrid
      7. Classic SMTP server
  7. Advanced options
    1. Various settings
    2. Files upload mechanism
  8. Roadmap
  9. License

Requirements

Developer's Computer

Web server (hosting)

  • SSH access (for Ansible)
  • PHP >= 5 (for Wordpress)
  • Apache or Nginx web server

Installation

To begin run the following command in Bash-compatible terminal:

bash <(curl -s https://raw.githubusercontent.com/danie1k/php-bulletproof-wordpress/dev/.github/installer.sh)

Work in progress, more to come...

Usage

To be added...

Basic Wordpress Configuration

Database settings

Secret keys

TIP: Use https://api.wordpress.org/secret-key/1.1/salt/ to generate all the following keys.

Extended Wordpress Configuration

HTTPS detection mechanism

Select how WordPress should detect that a page is loaded via HTTPS, it strongly depends on your web server & DNS configuration.

Available options:

Paths settings

All directories mentioned in this section are publicly exposed!

Cron

It is highly recommended to use Crontab-based cron to drive Wordpress, over built-in one.
Check following links fore more information:

W3 Total Cache

SMTP Configuration

BPWP SMTP support is provided with third-party Wordpress plugin: https://wordpress.org/plugins/wp-mail-smtp/

Global settings

Mailer-specific settings

PHP

No settings

SMTP.com

Full documentation: https://wpmailsmtp.com/docs/how-to-set-up-the-smtp-com-mailer-in-wp-mail-smtp

Pepipost

Full documentation: https://wpmailsmtp.com/docs/how-to-set-up-the-pepipost-mailer-in-wp-mail-smtp

Sendinblue

Full documentation: https://wpmailsmtp.com/docs/how-to-set-up-the-sendinblue-mailer-in-wp-mail-smtp

Mailgun

Full documentation: https://wpmailsmtp.com/docs/how-to-set-up-the-mailgun-mailer-in-wp-mail-smtp

SendGrid

Full documentation: https://wpmailsmtp.com/docs/how-to-set-up-the-sendgrid-mailer-in-wp-mail-smtp

Classic SMTP server

Full documentation: https://wpmailsmtp.com/docs/how-to-set-up-the-other-smtp-mailer-in-wp-mail-smtp/

Advanced options

Various settings

Warning! Any changes made to files on remote server will be lost during Ansible-based deployment!

Files upload mechanism

There are two mechanism available for uploading your Wordpress files to remote server.

Roadmap

  • Add .htaccess files for Apache web server
  • Nginx config generator
  • More detailed "DEPLOYMENT CONFIRMATION" report
  • Add support for Composer's autoload.php
  • Add shell script to update BPWP (similar to installer.sh)
  • Improve installation & usage instructions in README
  • Javascript converter "api.wordpress.org/secret-key/1.1/salt/" -> Ansible Variables

License

MIT

* Highly secured