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.

„Niemand ist unnütz! Man kann immer noch als schlechtes Beispiel dienen!”

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...)

„Niemand ist unnütz! Man kann immer noch als schlechtes Beispiel dienen!”

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” :)

„Niemand ist unnütz! Man kann immer noch als schlechtes Beispiel dienen!”

dzsolt