2023-02-07 17:47:58 +01:00
|
|
|
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.
|
|
|
|
|
2023-02-07 19:53:33 +01:00
|
|
|
## Verfügbare Variablen
|
2023-02-07 17:47:58 +01:00
|
|
|
|
|
|
|
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
|
|
|
|
```
|
2023-02-08 09:02:57 +01:00
|
|
|
|
2023-11-15 12:32:00 +01:00
|
|
|
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`.
|
|
|
|
|
2023-02-08 09:02:57 +01:00
|
|
|
## 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
|
2023-02-08 11:23:01 +01:00
|
|
|
ansible-playbook playbooks/php.yml --tags php_version,never,user -e "php_user=foobar create_home=true"
|
2023-02-08 09:02:57 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
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 }}` |
|