Navigation

    Kopano
    • Register
    • Login
    • Search
    • Categories
    • Get Official Kopano Support
    • Recent
    Statement regarding the closure of the Kopano community forum and the end of the community edition

    A nearly working apache config for Meet

    Kopano Meet & WebMeetings
    2
    5
    305
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • mniehren
      mniehren last edited by

      Hi,

      i want to post here my apache config for meet, for all that want to use apache instead of kwebd or nginx. It should be complete.

        # Kopano API
        ProxyPass /api/gc/ http://localhost:8039/api/gc/ retry=0
      
        RewriteCond %{HTTP:Connection} Upgrade [NC]
        RewriteCond %{HTTP:Upgrade} websocket [NC]
        RewriteRule /api/pubs/(.*) ws://localhost:8039/api/pubs/$1 [P,L]
        ProxyPass /api/pubs/ http://localhost:8039/api/pubs/ retry=0
      
        # Kopano Konnect
        ProxyPass /.well-known/openid-configuration http://localhost:8777/.well-known/openid-configuration retry=0
        ProxyPass /konnect/v1/jwks.json http://localhost:8777/konnect/v1/jwks.json retry=0
        ProxyPass /konnect/v1/token http://localhost:8777/konnect/v1/token retry=0
        ProxyPass /konnect/v1/userinfo http://localhost:8777/konnect/v1/userinfo retry=0
        ProxyPass /konnect/v1/static http://localhost:8777/konnect/v1/static retry=0
        ProxyPass /konnect/v1/session http://localhost:8777//konnect/v1/session retry=0
      
        # Kopano Konnect login area
        ProxyPass /signin/ http://localhost:8777/signin/ retry=0
      
        # Kopano Meet
        <Directory /usr/share/kopano-meet>
          Options Indexes FollowSymLinks MultiViews
          Order allow,deny
          Allow from all
          Require all granted
      
          <IfModule mod_expires.c>
            <FilesMatch "service-worker.js$">
              ExpiresActive Off
              Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
              Header set Pragma "no-cache"
            </FilesMatch>
          </IfModule>
        </Directory>
      
        RewriteRule ^/meet/r/(.*)$ /meet [NC]
        Alias /meet /usr/share/kopano-meet/meet-webapp
        Alias /api/config/v1/kopano/meet/config.json /usr/share/kopano-meet/config/kopano/meet.json
      
        RewriteCond %{HTTP:Connection} Upgrade [NC]
        RewriteCond %{HTTP:Upgrade} websocket [NC]
        RewriteRule /api/v1/websocket/(.*) ws://localhost:8778/api/v1/websocket/$1 [P,L]
        ProxyPass /api/v1/websocket/ http://localhost:8778/api/v1/websocket/ retry=0
      
        Proxypass /api/v1/rtm.connect http://localhost:8778/api/v1/rtm.connect retry=0
        Proxypass /api/v1/rtm.turn http://localhost:8778/api/v1/rtm.turn retry=0
      
        RewriteCond %{HTTP:Connection} Upgrade [NC]
        RewriteCond %{HTTP:Upgrade} websocket [NC]
        RewriteRule /api/kwm/v2/(.*) ws://localhost:8778/api/kwm/v2/$1 [P,L]
        ProxyPass /api/kwm/v2/ http://localhost:8778/api/kwm/v2/ retry=0
      
        RewriteCond %{HTTP:Connection} Upgrade [NC]
        RewriteCond %{HTTP:Upgrade} websocket [NC]
        RewriteRule /api/kvs/v1/(.*) ws://localhost:8039/api/kvs/v1/$1 [P,L]
        ProxyPass /api/kvs/v1/ http://localhost:8039/api/kvs/v1/ retry=0
      

      With this config there is 1 issue left: the contact list is not updated. I got no errors in the
      apache log-file. Could that be an caching problem ?

      many greetings to the kopano team for their excellent work
      Michael

      1 Reply Last reply Reply Quote 1
      • longsleep
        longsleep Kopano last edited by

        This config seems a bit strange.

        1. You are mixing ProxyPass and RewriteRule - i would suggest to only use RewriteRule to simplify things
        2. All rules from your config starting with /api/v1/ are obsolete and not used by any reasonably recent Meet version
        3. /api/pubs is not used by Meet
        4. Lots of ProxyPass rules for Kopano Konnect, could be replaced by a single RewriteRule.
        5. Conditional around mandatory caching headers for service-worker.js, remove the condition

        Contacts not updating is not a caching problem. Check all your logs. Contacts might also be empty or only appear on search based on the backend and the number of people in the global addressbook.

        mniehren 1 Reply Last reply Reply Quote 0
        • mniehren
          mniehren last edited by mniehren

          ok, i delete all Proxy-Pass rules where i have an Rewriterule, but i need to have
          ProxyPass /api/kwm/v2/ http://localhost:8778/api/kwm/v2/ retry=0

          Without that rule it does not work.

          if found /api/v1 and /api/pubs in the sources of kwebd, so i thougth we need them.

          so, here is the simplified version:

            # Kopano API
            ProxyPass /api/gc/ http://localhost:8039/api/gc/ retry=0
          
            # Kopano Konnect
            ProxyPass /.well-known/openid-configuration http://localhost:8777/.well-known/openid-configuration retry=0
            RewriteRule /konnect/v1/(.*) http://localhost:8777/konnect/v1/$1 [P,L]
          
            # Kopano Konnect login area
            ProxyPass /signin/ http://localhost:8777/signin/ retry=0
          
            # Kopano Meet
            <Directory /usr/share/kopano-meet>
              Options Indexes FollowSymLinks MultiViews
              Order allow,deny
              Allow from all
              Require all granted
          
              <IfModule mod_expires.c>
                <FilesMatch "service-worker.js$">
                  ExpiresActive Off
                </FilesMatch>
              </IfModule>
            </Directory>
          
            RewriteRule ^/meet/r/(.*)$ /meet [NC]
            Alias /meet /usr/share/kopano-meet/meet-webapp
            Alias /api/config/v1/kopano/meet/config.json /usr/share/kopano-meet/config/kopano/meet.json
          
            RewriteCond %{HTTP:Connection} Upgrade [NC]
            RewriteCond %{HTTP:Upgrade} websocket [NC]
            RewriteRule /api/kwm/v2/(.*) ws://localhost:8778/api/kwm/v2/$1 [P,L]
            ProxyPass /api/kwm/v2/ http://localhost:8778/api/kwm/v2/ retry=0
          
            RewriteCond %{HTTP:Connection} Upgrade [NC]
            RewriteCond %{HTTP:Upgrade} websocket [NC]
            RewriteRule /api/kvs/v1/(.*) ws://localhost:8039/api/kvs/v1/$1 [P,L]
          

          About my GAB-Problem, it seem’s that it have nothing to do with the webserver, with kwebd i
          also does not see new users in contacts. The same if i delete an user. He is still seen in the contacts.

          1 Reply Last reply Reply Quote 0
          • mniehren
            mniehren @longsleep last edited by

            @longsleep

            I still have problem’s with the contacts under apache. There are no error’s in the logs.
            It work’s with kwebd.

            I can now test it in the following way with Firefox under LInux:

            • first, clean up the .mozilla directory
            • then logon in to meet with an account --> all GAB entries are shown correctly
            • logout from meet
            • delete or add an account in the GAB
            • login again into meet --> the new created or deleted account is not shown in contact (with apache)

            if i do the same with kwebd it work’s.

            I found 1 difference in the kwebd-request log against the access.log from apache.
            With kwebd the Urls

            /api/gc/v1/users?$top=1&$skip=100&$select=id HTTP/2.0"
            /api/gc/v1/users?$top=100&$skip=0
            

            are called after every login. If i use acpache these URL’s are only called after the first login.

            Do you have an idea, why that happens ?

            best regards
            Michael

            1 Reply Last reply Reply Quote 0
            • longsleep
              longsleep Kopano last edited by

              @mniehren said in A nearly working apache config for Meet:

              Mhm i have no idea whats wrong with your Apache. Look at the requests in detail (in the browsers web console). At the start of meet, two requests to the users endpoints are made. First one with top=1&skip=100 and then based on the result the next one to fetch the first 100 users with top=100&skip=0.

              1 Reply Last reply Reply Quote 0
              • First post
                Last post