1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-03-09 15:40:17 +00:00

Document PHP dependency modularity across roles

This commit is contained in:
root 2021-06-27 17:58:44 -04:00
parent 815ea55ee4
commit f31677673f
5 changed files with 45 additions and 44 deletions

View file

@ -1,10 +1,10 @@
- name: 'Install packages: php{{ php_version }}-intl, php{{ php_version }}-mbstring'
- name: 'Install packages: php{{ php_version }}-intl, php{{ php_version }}-mbstring, php{{ php_version }}-xml'
package:
name:
#- php{{ php_version }}-common # Auto-installed as an apt dependency
- php{{ php_version }}-intl
- php{{ php_version }}-mbstring
- php{{ php_version }}-xml #
- php{{ php_version }}-intl # Likewise installed by moodle/tasks/install.yml AND nextcloud/tasks/install.yml
- php{{ php_version }}-mbstring # Likewise installed by moodle/tasks/install.yml AND nextcloud/tasks/install.yml AND pbx/tasks/freepbx_dependencies.yml
- php{{ php_version }}-xml # Likewise installed by nextcloud/tasks/install.yml AND pbx/tasks/freepbx_dependencies.yml
state: present
- name: Download {{ mediawiki_download_base_url }}/{{ mediawiki_src }} to {{ downloads_dir }}

View file

@ -28,16 +28,17 @@
- name: Install libsodium23 + 7 PHP packages (run 'php -m' or 'php -i' to verify)
package:
name:
- libsodium23 # 2021-05-17: Recommended by Moodle 3.11+ at https://docs.moodle.org/311/en/Environment_-_PHP_extension_sodium -- this can be auto-installed by phpX.Y-fpm or phpX.Y-cgi or phpX.Y-cli, according to 'apt rdepends libsodium23 | grep php' -- whereas https://www.php.net/manual/en/sodium.installation.php says it's always bundled with PHP 7.2+ -- GIVEN THE AMBIGUITY, PLEASE VERIFY USING 'php -i | grep sodium' AND 'apt list "*sodium*"'
#- php{{ php_version }}-common # Auto-installed as an apt dependency
#- php{{ php_version }}-cli # 2020-06-15: In the past this included (below) mbstring? However this is not true on Ubuntu Server 20.04 LTS. FYI php{{ php_version }}-cli is a superset of php{{ php_version }}-common
- php{{ php_version }}-curl # 2021-06-27: Likewise installed by nextcloud/tasks/install.yml
- php{{ php_version }}-gd # 2021-06-27: Likewise installed by nextcloud/tasks/install.yml
- php{{ php_version }}-intl # 2020-12-03: Required by Moodle 3.10+
- php{{ php_version }}-mbstring # 2020-06-15: Required by Moodle 3.9+
- php{{ php_version }}-pgsql
- php{{ php_version }}-curl # 2021-06-27: Likewise installed by nextcloud/tasks/install.yml AND pbx/tasks/freepbx_dependencies.yml
- php{{ php_version }}-gd # 2021-06-27: Likewise installed by nextcloud/tasks/install.yml AND pbx/tasks/freepbx_dependencies.yml
- php{{ php_version }}-intl # 2020-12-03: Likewise installed by nextcloud/tasks/install.yml AND mediawiki/tasks/install.yml -- required by Moodle 3.10+
- php{{ php_version }}-mbstring # 2020-06-15: Likewise installed by nextcloud/tasks/install.yml AND mediawiki/tasks/install.yml AND pbx/tasks/freepbx_dependencies.yml -- required by Moodle 3.9+
- php{{ php_version }}-pgsql # 2021-06-27: Required for PostgreSQL
- php{{ php_version }}-soap # 2020-12-03: Recommended by Moodle 3.10+
- libsodium23 # 2021-05-17: Recommended by Moodle 3.11+ at https://docs.moodle.org/311/en/Environment_-_PHP_extension_sodium -- this can be auto-installed by phpX.Y-fpm or phpX.Y-cgi or phpX.Y-cli, according to 'apt rdepends libsodium23 | grep php' -- whereas https://www.php.net/manual/en/sodium.installation.php says it's always bundled with PHP 7.2+ -- GIVEN THE AMBIGUITY, PLEASE VERIFY USING 'php -i | grep sodium' AND 'apt list "*sodium*"'
- php{{ php_version }}-zip # 2021-06-27: Likewise installed by nextcloud/tasks/install.yml
#- php{{ php_version }}-xmlrpc # 2021-06-27: Required per https://docs.moodle.org/19/en/PHP_settings_by_Moodle_version#PHP_Extensions_and_libraries BUT UNMAINTAINED FOR YEARS (POSSIBLE SECURITY RISK) SO MOVED TO PECL: https://php.watch/versions/8.0/xmlrpc
- php{{ php_version }}-zip # 2021-06-27: Likewise installed by nextcloud/tasks/install.yml AND pbx/tasks/freepbx_dependencies.yml
state: present
- name: Does {{ moodle_base }}/config-dist.php exist? (indicating Moodle is/was installed)

