ansible-role-php/README.md
2023-11-15 12:50:37 +01:00

38 lines
1.4 KiB
Markdown

PHP
===
Diese Rolle installiert PHP und PHP-FPM mit einigen grundlegenden Anpassungen der Konfiguration.
Für PHP-FPM werden systemd-Templates installiert. In Zusammenhang mit eigenen (beschränkten) Linux-Nutzerkonten
lassen sich daraus Services für verschiedene Anwendungen erstellen.
## Verfügbare Variablen
Für die PHP-Konfiguration sind verschiedene defaults gesetzt. Über die jeweilige `host_vars` lassen sich im Dictionary `php`
die defaults überschreiben.
Beispiel:
```YAML
php:
memory_limit: 256M
post_max_size: 30M
```
Durch setzen der Variable `phpfpm_exporter: true` wird ein [Prometheus Exporter](https://github.com/Lusitaniae/phpfpm_exporter)
installiert. Das zugehörife [Grafana Dashboard](https://grafana.com/grafana/dashboards/5714-php-fpm-multi-pool/) trägt die ID `5714`.
## Nutzerkonto und PHP-FPM-Service anlegen
Per Ansible Tag kann ein Systemkonto und ein PHP-FPM-Socket und Service angelegt werden. Am Beispiel des playbooks `php.yml`:
```Shell
ansible-playbook playbooks/php.yml --tags php_version,never,user -e "php_user=foobar create_home=true"
```
Systemd-Socket und Service sind anschließend als `php-fpm@{{ php_user }}.[socket|service]` verfügbar.
### Varibablen
| Variable | default | Bedeutung |
|--|--|--|
| php_user | |Erforderlich, Nutzername des neuen Systemkontos |
| create_home | false | Optional, Anlegen des Homedirs unter `/home/{{ php_user }}` |