Koozali.org: home of the SME Server

Collabora pour nextcloud

Offline pat

  • *
  • 22
  • +0/-0
Re: Collabora pour nextcloud
« Reply #15 on: March 20, 2022, 09:59:44 PM »
Je serai preneur aussi !

Nice work Mike.

Can you wiki any of it? I hadn't seen anything about it before.

Offline Jean-Philippe Pialasse

  • *
  • 2,747
  • +11/-0
  • aka Unnilennium
    • http://smeserver.pialasse.com
Re: Collabora pour nextcloud
« Reply #16 on: March 20, 2022, 11:28:42 PM »
le proxypass marchera seulememt si tu ne configure pas le domaine avec le type domaine. sinon cela pointera effectivememt sur ton ibay Primary. 

Offline pat

  • *
  • 22
  • +0/-0
Re: Collabora pour nextcloud
« Reply #17 on: March 21, 2022, 04:07:10 AM »
Merci Jean-Philippe.
Comme tu l'avais expliqué, je ne l'ai donc pas fait..Mais du coup cela m'ouvre une autre possibilité : j'ai remarqué que si je crée un domaine qui pointe sur le serveur, ça va automatiquement sur le primary.
Je regarde ça tout à l'heure

Offline Jean-Philippe Pialasse

  • *
  • 2,747
  • +11/-0
  • aka Unnilennium
    • http://smeserver.pialasse.com
Re: Collabora pour nextcloud
« Reply #18 on: March 21, 2022, 11:54:07 AM »
Primary est la racine du serveur web, si rien n’est defini où qu’un virtualhost est defini pour pointer vers lui pour ce domaine c’est donc cette racine qui est affiché.

ensuite httpd.conf a un comportement de derniere définition l’emporte sur les précédente, sauf certains cas particulier où   un type l’emportera sur un autre. 


dans le cas de VirtualHost par exemple c’est l’opposé, le premier a priorité et c’est là que celui pour ibay arrive avant. 


Code: [Select]

If the request contains a Host: header field, the list is searched for the first vhost with a matching ServerName or ServerAlias, and the request is served from that vhost.


et tu risque de voir une erreur dans error_log du type

Code: [Select]

[warn] VirtualHost overlap on port 443, the first has precedence


Offline pat

  • *
  • 22
  • +0/-0
Re: Collabora pour nextcloud
« Reply #19 on: March 21, 2022, 08:25:24 PM »
Ok j'essaye de comprendre :

J'ai une requête qui arrive sur mon domaine principal sur la sme.

Là, si j'ai un ebay de prévu, ca la route dessus.

Si je n'ai pas d'ebay ca route vers la primary qui est l'ebay par défaut.
sauf que si j'ai un virtualhost qui existe, bascule vers ce site.

Ainsi dans /home/e-smith/db/domains j'ai pu voir pour nextcloud cette ligne :
cloud.domain.com=domain|Content|Primary|Description|Nextcloud|DocumentRoot|/usr/share/nextcloud|Nameservers|internet|RequireSSL|enable|TemplatePath|WebAppVirtualHost|letsencryptSSLcert|enabled

Je pense que c'est WebAppVirtualHost qui fait le reverse proxy
D'ailleurs, quelle est la différence avec ProxyPassVirtualHosts ?
J'ai remarqué par ailleurs que le virtualhost pour collabora.domain.com arrivait après tous les autres. Ca aurait un effet donc ?

Offline ReetP

  • *
  • 3,722
  • +5/-0
Re: Collabora pour nextcloud
« Reply #20 on: March 22, 2022, 01:37:43 AM »
Unless you accept the default settings eg leave nextcloud at

https://my.server.net/nextcloud

then you really need to start reading templates and understanding more advanced SME workings.

Start by reading through the templates in /etc/e-smith/templates.

You should also get a testbox so you can play.

Essentially if you add this to a domain

chat.mycompany.local=domain
  Nameservers=internet (can be localhost)
  ProxyPassTarget=http://127.0.0.1:3000/
  TemplatePath=ProxyPassVirtualMyHost
  letsencryptSSLcert=enabled (with letsencrypt support)

You can add custom templates for your own virtual host in:

/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/ProxyPassVirtualMyHost

(You can start by copying over the existing stock  virtual history directory)

You can search for ProxyPassVirtualHosts on the wiki.

https://wiki.koozali.org/Rocket_Chat:Contrib#Apache_SSL_with_Proxypass

https://wiki.koozali.org/SME_Server:Documentation:ProxyPass
...
1. Read the Manual
2. Read the Wiki
3. Don't ask for support on Unsupported versions of software
4. I have a job, wife, and kids and do this in my spare time. If you want something fixed, please help.

Bugs are easier than you think: http://wiki.contribs.org/Bugzilla_Help

If you love SME and don't want to lose it, join in: http://wiki.contribs.org/Koozali_Foundation

