https://github.com/eaudeweb/edw_php
Ansible role to deploy PHP versions on servers
https://github.com/eaudeweb/edw_php
Last synced: 4 months ago
JSON representation
Ansible role to deploy PHP versions on servers
- Host: GitHub
- URL: https://github.com/eaudeweb/edw_php
- Owner: eaudeweb
- Created: 2024-02-15T16:17:50.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-28T11:39:24.000Z (about 1 year ago)
- Last Synced: 2025-04-28T12:45:52.085Z (about 1 year ago)
- Language: Jinja
- Size: 71.3 KB
- Stars: 0
- Watchers: 7
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ansible Role for PHP
Installs PHP and configure php.ini and php pool on CentOS 7, 9 and Ubuntu servers.
Used:
* https://rpms.remirepo.net/
* https://launchpad.net/~ondrej/+archive/ubuntu/php
## Templates
The templates used are the default ones when installing php with remi ()`see templates/`).
## Variables
Available variables are listed below, along with default values `(see defaults/main.yml)`:
### PHP Installation
```
php_version: 8.2
```
Default php version is 8.2, but the value can be overwritten from host_vars.
A list of the PHP packages to install is already declared `see vars/`.
```
php_default_packages: []
```
You can add other packages you'd like (in host_vars):
```
php_extra_packages: []
```
### Configuration php.ini
See `vars`
```
php_ini_path:
```
These variables will be replaced in the php.ini file that exists on
the server at `php_ini_path`
```
php_default_settings:
- { option: "expose_php", value: "Off", section: "PHP" }
- { option: "memory_limit", value: "512M", section: "PHP" }
- { option: "max_execution_time", value: "180", section: "PHP" }
- { option: "max_input_time", value: "60", section: "PHP" }
- { option: "max_input_vars", value: "10000", section: "PHP" }
- { option: "realpath_cache_size", value: "4096k", section: "PHP" }
- { option: "file_uploads", value: "On", section: "PHP" }
- { option: "post_max_size", value: "200M", section: "PHP" }
- { option: "upload_max_filesize", value: "200M", section: "PHP" }
- { option: "max_file_uploads", value: "20", section: "PHP" }
- { option: "allow_url_fopen", value: "On", section: "PHP" }
- { option: "display_errors", value: "Off", section: "PHP" }
- { option: "display_startup_errors", value: "Off", section: "PHP" }
- { option: "error_log", value: "syslog", section: "PHP" }
- { option: "assert.active", value: "On", section: "Assertion" }
- { option: "date.timezone", value: "UTC", section: "Date" }
- { option: "mail.add_x_header", value: "0", section: "mail function" }
```
If you want to override or add others variables, use:
```
php_custom_settings: []
```
### PHP-FPM (php pool)
Php fpm is enabled by default, but can be disabled from host_vars.
If this variable is set to `false`, the pool will not be modified and
the `php_fpm_service` will not be started and enabled.
```
php_fpm_enable: true
```
See `vars`:
```
php_fpm_service:
```
These variables will be replaced in the pool template (templates/pool.conf-Distribution.j2)
```
php_fpm_pools:
- name: "www"
user: nginx
group: nginx
listen: "{{ '/var/run/php' + php_version | replace('.', '') + '-php-fpm.sock' }}"
listen_owner: nginx # listen.owner
listen_group: nginx # lsiten.group
listen_mode: 0660 # listen.mode
pm_max_children: 50 # pm.max_children
pm_start_servers: 10 # pm.start_servers
pm_min_spare_servers: 10 # pm.min_spare_servers
pm_max_spare_servers: 20 # pm.max_spare_servers
pm_max_requests: 500 # pm.max_requests
```
Defaul pool is `www`. If you want to modify the default settings
for `www` pool or to add a new pool, copy the given list to host_vars and update it.
## Dependencies
None.