WP Config automatic setup
This commit is contained in:
		| @@ -45,6 +45,8 @@ ansible-playbook -i inventory/target.ini setup_server.yml | |||||||
|  |  | ||||||
| After the playbook has run successfully, you should have a fully functional WordPress website running on your Ubuntu machine with Nginx, PHP, MySQL, and Redis. | After the playbook has run successfully, you should have a fully functional WordPress website running on your Ubuntu machine with Nginx, PHP, MySQL, and Redis. | ||||||
|  |  | ||||||
|  | Please make sure to install Redis plugin which already has a pre-set configuration | ||||||
|  |  | ||||||
| ## Variables | ## Variables | ||||||
|  |  | ||||||
| The following variables can be customized in the `vars/external.yml` file: | The following variables can be customized in the `vars/external.yml` file: | ||||||
|   | |||||||
							
								
								
									
										99
									
								
								roles/configure-wordpress/files/wp-config.php.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								roles/configure-wordpress/files/wp-config.php.j2
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,99 @@ | |||||||
|  |  | ||||||
|  | /** | ||||||
|  | * The base configuration for WordPress | ||||||
|  | * | ||||||
|  | * The wp-config.php creation script uses this file during the | ||||||
|  | * installation. You don't have to use the web site, you can | ||||||
|  | * copy this file to "wp-config.php" and fill in the values. | ||||||
|  | * | ||||||
|  | * This file contains the following configurations: | ||||||
|  | * | ||||||
|  | * * MySQL settings | ||||||
|  | * * Secret keys | ||||||
|  | * * Database table prefix | ||||||
|  | * * ABSPATH | ||||||
|  | * | ||||||
|  | * @link https://codex.wordpress.org/Editing_wp-config.php | ||||||
|  | * | ||||||
|  | * @package WordPress | ||||||
|  | */ | ||||||
|  |   | ||||||
|  | // ** MySQL settings - You can get this info from your web host ** // | ||||||
|  | /** The name of the database for WordPress */ | ||||||
|  | define( 'DB_NAME', '{{ mysql_db }}' ); | ||||||
|  | /** MySQL database username */ | ||||||
|  | define( 'DB_USER', '{{ mysql_user }}' ); | ||||||
|  | /** MySQL database password */ | ||||||
|  | define( 'DB_PASSWORD', '{{ mysql_user_pass }}' ); | ||||||
|  | /** MySQL hostname */ | ||||||
|  | define( 'DB_HOST', '127.0.0.1:3306' ); | ||||||
|  | /** Database Charset to use in creating database tables. */ | ||||||
|  | define( 'DB_CHARSET', 'utf8' ); | ||||||
|  | /** The Database Collate type. Don't change this if in doubt. */ | ||||||
|  | define( 'DB_COLLATE', '' ); | ||||||
|  |  | ||||||
|  | define( 'WP_REDIS_HOST', '127.0.0.1' ); | ||||||
|  | define( 'WP_REDIS_PORT', 6379 ); | ||||||
|  | define( 'WP_REDIS_PASSWORD', '{{ redis_pass }}' ); | ||||||
|  | define( 'WP_REDIS_TIMEOUT', 1 ); | ||||||
|  | define( 'WP_REDIS_READ_TIMEOUT', 1 ); | ||||||
|  |  | ||||||
|  | // change the database for each site to avoid cache collisions | ||||||
|  | // values 0-15 are valid in a default redis config. | ||||||
|  | define( 'WP_REDIS_DATABASE', 1 ); | ||||||
|  |  | ||||||
|  | /** Filesystem access **/ | ||||||
|  | define('FS_METHOD', 'direct'); | ||||||
|  |   | ||||||
|  | /**#@+ | ||||||
|  |   | ||||||
|  | * Authentication Unique Keys and Salts. | ||||||
|  | * | ||||||
|  | * Change these to different unique phrases! | ||||||
|  | * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service} | ||||||
|  | * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again. | ||||||
|  | * | ||||||
|  | * @since 2.6.0 | ||||||
|  | */ | ||||||
|  | define( 'AUTH_KEY',         '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' ); | ||||||
|  | define( 'SECURE_AUTH_KEY',  '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' ); | ||||||
|  | define( 'LOGGED_IN_KEY',    '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' ); | ||||||
|  | define( 'NONCE_KEY',        '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' ); | ||||||
|  | define( 'AUTH_SALT',        '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' ); | ||||||
|  | define( 'SECURE_AUTH_SALT', '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' ); | ||||||
|  | define( 'LOGGED_IN_SALT',   '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' ); | ||||||
|  | define( 'NONCE_SALT',       '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' ); | ||||||
|  |   | ||||||
|  | /**#@-*/ | ||||||
|  |   | ||||||
|  | /** | ||||||
|  | * WordPress Database Table prefix. | ||||||
|  | * | ||||||
|  | * You can have multiple installations in one database if you give each | ||||||
|  | * a unique prefix. Only numbers, letters, and underscores please! | ||||||
|  | */ | ||||||
|  | $table_prefix = 'wp_'; | ||||||
|  |   | ||||||
|  | /** | ||||||
|  | * For developers: WordPress debugging mode. | ||||||
|  | * | ||||||
|  | * Change this to true to enable the display of notices during development. | ||||||
|  | * It is strongly recommended that plugin and theme developers use WP_DEBUG | ||||||
|  | * in their development environments. | ||||||
|  | * | ||||||
|  | * For information on other constants that can be used for debugging, | ||||||
|  | * visit the Codex. | ||||||
|  | * | ||||||
|  | * @link https://codex.wordpress.org/Debugging_in_WordPress | ||||||
|  | */ | ||||||
|  | define( 'WP_DEBUG', false ); | ||||||
|  |   | ||||||
|  | /* That's all, stop editing! Happy publishing. */ | ||||||
|  |   | ||||||
|  | /** Absolute path to the WordPress directory. */ | ||||||
|  | if ( ! defined( 'ABSPATH' ) ) { | ||||||
|  | define( 'ABSPATH', dirname( __FILE__ ) . '/' ); | ||||||
|  | } | ||||||
|  |   | ||||||
|  | /** Sets up WordPress vars and included files. */ | ||||||
|  | require_once( ABSPATH . 'wp-settings.php' ); | ||||||
							
								
								
									
										33
									
								
								roles/configure-wordpress/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								roles/configure-wordpress/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | |||||||
