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 }}` |