Nextcloud, OnlyOffice,Plesk

Előre kiszólom, nem vagyok webszerver guru, sőt Ubuntu sem meg még hátráltatja a helyzetet, hogy ez az első snap telepítésem, sosem használtam eddig :)

 

Adott egy Ubuntu amin snapból fut a nextcloud és az onlyoffice. Az alap ubira került egy plesk. Ezt kellene konfigurálnom, hogy aldomaineken keresztül mind a három elérhető legyen kb. így:

plesk.xyserver.vmi

cloud.xyserver.vmi

office.xyserver.vmi

Jelenleg az xyserver.vmi a nextcloudot adja. Van cert amit a snapon keresztül hoztam létre (azóta persze nem megy az onlyoffice, hiányolja a biztonságos kapcsolatot). Gondolom ezt kellene valahogy mind a 3 szolgáltatáshoz linkelnem, hogy ne kelljen 3 helyen karbantartani. Ha fut a nextcloud, a plesk nem elérhető, illetve jelenleg sehogy. Van mentésem, vissza tudok állni arra a pontra, ahol nincs cert és meg a két snap, de sehogy nem akar összejönni, hogy mind a három menjen.

Kérnék egy kis segítséget magyarázattal, hogy mit hol és nagyjából miért kell konfigurálni.

Köszönöm!

Hozzászólások

konfigok?
valoszinuleg ugyan azt a portot akarjak hasznalni azert nem indul.
ha aldomaineket akarsz akkor az elsodleges webkiszolgalodnak ismernie kell a location-ket amiket megfelelo headerekkel tovabb ad localhost:1000, :2000 stb cimekre

A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/

A nextcloud 81 és 444-es porton fut, az onlyoffice a 8888-on, a plesk helyett webminre váltottam (kívánságra) ami elvileg a 10000-et használja. Az alap nextcloudot átettem ezekre a portokra, hogy ne ő legyen az alapértelmezett, ez is volt a terv, hogy a cloud.xyserver.vmi címen legyen elérhető. A szerver elérhető a címén, de minden beírt címre az alap statikus html oldal jön be, mindegy, hogy mi áll a xyserver.vmi előtt.

Konfigon gondolom az apache konfigjait érted, ott kellene az átirányításnak lennie. 

admin:

<VirtualHost *:80>
ServerAdmin joh*******@*******.de
ServerName admin.******.de
ProxyPass / http://127.0.0.1:10000/
ProxyPassReverse / http://127.0.0.1:10000/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin joh******@*******.de
ServerName admin.*******.de
ProxyPass / https://127.0.0.1:10000/
ProxyPassReverse / https://127.0.0.1:10000/
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/admin.********.de/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/admin.*********.de/privkey.pem
</VirtualHost>

cloud:

<VirtualHost *:80>
  ServerName cloud.*******.de
  ErrorLog ${APACHE_LOG_DIR}/nextcloud-error.log
  CustomLog ${APACHE_LOG_DIR}/nextcloud-access.log combined
  ProxyPreserveHost On
  ProxyRequests Off
  ProxyPass / http://127.0.0.1:81/
  ProxyPassReverse / http://127.0.0.1:81/
  RewriteEngine On
  RewriteRule ^/\.well-known/carddav http://%{SERVER_NAME}/remote.php/dav/ [R=301,L]
  RewriteRule ^/\.well-known/caldav http://%{SERVER_NAME}/remote.php/dav/ [R=301,L]
</VirtualHost>

<VirtualHost *:443>
  ServerName cloud.********.de
  ErrorLog ${APACHE_LOG_DIR}/nextcloud-error.log
  CustomLog ${APACHE_LOG_DIR}/nextcloud-access.log combined
  SSLEngine On
  ProxyPreserveHost On
  ProxyRequests Off
  ProxyPass    / https://127.0.0.1:444/
  ProxyPassReverse / https://127.0.0.1:444/
  # Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
  RewriteEngine On
  RewriteRule ^/\.well-known/carddav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]
  RewriteRule ^/\.well-known/caldav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]
  SSLCertificateFile    /etc/letsencrypt/live/admin.********.de/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/admin.********.de/privkey.pem
</VirtualHost>

office:

<VirtualHost *:443>
  ServerName office.******.de
  SSLEngine on
  SSLProxyEngine on
  SSLProxyVerify none
  SSLProxyCheckPeerCN off
  SSLProxyCheckPeerName off
  
  SSLCertificateFile /etc/letsencrypt/live/admin.******.de/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/admin.******.de/privkey.pem
  Include /etc/letsencrypt/options-ssl-apache.conf
  
  ProxyPreserveHost On
  ProxyPass / https://127.0.0.1:8888/
  ProxyPassReverse / https://127.0.0.1:8888/
</VirtualHost>

A snap által telepített konfigokhoz nem nyúltam, kivéve a portokat (és custom cert, de addig el sem jutok már, hogy releváns legyen):