Offline Jean-Philippe Pialasse

  • *
  • 2,747
  • +11/-0
  • aka Unnilennium
    • http://smeserver.pialasse.com
Re: Collabora pour nextcloud
« Reply #21 on: March 22, 2022, 05:39:54 AM »
Ok j'essaye de comprendre :

J'ai une requête qui arrive sur mon domaine principal sur la sme.

Là, si j'ai un ebay de prévu, ca la route dessus.

Si je n'ai pas d'ebay ca route vers la primary qui est l'ebay par défaut.
sauf que si j'ai un virtualhost qui existe, bascule vers ce site.

Ainsi dans /home/e-smith/db/domains j'ai pu voir pour nextcloud cette ligne :
cloud.domain.com=domain|Content|Primary|Description|Nextcloud|DocumentRoot|/usr/share/nextcloud|Nameservers|internet|RequireSSL|enable|TemplatePath|WebAppVirtualHost|letsencryptSSLcert|enabled

Je pense que c'est WebAppVirtualHost qui fait le reverse proxy
D'ailleurs, quelle est la différence avec ProxyPassVirtualHosts ?
J'ai remarqué par ailleurs que le virtualhost pour collabora.domain.com arrivait après tous les autres. Ca aurait un effet donc ?

nextcloud utilise la propriété
TemplatePath
cela indique au template d'au lieu d'utiliser le sous template (lire sous dossier)  VirtualHosts/ pour créer un virtualhost, de choisir plutot le sous template WebAppVirtualHost
Actuellement nous en avons 3 possible, mais rien ne t'empeche de creer le tiens ... ProxyPassVirtualHosts/ VirtualHosts/ et
WebAppVirtualHost/

Habituellement si tu utilises ProxyPassVirtualHosts/ il te faut aussi definir d'autre propriétés pour indiquer vers où pointe ton Proxy http

Dans le cas de collabora, un fragment de template a été créé pour faire le travail d'un sous template appelé par le fragment 80VirtualHosts dans /etc/e-smith/templates/etc/httpd/conf/httpd.conf/

dans ce fragment  80VirtualHosts qui appelle ces fameux sous templates,   tu peux lire clairement
Code: [Select]
my @domains = $db->get_all_by_prop('type' => 'domain');ce qui veut dire sélectionnons toutes les entrées du type "domain"

dans le cas de let's encrypt / dehydrated nous selectionnons toutes les entrées de la base domain quelque soit le type,
Code: [Select]
my @domains = $domainsDB->keys;
Collabora utililise le fragment suivant a la place
80VirtualHostsCollabora; mais il tu dosi bien renseigner le domaine dans la propriété VirtualHost de  la clef coolwsd de la base configuration pour que ce template soit utilisé

en résumé ton domaine collabora doit etre, comme indiqué dans le wiki : 

Code: [Select]
# creation du domaine pour qu'il soit vu par dehydrated et soit dans le certificat SSL
db domain set collabora.mydomain.com domainle Content Primary Description collabora Nameservers internet  letsencryptSSLcert enabled
signal-event domain-create collabora.mydomain.com
expand-template /etc/dehydrated/domains
dehydrated -c

#creation du d Virtualhost dedié dans le serveur apache.
db configuration setprop coolwsd VirtualHost collabora.mondomaine.com
signal-event smeserver-collabora-update


le port 9980 n'est pas accessible volontairement de l'exterieur de ton serveur, car ton serveur apache le retranscrit sur le port 443 protégé par sa connexion securisée.

Offline Jean-Philippe Pialasse

  • *
  • 2,747
  • +11/-0
  • aka Unnilennium
    • http://smeserver.pialasse.com
Re: Collabora pour nextcloud
« Reply #22 on: March 23, 2022, 04:46:56 AM »
nouvelle version en construction, il y avait effectivement une subtilité dans le besoin de nextcloud de pouvoir resoudre le domaine de collabora, il faut donc un vrai domaine dans la db domains


j'ai donc déplacé le fragment de collabora poru que cela ne fasse pas plusieurs virtualhost pour le domaine :

Code: [Select]
MYDOMAIN="collabora.mydomain.com"
config setprop coolwsd VirtualHost $MYDOMAIN
db domains set $MYDOMAIN domain Content Primary Description collabora Nameservers internet  letsencryptSSLcert enabled TemplatePath Collabora Nameservers internet
signal-event domain-create $MYDOMAIN
expand-template /etc/dehydrated/domain.txt
dehydrated -c
signal-event smeserver-collabora-update

aussi j'Ai vu qu'il manque un fragment a let's encrypt pour permettre la validation du domaine ssl pour nextcloud

Offline pat

  • *
  • 22
  • +0/-0