View file

@ -54,23 +54,23 @@
- php{{ php_version }}-bcmath # Highly recommended by Nextcloud 21 for "improved performance and better compatibility"
- php{{ php_version }}-bz2 # Optional (for extraction of apps)
#- php{{ php_version }}-common # Auto-installed as an apt dependency. @jvonau said php{{ php_version }}-cli drags in php{{ php_version }}-common as @m-anish wanted in PR #2119 / #2258
- php{{ php_version }}-curl # Likewise installed by moodle/tasks/install.yml
- php{{ php_version }}-gd # Likewise installed by moodle/tasks/install.yml
- php{{ php_version }}-curl # Likewise installed by moodle/tasks/install.yml AND pbx/tasks/freepbx_dependencies.yml
- php{{ php_version }}-gd # Likewise installed by moodle/tasks/install.yml AND pbx/tasks/freepbx_dependencies.yml
- php{{ php_version }}-gmp # Optional (for SFTP storage)
- php-imagick # Optional (for preview generation). Drags in many deps (apt depends php-imagick). FYI php{{ php_version }}-imagick appears flawed: (1) 'apt depends php7.4-imagick' yields incomplete output; (2) Version-in-name package not available according to 'apt list "php*imagick"'
- php{{ php_version }}-intl # Optional (increases language translation performance and fixes sorting of non-ASCII characters)
- php{{ php_version }}-intl # Likewise installed by moodle/tasks/install.yml AND mediawiki/tasks/install.yml -- Optional (increases language translation performance and fixes sorting of non-ASCII characters)
#- php{{ php_version }}-json # See stanza just below
#- php{{ php_version }}-libxml # NOT INSTALLABLE: ENABLED BY DEFAULT (https://www.php.net/manual/en/libxml.installation.php)
- php{{ php_version }}-mbstring
- php{{ php_version }}-mysql
- php{{ php_version }}-mbstring # Likewise installed by moodle/tasks/install.yml AND mediawiki/tasks/install.yml AND pbx/tasks/freepbx_dependencies.yml
- php{{ php_version }}-mysql # Likewise installed by mysql/tasks/install.yml AND pbx/tasks/freepbx_dependencies.yml
#- php{{ php_version }}-openssl # NOT INSTALLABLE: ENABLED BY DEFAULT?
#- php{{ php_version }}-pdo_mysql # NOT INSTALLABLE: php-mysql handles this on all OS's?
#- php{{ php_version }}-pdo_mysql # NOT INSTALLABLE: php{{ php_version }}-mysql handles this on all OS's?
#- php{{ php_version }}-redis # @m-anish future work?
#- php{{ php_version }}-session # NOT INSTALLABLE: ENABLED BY DEFAULT?
#- php{{ php_version }}-smbclient # Optional (SMB/CIFS integration)
- php{{ php_version }}-xml # Likewise installed by mediawiki/tasks/install.yml -- NOT FORMALLY REQUESTED by Nextcloud (BUT hopefully delivers php-simplexml if not {php-xmlreader, php-xmlwriter} on Raspbian?)
- php{{ php_version }}-xml # Likewise installed by mediawiki/tasks/install.yml AND pbx/tasks/freepbx_dependencies.yml -- NOT FORMALLY REQUESTED by Nextcloud (BUT hopefully delivers php-simplexml if not {php-xmlreader, php-xmlwriter} on Raspbian?)
#- php{{ php_version }}-xmlrpc # 2021-06-27: Experimentally remove
- php{{ php_version }}-zip
- php{{ php_version }}-zip # Likewise installed by moodle/tasks/install.yml AND pbx/tasks/freepbx_dependencies.yml
#- php{{ php_version }}-zlib # NOT INSTALLABLE: ENABLED BY DEFAULT?
state: present

View file

