Add file 'README.install-notify_push'.
This commit is contained in:
parent
02084f7c2f
commit
614a499671
145
README.install-notify_push
Normal file
145
README.install-notify_push
Normal file
@ -0,0 +1,145 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# ---
|
||||
# Nextcloud High Performance Backend für Dateien (notify_push) einrichten
|
||||
# ---
|
||||
|
||||
|
||||
# see:
|
||||
# https://github.com/nextcloud/notify_push
|
||||
# https://apfelcast.com/nextcloud-high-performance-backend-fuer-dateien-einrichten-schritt-fuer-schritt-anleitung/
|
||||
# https://www.youtube.com/watch?v=jMCI7hFAU1Y
|
||||
|
||||
HTTP_USER="www-data"
|
||||
|
||||
PHP_BIN="/usr/local/php/bin/php"
|
||||
|
||||
PHP_VERSION=8.3
|
||||
|
||||
# 0 Requirements
|
||||
# ================
|
||||
#
|
||||
# - Nextcloud auf LAMP/LEMP Stack
|
||||
# LAMP - (Linux Apache MySQL PHP)
|
||||
# LEMP - (Linux Nginx MySQL PHP)
|
||||
#
|
||||
# - Redis Memory Caching Service
|
||||
|
||||
WEBSITE="cloud-test.oopen.de"
|
||||
WEBSITE="cloud-02-test.oopen.de"
|
||||
WEBSITE="cloud-01.oopen.de"
|
||||
|
||||
WEB_BASE_DIR="/var/www/${WEBSITE}"
|
||||
NC_INSTALL_DIR="${WEB_BASE_DIR}/nextcloud"
|
||||
|
||||
IPv4="$(dig +short "${WEBSITE}" A)"
|
||||
IPv6="$(dig +short "${WEBSITE}" AAAA)"
|
||||
|
||||
# 1 Install NC App 'Client Push"
|
||||
# ================================
|
||||
#
|
||||
# Instead of using the 'occ' command, the 'Client Push' APP
|
||||
# can also be installed via the Nextcloud web interface (Nextcloud Appstore).
|
||||
#
|
||||
sudo -u ${HTTP_USER} ${PHP_BIN} ${WEB_BASE_DIR}/htdocs/occ app:install notify_push
|
||||
|
||||
|
||||
# 2 Configure ReversProxy
|
||||
# =========================
|
||||
#
|
||||
|
||||
# 2a Apache
|
||||
#
|
||||
a2enmod proxy
|
||||
a2enmod proxy_http
|
||||
a2enmod proxy_wstunnel
|
||||
|
||||
|
||||
# Add to your apache2 vhost configuration
|
||||
#
|
||||
# ProxyPass /push/ws ws://127.0.0.1:7867/ws
|
||||
# ProxyPass /push/ http://127.0.0.1:7867/
|
||||
# ProxyPassReverse /push/ http://127.0.0.1:7867/
|
||||
|
||||
|
||||
# restart apache2
|
||||
#
|
||||
systemctl restart apache2
|
||||
|
||||
|
||||
# 2b Nginx
|
||||
|
||||
# Add to your nginx vhost configuration
|
||||
#
|
||||
# location ^~ /push/ {
|
||||
# proxy_pass http://127.0.0.1:7867/;
|
||||
# proxy_http_version 1.1;
|
||||
# proxy_set_header Upgrade $http_upgrade;
|
||||
# proxy_set_header Connection "Upgrade";
|
||||
# proxy_set_header Host $host;
|
||||
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
# }
|
||||
|
||||
# reload nginx
|
||||
#
|
||||
nginx -s reload
|
||||
|
||||
|
||||
# 3 Configure NC - add truzsted proxy (IPv4 AND if exists IPv6 address to trusted proxies)
|
||||
# ==========================================================================================
|
||||
#
|
||||
# 'trusted_proxies' =>
|
||||
# array (
|
||||
# 0 => '${IPv4}',
|
||||
# 1 => '${IPv6}',
|
||||
# )
|
||||
_parameter="trusted_proxies"
|
||||
_type="string"
|
||||
_value="${IPv4}"
|
||||
sudo -u ${HTTP_USER} ${PHP_BIN} ${WEB_BASE_DIR}/htdocs/occ config:system:set ${_parameter} 0 \
|
||||
--value="${_value}" --type="${_type}"
|
||||
|
||||
_value="${IPv6}"
|
||||
sudo -u ${HTTP_USER} ${PHP_BIN} ${WEB_BASE_DIR}/htdocs/occ config:system:set ${_parameter} 1 \
|
||||
--value="${_value}" --type="${_type}"
|
||||
|
||||
systemctl restart php-${PHP_VERSION}-fpm
|
||||
|
||||
|
||||
# 4 Create Service 'notify_push'
|
||||
# ================================
|
||||
#
|
||||
cat <<EOF > /etc/systemd/system/notify_push.service
|
||||
[Unit]
|
||||
Description = Push daemon for Nextcloud clients
|
||||
Documentation=https://github.com/nextcloud/notify_push
|
||||
|
||||
[Service]
|
||||
# Change if you already have something running on this port
|
||||
Environment=PORT=7867
|
||||
Environment=NEXTCLOUD_URL=https://${WEBSITE}
|
||||
ExecStart=${NC_INSTALL_DIR}/apps/notify_push/bin/x86_64/notify_push ${NC_INSTALL_DIR}/config/config.php
|
||||
# requires the push server to have been build with the systemd feature (enabled by default)
|
||||
Type=notify
|
||||
User=${HTTP_USER}
|
||||
Restart=always
|
||||
RestartSec=60
|
||||
|
||||
[Install]
|
||||
WantedBy = multi-user.target
|
||||
EOF
|
||||
|
||||
# enable service at boot time
|
||||
#
|
||||
systemctl daemon-reload
|
||||
systemctl enable --now notify_push
|
||||
systemctl start notify_push
|
||||
|
||||
|
||||
# 5. Testing and final Nextcloud configuration
|
||||
# =============================================
|
||||
#
|
||||
sudo -u ${HTTP_USER} ${PHP_BIN} ${WEB_BASE_DIR}/htdocs/occ notify_push:setup
|
||||
|
||||
|
||||
systemctl restart php-8.3-fpm.service
|
Loading…
Reference in New Issue
Block a user