Re: Collabora pour nextcloud
« Reply #23 on: March 23, 2022, 09:39:47 PM »
Je suis donc allé sur https://wiki.koozali.org/Nextcloud et j'ai vu que tu avais fait des modifs. J'ai un doute pour cette ligne, on dirait qu'il y a une valeur en trop:
Code: [Select]
# this line is to have collabora recognize the domain
config setprop nextcloud CloudDomain  VirtualHost $NEXTCLOUDDOMAIN

De même que dans cette ligne du post précédent :
Code: [Select]
db domains set $MYDOMAIN domain Content Primary Description collabora Nameservers internet  letsencryptSSLcert enabled TemplatePath Collabora Nameservers internetn'y a t il pas un "Nameservers internet" en trop ? (je ne pense pas que cela ait une influence)


Offline Jean-Philippe Pialasse

  • *
  • 2,747
  • +11/-0
  • aka Unnilennium
    • http://smeserver.pialasse.com
Re: Collabora pour nextcloud
« Reply #24 on: March 23, 2022, 10:08:41 PM »
merci c'est corrigé
effectivement pas d'influence pour le deuxieme

Offline pat

  • *
  • 22
  • +0/-0
Re: Collabora pour nextcloud
« Reply #25 on: March 25, 2022, 09:57:39 PM »
Bonjour Jean-Philippe,
Tout d'abord merci pour le travail effectué.
J'ai voulu désinstaller collabora pour refaire une installation de A à Z.
J'ai meme retiré tous les fichiers coolwsd et toutes les données qui n'ont pas été supprimées par
Code: [Select]
yum remove smeserver-collabora  collabora
Puis j'ai voulu faire l'install à nouveau en suivant le wiki. Sauf que cela ne télécharge que de petits fichiers de moins de 20k et ca n'installe pas /etc/coolwsd entre autre
De mémoire c'est un gros fichier qui doit faire plus de 150 mo. Dois-je l'installer directement de collabora ?
Si c'est le cas, il faudrait peut être l'indiquer dans le wiki

Offline ReetP

  • *
  • 3,722
  • +5/-0
Re: Collabora pour nextcloud
« Reply #26 on: March 25, 2022, 10:54:52 PM »
Have you got the collabora repo installed?

Code: [Select]
yum install smeserver-extrarepositories-collaboraoffice
...
1. Read the Manual
2. Read the Wiki
3. Don't ask for support on Unsupported versions of software
4. I have a job, wife, and kids and do this in my spare time. If you want something fixed, please help.

Bugs are easier than you think: http://wiki.contribs.org/Bugzilla_Help

If you love SME and don't want to lose it, join in: http://wiki.contribs.org/Koozali_Foundation

Offline pat

  • *
  • 22
  • +0/-0
Re: Collabora pour nextcloud
« Reply #27 on: March 26, 2022, 07:47:25 AM »
Have you got the collabora repo installed?

Code: [Select]
yum install smeserver-extrarepositories-collaboraoffice

yes but this is a 19ko package !
« Last Edit: March 26, 2022, 07:52:10 AM by pat »

Offline ReetP

  • *
  • 3,722
  • +5/-0
Re: Collabora pour nextcloud
« Reply #28 on: March 26, 2022, 12:22:03 PM »
yes but this is a 19ko package !

What do you expect?

It ONLY sets up the repository details. It doesn't install Collabora....

Hence 'extra repositories'.
...
1. Read the Manual
2. Read the Wiki
3. Don't ask for support on Unsupported versions of software
4. I have a job, wife, and kids and do this in my spare time. If you want something fixed, please help.

Bugs are easier than you think: http://wiki.contribs.org/Bugzilla_Help

If you love SME and don't want to lose it, join in: http://wiki.contribs.org/Koozali_Foundation

Offline Jean-Philippe Pialasse

  • *
  • 2,747
  • +11/-0
  • aka Unnilennium
    • http://smeserver.pialasse.com
Re: Collabora pour nextcloud
« Reply #29 on: March 26, 2022, 10:09:02 PM »
J'ai voulu désinstaller collabora pour refaire une installation de A à Z.
J'ai meme retiré tous les fichiers coolwsd et toutes les données qui n'ont pas été supprimées par
Code: [Select]
yum remove smeserver-collabora  collabora

Code: [Select]
Installation   1 Paquet (+17 Paquets en dépendance)

Taille totale des téléchargements : 252 M
Taille d'installation : 714 M

ce qui m'inquiete c'est comment as tu "retiré tous les fichiers coolwsd et toutes les données qui n'ont pas été supprimées par yum remove smeserver-collabora  collabora"

un rm ? qui a retirer des fichiers qui appartienennt à des rpm sans desinstaller ces rpms ?

tu as installé 18 paquets, mais tu en désinstalle que 1 (il n'y a aucun paquet s’appelant collabora) , mais je vois que le problème vient du wiki...
je le mets à jour

Code: [Select]
yum remove smeserver-collabora  CODE-brand collaboraoffice collaboraoffice-* collaboraofficebasis-* coolwsd

au passage merci pour ton temps à tout vérifier et à déboguer !