Ansible Role wordpress¶
This role installs and configures the WordPress CMS.
Attention: It is intended that when you call http://{wordpress__url}} you will get a white page because no theme is installed. http://{wordpress__url}}/wp-admin works as expected.
Available since LFOps 2.0.0.
Dependent Roles¶
Any LFOps playbook that installs this role runs these for you. Optional ones can be disabled via the playbook’s skip variables.
A web server (for example Apache httpd) must be installed, with a virtual host configured for WordPress (role: linuxfabrik.lfops.apache_httpd).
MariaDB 10+ must be installed (role: linuxfabrik.lfops.mariadb_server).
PHP 7+ must be installed (role: linuxfabrik.lfops.php).
Mandatory Role Variables¶
wordpress__admin_email
The Email of the WordPress admin user.
Type: String.
wordpress__admin_user
The WordPress admin user account.
Type: Dictionary.
Subkeys:
username:Mandatory. Username.
Type: String.
password:Mandatory. Password.
Type: String.
wordpress__database_user
The database user account with permissions on the
wordpress__database_namedatabase.Type: Dictionary.
Subkeys:
username:Mandatory. Username.
Type: String.
password:Mandatory. Password.
Type: String.
wordpress__site_title
The WordPress site title.
Type: String.
wordpress__url
The WordPress URL, without
http://orhttps://.Type: String.
Example:
# mandatory
wordpress__admin_email: 'webmaster@example.com'
wordpress__admin_user:
username: 'wordpress-admin'
password: 'linuxfabrik'
wordpress__database_user:
username: 'wordpress'
password: 'linuxfabrik'
wordpress__site_title: 'WordPress Test Site'
wordpress__url: 'wordpress.example.com'
Optional Role Variables¶
wordpress__database_host
The host on which the database is accessible.
Type: String.
Default:
'localhost'
wordpress__database_name
The name of the database.
Type: String.
Default:
'wordpress'
wordpress__disallow_file_edit
Prevent editing of plugin / theme files from the admin WebGUI. Strongly recommended to set this to
truefor security reasons.Type: Bool.
Default:
true
wordpress__install_dir
The installation directory for WordPress.
Type: String.
Default:
'/var/www/html/{{ wordpress__url }}'
wordpress__plugins
List of WordPress plugin slugs. To get a list of already installed plugins, use the WordPress CLI
sudo -u apache /usr/local/bin/wp plugin list --status=active.Type: List of dictionaries.
Default:
[]Subkeys:
name:Mandatory. Plugin slug, path to a local zip file, or URL to a remote zip file.
Type: String.
state:Optional. Either
'present'or'absent'.Type: String.
Default:
'present'
wordpress__theme
The WordPress theme to install. Accepts a theme slug, the path to a local zip file, or a URL to a remote zip file.
Type: String.
Default: unset
wordpress__version
The WordPress version to install. Possible options: version number,
'latest','nightly'.Type: String.
Default:
'latest'
wordpress__wxr_export
Path to a WXR export file which will be imported after installing WordPress. The file includes posts, pages, comments, custom fields, categories and tags, and can be created using the wp-cli export function or the
wordpress:exporttag.Type: String.
Default: unset
Example:
# optional
wordpress__database_host: 'localhost'
wordpress__database_name: 'wordpress'
wordpress__disallow_file_edit: true
wordpress__install_dir: '/var/www/html/{{ wordpress__url }}'
wordpress__plugins:
- name: 'bbPress'
state: 'present'
- name: 'Akismet'
state: 'absent'
wordpress__theme: 'twentysixteen'
wordpress__version: 'latest'
wordpress__wxr_export: '/tmp/wordpress.xml'