[Libreoffice-commits] online.git: Branch 'distro/collabora/collabora-online-3' - etc/apache2 etc/nginx loolwsd.spec.in Makefile.am
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Thu Nov 8 21:05:52 UTC 2018
Makefile.am | 10 ++++++++++
etc/apache2/loolwsd.conf | 31 +++++++++++++++++++++++++++++++
etc/nginx/loolwsd.conf | 35 +++++++++++++++++++++++++++++++++++
loolwsd.spec.in | 13 +++++++++++++
4 files changed, 89 insertions(+)
New commits:
commit 9e9ebceb62c6a07c841e529bca98a37fe5462d71
Author: Andras Timar <andras.timar at collabora.com>
AuthorDate: Thu Sep 20 10:18:57 2018 +0200
Commit: Michael Meeks <michael.meeks at collabora.com>
CommitDate: Thu Nov 8 22:05:33 2018 +0100
nginx and apache2 reverse proxy sample config snippets
Change-Id: I0bb5a1b1e9ef8a72c2c100c6cbf9acb7e62e591a
Reviewed-on: https://gerrit.libreoffice.org/62973
Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
Tested-by: Michael Meeks <michael.meeks at collabora.com>
diff --git a/Makefile.am b/Makefile.am
index 42e3839cb..291fd07b0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -29,6 +29,14 @@ loolwsdconfigdir = @LOOLWSD_CONFIGDIR@
loolwsdconfig_DATA = loolwsd.xml \
loolkitconfig.xcu
+apache2configdir = ${sysconfdir}/apache2/conf-available
+
+apache2config_DATA = etc/apache2/loolwsd.conf
+
+nginxconfigdir = ${sysconfdir}/nginx/snippets
+
+nginxconfig_DATA = etc/nginx/loolwsd.conf
+
ACLOCAL_AMFLAGS = -I m4
# quick and easy for now.
@@ -234,6 +242,8 @@ EXTRA_DIST = discovery.xml \
etc/key.pem \
etc/cert.pem \
etc/ca-chain.cert.pem \
+ etc/apache2/loolwsd.conf \
+ etc/nginx/loolwsd.conf \
scripts/unocommands.py \
$(man_MANS)
diff --git a/etc/apache2/loolwsd.conf b/etc/apache2/loolwsd.conf
new file mode 100644
index 000000000..10b66b47f
--- /dev/null
+++ b/etc/apache2/loolwsd.conf
@@ -0,0 +1,31 @@
+# Apache2 reverse proxy configuration for Collabora Online / LibreOffice Online
+# Internet <-- SSL --> Reverse Proxy <-- No SSL --> loolwsd
+# Make sure that you enable the following Apache2 modules: proxy, proxy_wstunnel, and proxy_http.
+# Create a virtual host for Collabora Online / LibreOffice Online and include this configuration file.
+
+ Options -Indexes
+
+ # Encoded slashes need to be allowed
+ AllowEncodedSlashes NoDecode
+
+ # keep the host
+ ProxyPreserveHost On
+
+ # static html, js, images, etc. served from loolwsd
+ # loleaflet is the client part of LibreOffice Online
+ ProxyPass /loleaflet http://127.0.0.1:9980/loleaflet retry=0
+ ProxyPassReverse /loleaflet http://127.0.0.1:9980/loleaflet
+
+ # WOPI discovery URL
+ ProxyPass /hosting/discovery http://127.0.0.1:9980/hosting/discovery retry=0
+ ProxyPassReverse /hosting/discovery http://127.0.0.1:9980/hosting/discovery
+
+ # Main websocket
+ ProxyPassMatch "/lool/(.*)/ws$" ws://127.0.0.1:9980/lool/$1/ws nocanon
+
+ # Admin Console websocket
+ ProxyPass /lool/adminws ws://127.0.0.1:9980/lool/adminws
+
+ # Download as, Fullscreen presentation and Image upload operations
+ ProxyPass /lool http://127.0.0.1:9980/lool
+ ProxyPassReverse /lool http://127.0.0.1:9980/lool
diff --git a/etc/nginx/loolwsd.conf b/etc/nginx/loolwsd.conf
new file mode 100644
index 000000000..f55f8829b
--- /dev/null
+++ b/etc/nginx/loolwsd.conf
@@ -0,0 +1,35 @@
+ # static files
+ location ^~ /loleaflet {
+ proxy_pass http://localhost:9980;
+ proxy_set_header Host $http_host;
+ }
+
+ # WOPI discovery URL
+ location ^~ /hosting/discovery {
+ proxy_pass http://localhost:9980;
+ proxy_set_header Host $http_host;
+ }
+
+ # main websocket
+ location ~ ^/lool/(.*)/ws$ {
+ proxy_pass http://localhost:9980;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection "Upgrade";
+ proxy_set_header Host $http_host;
+ proxy_read_timeout 36000s;
+ }
+
+ # download, presentation and image upload
+ location ~ ^/lool {
+ proxy_pass http://localhost:9980;
+ proxy_set_header Host $http_host;
+ }
+
+ # Admin Console websocket
+ location ^~ /lool/adminws {
+ proxy_pass http://localhost:9980;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection "Upgrade";
+ proxy_set_header Host $http_host;
+ proxy_read_timeout 36000s;
+ }
diff --git a/loolwsd.spec.in b/loolwsd.spec.in
index 531857bf4..78e56c1ca 100644
--- a/loolwsd.spec.in
+++ b/loolwsd.spec.in
@@ -126,6 +126,11 @@ install -D -m 644 sysconfig.loolwsd %{buildroot}/etc/sysconfig/loolwsd
install -D -m 444 loolwsd.service %{buildroot}%{_unitdir}/loolwsd.service
install -D -m 644 sysconfig.loolwsd %{buildroot}/var/adm/fillup-templates
%endif
+%if 0%{?rhel} > 0
+install -d -m 755 %{buildroot}/etc/httpd/conf
+install -D -m 755 etc/apache2/loolwsd.conf %{buildroot}/etc/httpd/conf
+rm %{buildroot}/etc/apache2/conf-available/loolwsd.conf
+%endif
mkdir -p %{buildroot}/etc/cron.d
echo "#Remove old tiles once every 10 days at midnight" > %{buildroot}/etc/cron.d/loolwsd.cron
echo "0 0 */1 * * root find /var/cache/loolwsd -type f -a -atime +10 -exec rm {} \;" >> %{buildroot}/etc/cron.d/loolwsd.cron
@@ -168,6 +173,14 @@ echo "account required pam_unix.so" >> %{buildroot}/etc/pam.d/loolwsd
%config(noreplace) /etc/pam.d/loolwsd
%config(noreplace) %attr(640, lool, root) /etc/loolwsd/loolwsd.xml
%config /etc/loolwsd/loolkitconfig.xcu
+%config(noreplace) /etc/nginx/snippets/loolwsd.conf
+%if 0%{?suse_version} > 0
+%config(noreplace) /etc/apache2/conf-available/loolwsd.conf
+%endif
+%if 0%{?rhel} > 0
+%config(noreplace) /etc/httpd/conf/loolwsd.conf
+%endif
+
%doc README
More information about the Libreoffice-commits
mailing list