diff --git a/roles/mediawiki/tasks/install.yml b/roles/mediawiki/tasks/install.yml index 26efe977b..cc642bed7 100644 --- a/roles/mediawiki/tasks/install.yml +++ b/roles/mediawiki/tasks/install.yml @@ -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 }}-common # Auto-installed as an apt dependency + - 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 }} diff --git a/roles/moodle/tasks/install.yml b/roles/moodle/tasks/install.yml index ace7dcde6..988b9e81d 100644 --- a/roles/moodle/tasks/install.yml +++ b/roles/moodle/tasks/install.yml @@ -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) diff --git a/roles/nextcloud/tasks/install.yml b/roles/nextcloud/tasks/install.yml index c09bbb67a..643baa3c1 100644 --- a/roles/nextcloud/tasks/install.yml +++ b/roles/nextcloud/tasks/install.yml @@ -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 diff --git a/roles/pbx/tasks/freepbx_dependencies.yml b/roles/pbx/tasks/freepbx_dependencies.yml index 2a69e210b..70210db94 100644 --- a/roles/pbx/tasks/freepbx_dependencies.yml +++ b/roles/pbx/tasks/freepbx_dependencies.yml @@ -2,28 +2,28 @@ package: name: - wget - - git + - git - unixodbc # for Asterisk CDR (Call Detail Records) - sudo # required by FreePBX install script - 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 }}-json # See stanza just below #- php{{ php_version }}-gettext - - php{{ php_version }}-mbstring - - php{{ php_version }}-mysql - - php-pear - - php{{ php_version }}-snmp - - php{{ php_version }}-xml - - php{{ php_version }}-zip + - 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 # 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 diff --git a/roles/www_base/tasks/main.yml b/roles/www_base/tasks/main.yml index f911cd0c0..1c53bfc1a 100644 --- a/roles/www_base/tasks/main.yml +++ b/roles/www_base/tasks/main.yml @@ -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