sudo snap set onlyoffice-ds onlyoffice.ds-port=8888
sudo snap set nextcloud ports.http=81 ports.https=444

ezeket a konfigokat úgy vadásztam össze a githubon.

„- Mindig azt akartam, hogy a számítógépem ugyanolyan könnyen használható legyen, mint a telefonom. A kívánságom valóra vált. Már nem tudom, hogyan kell használni a telefonomat.”

dzsolt

első ránézésre jónak tűnik. én ezen mennék végig:
https://httpd.apache.org/docs/2.4/vhosts/name-based.html

valamint én Location-el oldanám meg. 

A ServerName kapcsán ha jóltudom, az apache daemon-nak fel kell tudnia oldania. Azt viszont nem tudom h ehhez a hosts fájlt használja vagy a DNS-t is.

A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/

Köszönöm, olvasgatom, de (még mindig amatőr vagyok a webszerverek terén):

Location: ez egy elérési út megadása lenne ahol a szolgáltatás fut, nem? Kb. valahogy így:

<Location /nextcloud>
 Order Allow,Deny
 Allow from 127.0.0.1
</Location>

Alias /nextcloud /var/snap/nextcloud/elérési/útja/html-gyökere"

<Directory "/var/snap/nextcloud/elérési/útja/html-gyökere">
 AllowOverride All
</Directory>

Ha jól értem ez működik ha az épp konfigurált apache szolgálja ki amúgy a /var/snap/nextcloud/elérési/útja/html oldalt. Az én esetemben a snapben van egy másik apache illetve az onlyoffice mintha nginx-el menne, tehát ott csak proxy-zni kellene (illetve eddig így gondoltam). Lehet, hogy az egészet nem jól értelmezem, de a location akkor jó ha az alaprendszer a nextcloud kiszolgálója.

(amúgy közben egyezkedek, hogy az egész vacak webmin/plesk/egyéb mizériát kib...hassam a pi...ba. A „tökéletes” kollégám nem érti (mert nem akarja), hogy egy szervernek nem kell gui, tanulja meg azt a pár parancsot ami mondjuk maximum 15-20, ahhoz hogy naprakészen tarthassa a szerverét ami amúgy az ágya alatt van. Nem egy produktion szerver lesz, csak tanulásra és a saját adatai tárolására akarja használni lokál backuppal. Jelenleg több időt pocsékoltam erre, mint az összes többire. Igaz, közben tanulok valamit...)

„- Mindig azt akartam, hogy a számítógépem ugyanolyan könnyen használható legyen, mint a telefonom. A kívánságom valóra vált. Már nem tudom, hogyan kell használni a telefonomat.”

dzsolt

aham, oke amikor https-re proxyzol akkor ez kell

RequestHeader set X-Forwarded-Proto: "https"

 

mivel 80 portrol mesz masik portra ahol https traffic kezelesz.

ha nagyon nem megy akkor hasznald ezt:
https://sites.google.com/site/jimmyxu101/testing/use-tcpdump-to-monitor…

ha nem latod mert https akkor
-> vedd le a https-t amig a sima proxy-t nem rakod ossze

vagy

-> https://unit42.paloaltonetworks.com/wireshark-tutorial-decrypting-https…
    https://www.wireshark.org/docs/wsug_html_chunked/AppToolstcpdump.html

igy latod h milyen headert es valaszt kapsz a cel kiszolgalotol.

A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/

Mivel a konfigok jónak tűnnek, szerintem a Network Bridge amit keresel. Ha szeretnéd, hogy a snap/lxd/docker/whatever -ben futó alkalmazásod elérje a világhálót ezt kell beállítanod. Persze lehet, hogy félreértettem valamit, akkor bocs, ha okoskodtam. :)

Passz, lehet, hogy igazad van, bár ha a portokat megnyitom (server.de:81 a NC, vagy :8888 az OO), elérhetőek a snap-ban futó alkalmazások minden bűvészkedés nélkül. Ez nem igaz a Plesk/Webminre valamiért, ezek nem hagyj(t)ák magukat ilyen könnyen, de igazából (egy vita után) feladtam :) Ott kezdődött a vita, hogy a tulaja szerint az a baj, hogy nincs grafikus felülete a szervernek, ezért nem megy! Na ez volt az utolsó pont amikor beszéltem vele (egyébként képzett rendszerintegrátor és azt hiszi, hogy a linux is windows csak szarabb. Ezt így, szó szerint!). Bár érdekelne a megoldás, jelenleg nincs hozzáférésem egyetlen nyilvános IP-vel rendelkező géphez sem, így ez valamikor január-február környékén lesz aktuális, amikor csomagot váltok és az én ágyam alatt is lesz egy elérhető „jáccósgép” :)

„- Mindig azt akartam, hogy a számítógépem ugyanolyan könnyen használható legyen, mint a telefonom. A kívánságom valóra vált. Már nem tudom, hogyan kell használni a telefonomat.”

dzsolt