mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
roles/nextcloud Spring Cleaning for Nextcloud 22+
This commit is contained in:
parent
97afe223e4
commit
f805e0ab8a
8 changed files with 31 additions and 43 deletions
|
@ -41,10 +41,9 @@
|
||||||
|
|
||||||
|
|
||||||
# February 2020: See @m-anish's PR #2119 and follow-up PR #2258.
|
# February 2020: See @m-anish's PR #2119 and follow-up PR #2258.
|
||||||
# 2021-04-11: If you're running Nextcloud 21+ in production, carefully check the latest required AND recommended prereqs:
|
# 2021-07-06: If you're running Nextcloud 22+ in production, carefully check the latest required AND recommended prereqs:
|
||||||
|
# https://docs.nextcloud.com/server/latest/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
||||||
# https://docs.nextcloud.com/server/21/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
# https://docs.nextcloud.com/server/21/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
||||||
# 2021-06-27: Use this after Nextcloud 22 is released "2021-07-06" :
|
|
||||||
# https://docs.nextcloud.com/server/22/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
|
||||||
- name: Install ffmpeg + libxml2 + 11 PHP packages (run 'php -m' or 'php -i' to verify)
|
- name: Install ffmpeg + libxml2 + 11 PHP packages (run 'php -m' or 'php -i' to verify)
|
||||||
package:
|
package:
|
||||||
name:
|
name:
|
||||||
|
@ -56,7 +55,8 @@
|
||||||
- php{{ php_version }}-bz2 # OPTIONAL (for extraction of apps)
|
- php{{ php_version }}-bz2 # OPTIONAL (for extraction of apps)
|
||||||
#- php{{ php_version }}-common # Auto-installed as an apt dependency. REGARDLESS: php{{ php_version }}-common superset php{{ php_version }}-cli is auto-installed by php{{ php_version }}-fpm in nginx/tasks/install.yml
|
#- php{{ php_version }}-common # Auto-installed as an apt dependency. REGARDLESS: php{{ php_version }}-common superset php{{ php_version }}-cli is auto-installed by php{{ php_version }}-fpm in nginx/tasks/install.yml
|
||||||
- php{{ php_version }}-curl # Likewise installed in moodle/tasks/install.yml, pbx/tasks/freepbx_dependencies.yml, wordpress/tasks/install.yml
|
- php{{ php_version }}-curl # Likewise installed in moodle/tasks/install.yml, pbx/tasks/freepbx_dependencies.yml, wordpress/tasks/install.yml
|
||||||
#- php{{ php_version }}-exif # Optional (for image rotation in pictures app) but somehow already installed in our PHP core.
|
#- php{{ php_version }}-exif # OPTIONAL (for image rotation in pictures app) but somehow already installed with PHP's core, as confirmed by 'php -m'
|
||||||
|
#- php{{ php_version }}-fileinfo # OPTIONAL (enhances file analysis performance) but somehow already installed with PHP's core, as confirmed by 'php -m'
|
||||||
- php{{ php_version }}-gd # Likewise installed in moodle/tasks/install.yml, pbx/tasks/freepbx_dependencies.yml
|
- php{{ php_version }}-gd # Likewise installed in moodle/tasks/install.yml, pbx/tasks/freepbx_dependencies.yml
|
||||||
- php{{ php_version }}-gmp # OPTIONAL (for SFTP storage)
|
- php{{ php_version }}-gmp # OPTIONAL (for SFTP storage)
|
||||||
- php-imagick # OPTIONAL (for preview generation). BUT drags in Apache's libapache2-mod-phpX.Y etc, as confirmed by 'apt depends php-imagick' -- while php{{ php_version }}-imagick installs (despite not being shown within 'apt list "php*imagick"') it's no better -- and 'apt depends phpX.Y-imagick' mysteriously does NOT show its deps. Likewise installed in wordpress/tasks/install.yml
|
- php-imagick # OPTIONAL (for preview generation). BUT drags in Apache's libapache2-mod-phpX.Y etc, as confirmed by 'apt depends php-imagick' -- while php{{ php_version }}-imagick installs (despite not being shown within 'apt list "php*imagick"') it's no better -- and 'apt depends phpX.Y-imagick' mysteriously does NOT show its deps. Likewise installed in wordpress/tasks/install.yml
|
||||||
|
@ -85,22 +85,6 @@
|
||||||
# state: present
|
# state: present
|
||||||
# when: php_version is version('8.0', '<')
|
# when: php_version is version('8.0', '<')
|
||||||
|
|
||||||
# https://docs.nextcloud.com/server/18/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
|
||||||
#- name: Install 9 additional php packages, if OS is not Raspbian (these are not available on Raspbian on RPi, as of Feb 2020)
|
|
||||||
# package:
|
|
||||||
# name:
|
|
||||||
# - php{{ php_version }}-ctype
|
|
||||||
# - php{{ php_version }}-dom
|
|
||||||
# - php{{ php_version }}-exif # Optional (for image rotation in pictures app)
|
|
||||||
# - php{{ php_version }}-fileinfo # Optional (enhances file analysis performance)
|
|
||||||
# - php{{ php_version }}-iconv
|
|
||||||
# - php{{ php_version }}-posix
|
|
||||||
# - php{{ php_version }}-simplexml
|
|
||||||
# - php{{ php_version }}-xmlreader
|
|
||||||
# - php{{ php_version }}-xmlwriter
|
|
||||||
# state: present
|
|
||||||
# when: not is_raspbian
|
|
||||||
|
|
||||||
|
|
||||||
- name: Create dir {{ nextcloud_root_dir }}
|
- name: Create dir {{ nextcloud_root_dir }}
|
||||||
file:
|
file:
|
||||||
|
@ -121,12 +105,6 @@
|
||||||
- name: Provision Nextcloud's MySQL DB, run Nextcloud's install wizard, etc
|
- name: Provision Nextcloud's MySQL DB, run Nextcloud's install wizard, etc
|
||||||
include_tasks: setup.yml
|
include_tasks: setup.yml
|
||||||
|
|
||||||
- name: Install /etc/{{ apache_conf_dir }}/nextcloud.conf from template, for http://box{{ nextcloud_url }} # http://box/nextcloud
|
|
||||||
template:
|
|
||||||
src: nextcloud.conf.j2
|
|
||||||
dest: "/etc/{{ apache_conf_dir }}/nextcloud.conf" # apache2/sites-available on debuntu
|
|
||||||
when: apache_installed is defined
|
|
||||||
|
|
||||||
|
|
||||||
# RECORD Nextcloud AS INSTALLED
|
# RECORD Nextcloud AS INSTALLED
|
||||||
|
|
||||||
|
|
|
@ -24,11 +24,7 @@
|
||||||
when: nextcloud_installed is undefined
|
when: nextcloud_installed is undefined
|
||||||
|
|
||||||
|
|
||||||
- name: Enable/Disable/Restart Apache if primary
|
- name: Enable/Disable/Restart NGINX
|
||||||
include_tasks: apache.yml
|
|
||||||
when: not nginx_enabled
|
|
||||||
|
|
||||||
- name: Enable/Disable/Restart NGINX if primary
|
|
||||||
include_tasks: nginx.yml
|
include_tasks: nginx.yml
|
||||||
when: nginx_enabled
|
when: nginx_enabled
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,8 @@
|
||||||
- localhost
|
- localhost
|
||||||
|
|
||||||
|
|
||||||
# https://docs.nextcloud.com/server/18/admin_manual/installation/command_line_installation.html
|
# https://docs.nextcloud.com/server/latest/admin_manual/installation/command_line_installation.html
|
||||||
- name: Create data dir {{ nextcloud_data_dir }}
|
- name: Create data dir {{ nextcloud_data_dir }} ({{ apache_user }}:{{ apache_user }})
|
||||||
file:
|
file:
|
||||||
state: directory
|
state: directory
|
||||||
path: "{{ nextcloud_data_dir }}" # /library/www/nextcloud/data
|
path: "{{ nextcloud_data_dir }}" # /library/www/nextcloud/data
|
||||||
|
@ -39,8 +39,7 @@
|
||||||
# insertafter: '^\$CONFIG = array \('
|
# insertafter: '^\$CONFIG = array \('
|
||||||
# line: " 'datadirectory' => '{{ nextcloud_data_dir }}',"
|
# line: " 'datadirectory' => '{{ nextcloud_data_dir }}',"
|
||||||
|
|
||||||
# 2020-02-16: SHOULD THIS STANZA GO AWAY IN FUTURE, in favor of 'nextcloud_installed is undefined' test below?
|
- name: "Run 'php {{ nextcloud_root_dir }}/occ status' to determine if Nextcloud is installed (causing INSTALL WIZARD TO FAIL in the next step)"
|
||||||
- name: Use php to determine if Nextcloud is installed (which would cause the install wizard to FAIL in the next step)
|
|
||||||
shell: >
|
shell: >
|
||||||
php {{ nextcloud_root_dir }}/occ status |
|
php {{ nextcloud_root_dir }}/occ status |
|
||||||
gawk '/installed:/ { print $3 }'
|
gawk '/installed:/ { print $3 }'
|
||||||
|
@ -48,10 +47,20 @@
|
||||||
become_user: "{{ apache_user }}"
|
become_user: "{{ apache_user }}"
|
||||||
register: returned
|
register: returned
|
||||||
|
|
||||||
# 3 of 3: New Way In 2020... use --data-dir "{{ nextcloud_data_dir }}"
|
# 3 of 3: NEW WAY IN 2020... use --data-dir "{{ nextcloud_data_dir }}"
|
||||||
# https://docs.nextcloud.com/server/18/admin_manual/installation/command_line_installation.html
|
# https://docs.nextcloud.com/server/latest/admin_manual/installation/command_line_installation.html
|
||||||
# https://docs.nextcloud.com/server/18/admin_manual/configuration_server/occ_command.html#command-line-installation-label
|
# https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html#command-line-installation-label
|
||||||
- name: Run Nextcloud initial install wizard, seeding data dir {{ nextcloud_data_dir }} (IF THIS FAILS, CONSIDER MANUALLY DROPPING MySQL db '{{ nextcloud_dbname }}' THEN RERUN THIS)
|
# ...page lists alternative 'occ' commands. If Nextcloud's already installed,
|
||||||
|
# attempting 'maintenance:install' (below) also lists these options:
|
||||||
|
# app:install
|
||||||
|
# maintenance:data-fingerprint
|
||||||
|
# maintenance:mimetype:update-db
|
||||||
|
# maintenance:mimetype:update-js
|
||||||
|
# maintenance:mode
|
||||||
|
# maintenance:repair
|
||||||
|
# maintenance:theme:update
|
||||||
|
# maintenance:update:htaccess
|
||||||
|
- name: Run Nextcloud initial install wizard, seeding data dir {{ nextcloud_data_dir }} (IF THIS FAILS, CONSIDER 'sudo mysql' THEN 'DROP DATABASE {{ nextcloud_dbname }};' THEN RERUN THIS)
|
||||||
shell: >
|
shell: >
|
||||||
cd {{ nextcloud_root_dir }};
|
cd {{ nextcloud_root_dir }};
|
||||||
php occ maintenance:install
|
php occ maintenance:install
|
||||||
|
@ -64,11 +73,13 @@
|
||||||
--data-dir "{{ nextcloud_data_dir }}"
|
--data-dir "{{ nextcloud_data_dir }}"
|
||||||
become: yes
|
become: yes
|
||||||
become_user: "{{ apache_user }}"
|
become_user: "{{ apache_user }}"
|
||||||
#when: nextcloud_installed is undefined
|
|
||||||
when: returned.stdout == "false" # and nextcloud_enabled
|
when: returned.stdout == "false" # and nextcloud_enabled
|
||||||
|
#when: nextcloud_installed is undefined
|
||||||
|
#args:
|
||||||
|
# creates: "{{ nextcloud_root_dir }}/SOME_FILE" # /library/www/nextcloud/SOME_FILE
|
||||||
|
|
||||||
|
|
||||||
# https://docs.nextcloud.com/server/18/admin_manual/installation/source_installation.html#php-fpm-configuration-notes
|
# https://docs.nextcloud.com/server/latest/admin_manual/installation/source_installation.html#php-fpm-configuration-notes
|
||||||
- name: Set 'clear_env = no' in /etc/php/{{ php_version }}/fpm/pool.d/www.conf
|
- name: Set 'clear_env = no' in /etc/php/{{ php_version }}/fpm/pool.d/www.conf
|
||||||
lineinfile:
|
lineinfile:
|
||||||
path: "/etc/php/{{ php_version }}/fpm/pool.d/www.conf"
|
path: "/etc/php/{{ php_version }}/fpm/pool.d/www.conf"
|
||||||
|
@ -76,7 +87,7 @@
|
||||||
insertafter: ';.*clear_env'
|
insertafter: ';.*clear_env'
|
||||||
line: 'clear_env = no'
|
line: 'clear_env = no'
|
||||||
|
|
||||||
- name: 'Allow Nextcloud access from all hosts and IP addresses (SEE ALSO: /etc/apache2/sites-available/nextcloud.conf)'
|
- name: 'Allow Nextcloud access from all hosts and IP addresses -- SEE ALSO THE OLD WAY: https://github.com/iiab/iiab/blob/master/roles/nextcloud/templates/nextcloud.conf.j2.unused'
|
||||||
command: php {{ nextcloud_root_dir }}/occ config:system:set trusted_domains 1 --value=*
|
command: php {{ nextcloud_root_dir }}/occ config:system:set trusted_domains 1 --value=*
|
||||||
become: yes
|
become: yes
|
||||||
become_user: "{{ apache_user }}"
|
become_user: "{{ apache_user }}"
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# 2021-07-06: NGINX config should be reviewed year-by-year !
|
||||||
|
# https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html
|
||||||
|
|
||||||
# 2020-02-16: Customized from template...thanks to @m_anish:
|
# 2020-02-16: Customized from template...thanks to @m_anish:
|
||||||
#
|
#
|
||||||
# https://docs.nextcloud.com/server/18/admin_manual/installation/nginx.html#nextcloud-in-a-subdir-of-nginx
|
# https://docs.nextcloud.com/server/18/admin_manual/installation/nginx.html#nextcloud-in-a-subdir-of-nginx
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
* jupyterhub
|
* jupyterhub
|
||||||
* lokole
|
* lokole
|
||||||
* moodle
|
* moodle
|
||||||
|
* nextcloud
|
||||||
* nodered
|
* nodered
|
||||||
* OER2Go/RACHEL modules
|
* OER2Go/RACHEL modules
|
||||||
* osm-vector-maps
|
* osm-vector-maps
|
||||||
|
@ -34,7 +35,6 @@
|
||||||
* kolibri
|
* kolibri
|
||||||
* mediawiki
|
* mediawiki
|
||||||
* munin
|
* munin
|
||||||
* nextcloud
|
|
||||||
* sugarizer
|
* sugarizer
|
||||||
* wordpress
|
* wordpress
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue