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
Requires
- php: >=5.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
This package is auto-updated.
Last update: 2024-12-18 00:56:06 UTC
README
Bulletproof* Wordpress deployment automation based on Ansible & Composer
Table of Contents
- Requirements
- Installation
- Usage
- Basic Wordpress Configuration
- Extended Wordpress Configuration
- SMTP Configuration
- Advanced options
- Roadmap
- License
Requirements
Developer's Computer
- Bash
- Ansible
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:
- https://support.hostgator.com/articles/specialized-help/technical/wordpress/how-to-replace-wordpress-cron-with-a-real-cron-job
- https://easyengine.io/tutorials/wordpress/wp-cron-crontab/
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