|  | --- | ||||||
|  | - name: PHP ini setup | ||||||
|  |   copy: | ||||||
|  |     src: files/php{{ php_version }}.ini | ||||||
|  |     dest: /etc/php/{{ php_version }}/fpm/php.ini | ||||||
|  |  | ||||||
|  | - name: Increase PHP memory limit | ||||||
|  |   become: true | ||||||
|  |   lineinfile: | ||||||
|  |     dest: /etc/php/{{ php_version }}/fpm/php.ini | ||||||
|  |     regexp: "memory_limit =" | ||||||
|  |     line: "memory_limit = 512M" | ||||||
|  |  | ||||||
|  | - name: Increase PHP upload time | ||||||
|  |   become: true | ||||||
|  |   lineinfile: | ||||||
|  |     dest: /etc/php/{{ php_version }}/fpm/php.ini | ||||||
|  |     regexp: "max_input_time =" | ||||||
|  |     line: "max_input_time = 120" | ||||||
|  |  | ||||||
|  | - name: Increase PHP post size | ||||||
|  |   become: true | ||||||
|  |   lineinfile: | ||||||
|  |     dest: /etc/php/{{ php_version }}/fpm/php.ini | ||||||
|  |     regexp: "post_max_size =" | ||||||
|  |     line: "post_max_size = 20M" | ||||||
|  |  | ||||||
|  | - name: Start PHP | ||||||
|  |   systemd: | ||||||
|  |     name: "php{{ php_version }}-fpm" | ||||||
|  |     daemon_reload: yes | ||||||
|  |     enabled: yes | ||||||
|  |     state: started | ||||||
| @@ -14,3 +14,4 @@ | |||||||
|     - role: install-wordpress |     - role: install-wordpress | ||||||
|     - role: install-docker |     - role: install-docker | ||||||
|     - role: setup-containers |     - role: setup-containers | ||||||
|  |     - role: configure-wordpress | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user