@ -8,22 +8,22 @@
- net-tools # required by FWConsole (command-line utility, that controls FreePBX)
- cron # required by FreePBX UCP package (User Control Panel)
- sox # required for CDR web-playback
#- php{{ php_version }} # Drags in phpX.Y-cgi (already below!)
#- php{{ php_version }} # Basically drags in phpX.Y-cgi (already below!)
- php{{ php_version }}-bcmath
- php{{ php_version }}-cgi
#- php{{ php_version }}-common # Auto-installed as a dependency
- php{{ php_version }}-curl
- php{{ php_version }}-fpm
- php{{ php_version }}-gd
- php{{ php_version }}-curl # Likewise installed by moodle/tasks/main.yml AND nextcloud/tasks/install.yml
- php{{ php_version }}-fpm # Likewise installed by nginx/tasks/install.yml
- php{{ php_version }}-gd # Likewise installed by moodle/tasks/main.yml AND nextcloud/tasks/install.yml
- php{{ php_version }}-imap
#- php{{ php_version }}-json # See stanza just below
#- php{{ php_version }}-gettext
- php{{ php_version }}-mbstring
- php{{ php_version }}-mysql
- php-pear
- php{{ php_version }}-mbstring # Likewise installed by moodle/tasks/main.yml AND nextcloud/tasks/install.yml AND mediawiki/tasks/install.yml
- php{{ php_version }}-mysql # Likewise installed by mysql/tasks/install.yml AND nextcloud/tasks/install.yml
- php-pear # Likewise installed for ADMIN CONSOLE https://github.com/iiab/iiab-admin-console/blob/master/roles/cmdsrv/tasks/main.yml#L19
- php{{ php_version }}-snmp
- php{{ php_version }}-xml
- php{{ php_version }}-zip
- php{{ php_version }}-xml # Likewise installed by nextcloud/tasks/install.yml AND mediawiki/tasks/install.yml
- php{{ php_version }}-zip # Likewise installed by moodle/tasks/install.yml AND nextcloud/tasks/install.yml
- libapache2-mod-php
#- python-mysqldb # https://github.com/Yannik/ansible-role-freepbx/blob/master/tasks/freepbx.yml#L33
- libapache2-mpm-itk # To serve FreePBX through a VirtualHost as asterisk user

View file

@ -8,18 +8,18 @@
#- name: Install 10 PHP packages (run 'php -m' or 'php -i' to verify)
# package:
# name:
# - php{{ php_version }} # On Ubuntu 20.04 (and prob other OS's) this forces the install of: apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php{{ php_version }} ETC
#- php{{ php_version }}-common # 2021-06-27: Experimentally remove. 2020-05-21: @jvonau suggests this to avoid Apache that was above. Or its superset php{{ php_version }}-cli if absolutely nec?
#- php{{ php_version }}-curl # 2021-06-27: Installed by nextcloud/tasks/install.yml & moodle/tasks/main.yml
#- php{{ php_version }}-gd # 2021-06-27: Installed by nextcloud/tasks/install.yml & moodle/tasks/main.yml
#- php{{ php_version }}-imap # 2021-06-27: Experimentally remove
#- php{{ php_version }}-ldap # 2021-06-27: Experimentally remove
#- php{{ php_version }}-mysql # 2021-06-27: Experimentally remove
#- php{{ php_version }}-odbc # 2021-06-27: Experimentally remove
#- php-pear # 2021-06-27: Experimentally remove
# - php{{ php_version }}-sqlite3 # 2020-07-10: Experimentally install this within roles/osm-vector-maps/tasks/install.yml only, as part of OSM fix PR #2464 for #2461.
#- php{{ php_version }}-xml # 2021-06-27: Installed by nextcloud/tasks/install.yml
#- php{{ php_version }}-xmlrpc # 2021-06-27: Experimentally remove
# - php{{ php_version }} # On Ubuntu 20.04 (and prob other OS's) this forces the install of: apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php{{ php_version }} ETC
# - php{{ php_version }}-common # 2021-06-27: Experimentally remove. 2020-05-21: @jvonau suggests this to avoid Apache that was above. Or its superset php{{ php_version }}-cli that nginx/tasks/install.yml is installing anyways :/
# - php{{ php_version }}-curl # 2021-06-27: Installed by nextcloud/tasks/install.yml AND moodle/tasks/main.yml
# - php{{ php_version }}-gd # 2021-06-27: Installed by nextcloud/tasks/install.yml AND moodle/tasks/main.yml
# - php{{ php_version }}-imap # 2021-06-27: Installed by pbx/tasks/freepbx_dependencies.yml
# - php{{ php_version }}-ldap # 2021-06-27: Experimentally remove
# - php{{ php_version }}-mysql # 2021-06-27: Installed by mysql/tasks/install.yml
# - php{{ php_version }}-odbc # 2021-06-27: Experimentally remove
# - php-pear # 2021-06-27: REQUIRED BY ADMIN CONSOLE https://github.com/iiab/iiab-admin-console/blob/master/roles/cmdsrv/tasks/main.yml#L19
# - php{{ php_version }}-sqlite3 # 2020-07-10: Installed by osm-vector-maps/tasks/install.yml as part of OSM fix PR #2464 for #2461
# - php{{ php_version }}-xml # 2021-06-27: Installed by nextcloud/tasks/install.yml AND mediawiki/tasks/main.yml
# - php{{ php_version }}-xmlrpc # 2021-06-27: Experimentally remove -- SEE EXPLANATION IN moodle/tasks/main.yml
# state: present
- name: Using html.yml