collabora/code - sauf · apt-get update && apt-get install loolwsd code-brand ... owncloud...

2
1) Main menu With links to tickets, preferences,… 2) Latest news and upcoming events See what Collabora is doing and at what upcoming events we’ll be present. 3) Customers block Add and manage your customers. You can add customer companies, and users for those customer companies. You can also report issues on behalf of your customers, if you sell L3 support packages to them. 4.1) Collabora Online block Visible to Collabora Online partners and customers. All relevant documents that you need to set up Collabora Online. Partner can find extra documents here, to help them market and sell Collabora Online. 4.2) Collabora Office and GovOffice block Visible to Collabora Office resellers and customers. All relevant Collabora Office documents and the complete list of downloads. Become a partner (https://www.collaboraoffice.com/partners-main/become-a-partner/) and add Collabora Online to your product portfolio Contact sales (https://www.collaboraoffice.com/contact-sales/) if you want to use Collabora Online in your business or organization Or grab it like this: $ docker pull collabora/code $ docker run -t -d -p 127.0.0.1:9980:9980 -e "domain=<your-dot-escaped-domain>" \ -e "username=admin" -e "password=S3cRet" --restart always --cap-add MKNOD collabora/code <your-dot-escaped-domain> is the WOPI host, i.e. your preferred File Sync and Share solution that implements WOPI protocol, for example share\\.example\\.com . You need double backslash in command line, because shell escapes the first, and the domain parameter takes a regular expression. Note: you can enable multiple domains by separating the domain names with | character. The optional username and password parameters enable the admin console feature of CODE. You can access the admin console at https://<CODE-domain>/loleaflet/dist/admin/admin.html . collabora/code DONT_GEN_SSL_CERT When this environment variable is set (is not “”), then startup script will not generate a new SSL certificate signed by a dummy CA. It is useful, if you want to use your own SSL certificate for some reason. cert_domain When this environment variable is set (is not “”), then startup script will generate a new SSL certificate signed by a dummy CA for this domain, not for localhost server_name When this environment variable is set (is not “”), then its value will be used as server name in /etc/loolwsd/loolwsd.xml . Without this, CODE is not delivering a correct host for the websocket connection in case of a proxy in front of it. If you need to tweak other parameters of CODE, you can edit the configuration file /etc/loolwsd/loolwsd.xml in the Docker image, it is self documented. As an alternative to Docker image, Collabora provide native Linux packages for selected Linux distributions. Please type the following commands into the shell as root: # import the signing key apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0C54D189F4BA284D # add the repository URL to /etc/apt/sources.list echo 'deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-debian8 ./' >> /etc/apt/sources.list # perform the installation apt-get update && apt-get install loolwsd code-brand Please type the following commands into the shell as root: # import the signing key apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0C54D189F4BA284D # add the repository URL to /etc/apt/sources.list echo 'deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-debian9 ./' >> /etc/apt/sources.list # perform the installation apt-get update && apt-get install loolwsd code-brand Please type the following commands into the shell as root: # import the signing key apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0C54D189F4BA284D # add the repository URL to /etc/apt/sources.list echo 'deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE ./' >> /etc/apt/sources.list # perform the installation apt-get update && apt-get install loolwsd code-brand Please type the following commands into the shell as root: # import the signing key wget https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos7/repodata/repomd.xml.key && rpm --import repomd.xml.key # add the repository URL to yum yum-config-manager --add-repo https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos7 # perform the installation yum install loolwsd CODE-brand Please type the following commands into the shell as root: # import the signing key wget https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-opensuse/repodata/repomd.xml.key && rpm --import repomd.xml.key # add the repository URL to zypper zypper ar -t yum 'https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-opensuse' 'CODE' # add also C++ repository for the POCO libraries zypper ar 'http://download.opensuse.org/repositories/devel:/libraries:/c_c++/openSUSE_Leap_42.2/devel:libraries:c_c++.repo' # perform the installation zypper ref && zypper in loolwsd CODE-brand CODE is listening on port 9980 of localhost. You can use for example Apache 2 reverse proxy to make it accessible from the outside world. Make sure that you enable the following Apache 2 modules: proxy , proxy_wstunnel , proxy_http , and ssl . Create a virtual host for CODE, for example collabora.example.com , and use the following sample configuration: <VirtualHost *:443> ServerName collabora.example.com:443 # SSL configuration, you may want to take the easy route instead and use Lets Encrypt! SSLEngine on SSLCertificateFile /path/to/signed_certificate SSLCertificateChainFile /path/to/intermediate_certificate SSLCertificateKeyFile /path/to/private/key SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA2 56:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES12 8-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECD HE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-E CDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES1 28-SHA:AES256-SHA:DES-CBC3-SHA:!DSS SSLHonorCipherOrder on # Encoded slashes need to be allowed AllowEncodedSlashes NoDecode # Container uses a unique non-signed certificate SSLProxyEngine On SSLProxyVerify None SSLProxyCheckPeerCN Off SSLProxyCheckPeerName Off # keep the host ProxyPreserveHost On # static html, js, images, etc. served from loolwsd # loleaflet is the client part of LibreOffice Online ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0 ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet # WOPI discovery URL ProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0 ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery # Main websocket ProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws nocanon # Admin Console websocket ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws # Download as, Fullscreen presentation and Image upload operations ProxyPass /lool https://127.0.0.1:9980/lool ProxyPassReverse /lool https://127.0.0.1:9980/lool </VirtualHost> server { listen 443 ssl; server_name collabora.example.com; ssl_certificate /path/to/ssl_certificate; ssl_certificate_key /path/to/ssl_certificate_key; # static files location ^~ /loleaflet { proxy_pass https://localhost:9980; proxy_set_header Host $http_host; } # WOPI discovery URL location ^~ /hosting/discovery { proxy_pass https://localhost:9980; proxy_set_header Host $http_host; } # main websocket location ~ ^/lool/(.*)/ws$ { proxy_pass https://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 https://localhost:9980; proxy_set_header Host $http_host; } # Admin Console websocket location ^~ /lool/adminws { proxy_pass https://localhost:9980; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } } Now you can give https://collabora.example.com as the WOPI URL in your preferred File Sync and Share solution. See below for specific examples. Known problems: This docker image does not work on Ubuntu 14.04 LTS, because Ubuntu 14.04 LTS has missing kernel compile option CONFIG_AUFS_XATTR=y, which is leading to setcap not working on docker’s aufs storage. Upstream bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1557776 (https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1557776) For more detailed and pretty instructions on integrating with various partner solutions please see (in alphabetical order): Nextcloud (https://nextcloud.com/collaboraonline/) Setup Instructions (Apache & Nginx) (https://nextcloud.com/collaboraonline) ownCloud (https://owncloud.com/collabora-online-owncloud-enterprise/) Pydio (https://pydio.com/en/docs/v7/install-collabora-online) Setup Instructions That’s it – once you’ve integrated your docker image with your preferred File Sync and Share (FSS), or started up your VM you should be setup to share and collaborate on your own documents, with friends, from the comfort of your own home. So now you’re all happy and secure, why not participate in the project? Checking out the code to build it yourself is easy; http://cgit.freedesktop.org/libreoffice/online (http://cgit.freedesktop.org/libreoffice/online/) has the latest commits, and build instructions. After compiling ‘online’ just do a $make run and follow the link to tweak things live. The API is visible here: https://www.collaboraoffice.com/collabora-online-editor-api-reference/ (https://www.collaboraoffice.com/collabora-online-editor-api-reference/).To send patches, and collaborate with other developers working on the code please do join in at #libreoffice-dev on irc.freenode.org, or join the Mailing List (http://lists.freedesktop.org/mailman/listinfo/libreoffice). If you want to help update the documentation please do help out in the Wiki (https://wiki.documentfoundation.org/Development/LibreOffice_Online), to file bugs please head to Bugzilla (https://bugs.documentfoundation.org/enter_bug.cgi?product=LibreOffice%20Online) and as you file a bug – please do take the time to confirm at least one other un-confirmed bug (https://bugs.documentfoundation.org/buglist.cgi? bug_status=UNCONFIRMED&list_id=575218&product=LibreOffice%20Online&query_format=advanced&resolution=---) if there are any. Help fixing bugs, and patches that arrive via gerrit (https://wiki.documentfoundation.org/Development/gerrit) are most easy for us to merge. Timeline JS Several reasons. 1. With the Docker Image of Collabora Online Development Edition (CODE) home users can easily get their own online Office Suite up and running at home 2. We want people to hack this code and play with it. Doing that live on a server used by tens of thousands of other people seems unlikely to be a good idea – right? 3. We would prefer not to be hosting many tens of thousands of concurrent users – we have no desire to compete with our partners whose core competence is doing exactly that. 4. Isolating everything into a Docker Image makes it easy for us to package and update everything in a consistent lump, and it makes it rather easier and safer for you to consume. You can upgrade your FSS solution, fiddle with your database, and so on all without any risk to the rest of your data. Clearly the code provides the canonical version of everything. However – here is some basic overview. The code splits into four pieces: This is the API that allows the re-use of the bulk of the existing LibreOffice code. It exposes a simple abstract API to allow loading, saving, and rendering documents to image tiles, and also exposes an event based editing core. This piece lives in the main core.git (https://gerrit.libreoffice.org/gitweb?p=core.git;a=summary) module of LibreOffice. This manages incoming session traffic, services cached document tiles, and spawns LibreOfficeKit client instances, setting up heavily locked down chroot jails for them. The code for this piece lives in loolwsd/ (https://gerrit.libreoffice.org/gitweb?p=online.git;a=tree;f=loolwsd) inside online.git. This code is built on leaflet (http://leafletjs.com/) and provides the front-end, toolbars, and rendering the document contents as it runs in the web client, it lives in the loleaflet (https://gerrit.libreoffice.org/gitweb?p=online.git;a=tree;f=loleaflet) directory in online.git. Clearly on its own CODE is not terribly useful – so make sure you integrate it with your preferred FSS cf. above. The FSS implements a protocol such as WOPI to serve your document data, and integrate with its existing authentication mechanism. In a word – no. This is LibreOffice brought to your browser in a new and interesting way. There are many good reasons not to duplicate, re-write and re-debug eight million lines of C++ into many millions of lines of JavaScript. Indeed – we have the opposite direction, of trying to minimise the amount of custom Javascript, and to share as much code as humanly possible with the PC and Mobile versions. There are also serious questions about how quickly it would be possible to JIT and execute such a large volume of Javascript – even if it were created, the problems of maintaining two diverging code-bases and synchronizing them is a well known nightmare, and finally – ongoing development is already hard in type-safe C++ with many extra compiler, safety checks; moving to type unsafe Javascript would make things unmaintainable. Instead by re-using the existing LibreOffice code we get huge benefits in terms of rendering and layout fidelity with existing ODF and proprietary file formats. So what you see on your Tablet, Browser and PC (Linux, Windows, Mac) should be identical – absent unusual and non-embedded fonts. There are a number of known issues that are hard for us to fix in CODE. These include copy & paste – while we can provide rich eg. RTF content for selections from the server to the browser, existing browser APIS are extraordinarily unpleasant (to the point of un-usability) for copy/pasting rich content – as such, we do plain text copy/paste. Please feel free to join our efforts in making this the best Online Office Suite. We’re working hard to make the CODE better, but more help is always welcome. Learn more in “Participate in the project”. Yes, of course. That was easy wasn’t it: Open First. The development edition, aimed at home users, contains the latest and greatest developments and things are moving fast, but there is no published roadmap. If you want features delivered to your schedule then you’re looking for the commercial edition of Collabora Online. Having said that – clearly we are currently doing only basic editing (with shared editing), the next focus will be Collaborative editing, and then richer editing – however, that depends on who gets involved. Yes naturally, please use this page’s content under some CC0 license / Public Domain as long as you respect our trademark, we love to get the message out. CODE logo (https://www.collaboraoffice.com/wp-content/uploads/2017/02/CODE-logo.png) Writer screenshot (https://www.collaboraoffice.com/wp-content/uploads/2017/05/collabora_online_2.1_writer.png) Calc screenshot (https://www.collaboraoffice.com/wp-content/uploads/2017/05/collabora_online_2.1_calc.png) Impress screenshot (https://www.collaboraoffice.com/wp-content/uploads/2017/05/collabora_online_2.1_impress.png) CODE is built on top of a huge volume of work from both LibreOffice (credits (https://www.libreoffice.org/about-us/credits/)) and is built on top of Rich Documents plugin (credits (https://www.openhub.net/p/ownCloud/contributors?query=&time_span=12+months&sort=commits)), however the Online functionality was created primarily by Collabora (as announced (https://people.gnome.org/~michael/blog/2015-03-25-libreoffice- icewarp.html) in 2015) – read more about the story of that here (https://people.gnome.org/~michael/blog/2015-12-15-code.html). And thanks to Lukas Reschke for help with the docker image. Also, check out the huge amount of work done for last year’s release of CODE 2.0 (https://people.gnome.org/~michael/blog/2016-11-02-code- 2.0.html). The Docker Image for home users is regularly updated. Keep an eye out on our blog (https://www.collaboraoffice.com/news/) or twitter feed (https://twitter.com/collaboraoffice) for news of changes. Latest updates January 26, 2016 – Shared Editing, Transitions and animations presentations and other improvements (https://www.collaboraoffice.com/community-news/code-updates/). February 25, 2016 – Spreadsheet improvements, Usability and other improvements (https://www.collaboraoffice.com/community-news/code- updates-2/). April 25, 2016 – Admin Control Panel, Spreadsheets improvements and more (https://www.collaboraoffice.com/community-news/code- updates-3/). June 2, 2016 – Improved shared editing, header menus, context menus, inserting tables, inserting comments, Impress layouts… and much more! (https://www.collaboraoffice.com/community-news/code-updates-4/). June 23, 2016 – Possibility to run loolwsd behind a proxy, Better localization, buxfixes,… (https://www.collaboraoffice.com/community- (https://www.collaboraoffice.com/code/) Last update CODE 2.1.4: October 9, 2017 (https://www.collaboraoffice.com/code#what_are_the_latest_updat es) The development edition is aimed at home users and contains the latest and greatest developments. We want as many people as possible to try it out and get back control of their own online documents. We’d also love to get people involved in our efforts to make LibreOffice Online even better. Download the Docker Image, enjoy using it at home and why not participate in the project too! Getting set up Participate in the project What is CODE? vs. LibreOffice Online and Collabora Online? Timeline Q&A Get your own online Office Suite up and running at home with CODE! LibreOffice Online is great for home use as well as enjoying the latest translations and developments. CODE is a somewhat more conservative version – but still a development edition – of LibreOffice Online, and is built around the Collabora Office core. CODE is perfect for home users that want to start to run their own online Office Suite.The LibreOffice Online Docker Image docker image is a very regularly updated snapshot of the latest master build of both online and LibreOffice that has passed both the LibreOffice and online automated testing. CODE builds on the other hand, are released on average once a month and announced on this website.If you are looking for a scalable, commercially supported version with Long Term Support, signed security updates and a SLA, your best bet is to check out our Collabora Online page (https://www.collaboraoffice.com/collabora-online-v1-engine/). For more details on enterprise support from various partner solutions please see:: Nextcloud (https://www.collaboraoffice.com/collabora-online-and-nextcloud/), ownCloud (https://www.collaboraoffice.com/owncloud/), Pydio (https://www.collaboraoffice.com/collabora- online-and-pydio/), Kolab (https://www.collaboraoffice.com/collabora-online-and-kolab/), VNC Lagoon (https://www.collaboraoffice.com/collabora-online-vnc-lagoon/), Seafile (https://www.collaboraoffice.com/collabora-online-and-seafile-ltd/), Arawa (https://www.collaboraoffice.com/collabora-online-and-arawa/), FileCloud (https://www.collaboraoffice.com/collabora-online-and-filecloud/), AG-I Solutions (https://www.collaboraoffice.com/collabora-online-and-ag-i-solutions/), SecuredStore (https://www.collaboraoffice.com/collabora-online-and-securedstore/), Alinto (https://www.collaboraoffice.com/collabora-online-and-alinto/), Studio Storti (https://www.collaboraoffice.com/collabora-online-and-studio-storti/), Rono IT (https://www.collaboraoffice.com/collabora-online-and-rono-it/), equipe (https://www.collaboraoffice.com/collabora-online-and-eqipe/), New Access (https://www.collaboraoffice.com/collabora-online-and-new-access/), United Hoster (https://www.collaboraoffice.com/collabora-online-and-united-hoster/), Urberri (https://www.collaboraoffice.com/collabora-online-and-urberri/), Webo.hosting (https://www.collaboraoffice.com/collabora-online-and-webo-hosting/), Artistanbul (https://www.collaboraoffice.com/collabora-online-and-artistanbul/), PC HELP (https://www.collaboraoffice.com/collabora-online-and-pc-help/), Retention Range (https://www.collaboraoffice.com/collabora-online-and-retention-range/), Workman.net.au (https://www.collaboraoffice.com/collabora-online-and-workman-net-au/), DAASI International GmbH (https://www.collaboraoffice.com/collabora-online-and-daasi/) Check out the page Understanding the differences between LibreOffice Online, CODE and Collabora Online (https://www.collaboraoffice.com/community-en/understanding-the-differences- between-libreoffice-online-code-and-collabora-online/) for more details about the differences or download the white paper “8 Million Reasons to Choose Collabora Online” Download the White Paper “8 Million Reasons to Choose Collabora Online” Email Download now! English

Upload: ngoduong

Post on 10-Apr-2018

272 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: collabora/code - Sauf · apt-get update && apt-get install loolwsd code-brand ... ownCloud ( ... makes it easy for us to package and update

1)MainmenuWithlinkstotickets,preferences,…2)LatestnewsandupcomingeventsSeewhatCollaboraisdoingandatwhatupcomingeventswe’llbepresent.3)CustomersblockAddandmanageyourcustomers.Youcanaddcustomercompanies,andusersforthosecustomercompanies.Youcanalsoreportissuesonbehalfofyourcustomers,ifyousellL3supportpackagestothem.4.1)CollaboraOnlineblockVisibletoCollaboraOnlinepartnersandcustomers.AllrelevantdocumentsthatyouneedtosetupCollaboraOnline.Partnercanfindextradocumentshere,tohelpthemmarketandsellCollaboraOnline.4.2)CollaboraOfficeandGovOfficeblockVisibletoCollaboraOfficeresellersandcustomers.AllrelevantCollaboraOfficedocumentsandthecompletelistofdownloads.

Becomeapartner(https://www.collaboraoffice.com/partners-main/become-a-partner/)andaddCollaboraOnlinetoyourproductportfolio

Contactsales(https://www.collaboraoffice.com/contact-sales/)ifyouwanttouseCollaboraOnlineinyourbusinessororganization

Orgrabitlikethis:

$dockerpullcollabora/code$dockerrun-t-d-p127.0.0.1:9980:9980-e"domain=<your-dot-escaped-domain>"\-e"username=admin"-e"password=S3cRet"--restartalways--cap-addMKNODcollabora/code

<your-dot-escaped-domain> istheWOPIhost,i.e.yourpreferredFileSyncandSharesolutionthatimplementsWOPIprotocol,forexampleshare\\.example\\.com .Youneeddoublebackslashincommandline,becauseshellescapesthefirst,andthedomainparametertakesaregularexpression.Note:youcanenablemultipledomainsbyseparatingthedomainnameswith | character.Theoptional username and password parametersenabletheadminconsolefeatureofCODE.Youcanaccesstheadminconsoleathttps://<CODE-domain>/loleaflet/dist/admin/admin.html .

collabora/code

DONT_GEN_SSL_CERT Whenthisenvironmentvariableisset(isnot“”),thenstartupscriptwillnotgenerateanewSSLcertificatesignedbyadummyCA.Itisuseful,ifyouwanttouseyourownSSLcertificateforsomereason.

cert_domain Whenthisenvironmentvariableisset(isnot“”),thenstartupscriptwillgenerateanewSSLcertificatesignedbyadummyCAforthisdomain,notfor localhost

server_name Whenthisenvironmentvariableisset(isnot“”),thenitsvaluewillbeusedasservernamein/etc/loolwsd/loolwsd.xml .Withoutthis,CODEisnotdeliveringacorrecthostforthewebsocketconnectionincaseofaproxyinfrontofit.

IfyouneedtotweakotherparametersofCODE,youcanedittheconfigurationfile /etc/loolwsd/loolwsd.xml intheDockerimage,itisselfdocumented.

AsanalternativetoDockerimage,CollaboraprovidenativeLinuxpackagesforselectedLinuxdistributions.

Pleasetypethefollowingcommandsintotheshellasroot:

#importthesigningkeyapt-keyadv--keyserverkeyserver.ubuntu.com--recv-keys0C54D189F4BA284D#addtherepositoryURLto/etc/apt/sources.listecho'debhttps://www.collaboraoffice.com/repos/CollaboraOnline/CODE-debian8./'>>/etc/apt/sources.list#performtheinstallationapt-getupdate&&apt-getinstallloolwsdcode-brand

Pleasetypethefollowingcommandsintotheshellasroot:

#importthesigningkeyapt-keyadv--keyserverkeyserver.ubuntu.com--recv-keys0C54D189F4BA284D#addtherepositoryURLto/etc/apt/sources.listecho'debhttps://www.collaboraoffice.com/repos/CollaboraOnline/CODE-debian9./'>>/etc/apt/sources.list#performtheinstallationapt-getupdate&&apt-getinstallloolwsdcode-brand

Pleasetypethefollowingcommandsintotheshellasroot:

#importthesigningkeyapt-keyadv--keyserverkeyserver.ubuntu.com--recv-keys0C54D189F4BA284D#addtherepositoryURLto/etc/apt/sources.listecho'debhttps://www.collaboraoffice.com/repos/CollaboraOnline/CODE./'>>/etc/apt/sources.list#performtheinstallationapt-getupdate&&apt-getinstallloolwsdcode-brand

Pleasetypethefollowingcommandsintotheshellasroot:

#importthesigningkeywgethttps://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos7/repodata/repomd.xml.key&&rpm--importrepomd.xml.key#addtherepositoryURLtoyumyum-config-manager--add-repohttps://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos7#performtheinstallationyuminstallloolwsdCODE-brand

Pleasetypethefollowingcommandsintotheshellasroot:

#importthesigningkeywgethttps://www.collaboraoffice.com/repos/CollaboraOnline/CODE-opensuse/repodata/repomd.xml.key&&rpm--importrepomd.xml.key#addtherepositoryURLtozypperzypperar-tyum'https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-opensuse''CODE'#addalsoC++repositoryforthePOCOlibrarieszypperar'http://download.opensuse.org/repositories/devel:/libraries:/c_c++/openSUSE_Leap_42.2/devel:libraries:c_c++.repo'#performtheinstallationzypperref&&zypperinloolwsdCODE-brand

CODEislisteningonport9980oflocalhost.YoucanuseforexampleApache2reverseproxytomakeitaccessiblefromtheoutsideworld.MakesurethatyouenablethefollowingApache2modules: proxy , proxy_wstunnel , proxy_http ,and ssl .CreateavirtualhostforCODE,forexample collabora.example.com ,andusethefollowingsampleconfiguration:

<VirtualHost*:443>ServerNamecollabora.example.com:443

#SSLconfiguration,youmaywanttotaketheeasyrouteinsteadanduseLetsEncrypt!SSLEngineonSSLCertificateFile/path/to/signed_certificateSSLCertificateChainFile/path/to/intermediate_certificateSSLCertificateKeyFile/path/to/private/keySSLProtocolall-SSLv2-SSLv3SSLCipherSuiteECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSSSSLHonorCipherOrderon

#EncodedslashesneedtobeallowedAllowEncodedSlashesNoDecode

#Containerusesauniquenon-signedcertificateSSLProxyEngineOnSSLProxyVerifyNoneSSLProxyCheckPeerCNOffSSLProxyCheckPeerNameOff

#keepthehostProxyPreserveHostOn

#statichtml,js,images,etc.servedfromloolwsd#loleafletistheclientpartofLibreOfficeOnlineProxyPass/loleaflethttps://127.0.0.1:9980/loleafletretry=0ProxyPassReverse/loleaflethttps://127.0.0.1:9980/loleaflet

#WOPIdiscoveryURLProxyPass/hosting/discoveryhttps://127.0.0.1:9980/hosting/discoveryretry=0ProxyPassReverse/hosting/discoveryhttps://127.0.0.1:9980/hosting/discovery

#MainwebsocketProxyPassMatch"/lool/(.*)/ws$"wss://127.0.0.1:9980/lool/$1/wsnocanon

#AdminConsolewebsocketProxyPass/lool/adminwswss://127.0.0.1:9980/lool/adminws

#Downloadas,FullscreenpresentationandImageuploadoperationsProxyPass/loolhttps://127.0.0.1:9980/loolProxyPassReverse/loolhttps://127.0.0.1:9980/lool</VirtualHost>

server{listen443ssl;server_namecollabora.example.com;

ssl_certificate/path/to/ssl_certificate;ssl_certificate_key/path/to/ssl_certificate_key;

#staticfileslocation^~/loleaflet{proxy_passhttps://localhost:9980;proxy_set_headerHost$http_host;}

#WOPIdiscoveryURLlocation^~/hosting/discovery{proxy_passhttps://localhost:9980;proxy_set_headerHost$http_host;}

#mainwebsocketlocation~^/lool/(.*)/ws${proxy_passhttps://localhost:9980;proxy_set_headerUpgrade$http_upgrade;proxy_set_headerConnection"Upgrade";proxy_set_headerHost$http_host;proxy_read_timeout36000s;}

#download,presentationandimageuploadlocation~^/lool{proxy_passhttps://localhost:9980;proxy_set_headerHost$http_host;}

#AdminConsolewebsocketlocation^~/lool/adminws{proxy_passhttps://localhost:9980;proxy_set_headerUpgrade$http_upgrade;proxy_set_headerConnection"Upgrade";proxy_set_headerHost$http_host;proxy_read_timeout36000s;}}

Nowyoucangive https://collabora.example.com astheWOPIURLinyourpreferredFileSyncandSharesolution.Seebelowforspecificexamples.

Knownproblems:

ThisdockerimagedoesnotworkonUbuntu14.04LTS,becauseUbuntu14.04LTShasmissingkernelcompileoptionCONFIG_AUFS_XATTR=y,whichisleadingtosetcapnotworkingondocker’saufsstorage.Upstreambug:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1557776(https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1557776)

Formoredetailedandprettyinstructionsonintegratingwithvariouspartnersolutionspleasesee(inalphabeticalorder):

Nextcloud(https://nextcloud.com/collaboraonline/)SetupInstructions(Apache&Nginx)(https://nextcloud.com/collaboraonline)ownCloud(https://owncloud.com/collabora-online-owncloud-enterprise/)Pydio(https://pydio.com/en/docs/v7/install-collabora-online)SetupInstructions

That’sit–onceyou’veintegratedyourdockerimagewithyourpreferredFileSyncandShare(FSS),orstartedupyourVMyoushouldbesetuptoshareandcollaborateonyourowndocuments,withfriends,fromthecomfortofyourownhome.

Sonowyou’reallhappyandsecure,whynotparticipateintheproject?

Checkingoutthecodetobuildityourselfiseasy;http://cgit.freedesktop.org/libreoffice/online(http://cgit.freedesktop.org/libreoffice/online/)hasthelatestcommits,andbuildinstructions.Aftercompiling‘online’justdoa$makerunandfollowthelinktotweakthingslive.TheAPIisvisiblehere:https://www.collaboraoffice.com/collabora-online-editor-api-reference/(https://www.collaboraoffice.com/collabora-online-editor-api-reference/).Tosendpatches,andcollaboratewithotherdevelopersworkingonthecodepleasedojoininat#libreoffice-devonirc.freenode.org,orjointheMailingList(http://lists.freedesktop.org/mailman/listinfo/libreoffice).IfyouwanttohelpupdatethedocumentationpleasedohelpoutintheWiki(https://wiki.documentfoundation.org/Development/LibreOffice_Online),tofilebugspleaseheadtoBugzilla(https://bugs.documentfoundation.org/enter_bug.cgi?product=LibreOffice%20Online)andasyoufileabug–pleasedotakethetimetoconfirmatleastoneotherun-confirmedbug(https://bugs.documentfoundation.org/buglist.cgi?bug_status=UNCONFIRMED&list_id=575218&product=LibreOffice%20Online&query_format=advanced&resolution=---)ifthereareany.Helpfixingbugs,andpatchesthatarriveviagerrit(https://wiki.documentfoundation.org/Development/gerrit)aremosteasyforustomerge.

TimelineJS

Severalreasons.

1. WiththeDockerImageofCollaboraOnlineDevelopmentEdition(CODE)homeuserscaneasilygettheirownonlineOfficeSuiteupandrunningathome

2. Wewantpeopletohackthiscodeandplaywithit.Doingthatliveonaserverusedbytensofthousandsofotherpeopleseemsunlikelytobeagoodidea–right?

3. Wewouldprefernottobehostingmanytensofthousandsofconcurrentusers–wehavenodesiretocompetewithourpartnerswhosecorecompetenceisdoingexactlythat.

4. IsolatingeverythingintoaDockerImagemakesiteasyforustopackageandupdateeverythinginaconsistentlump,anditmakesitrathereasierandsaferforyoutoconsume.YoucanupgradeyourFSSsolution,fiddlewithyourdatabase,andsoonallwithoutanyrisktotherestofyourdata.

Clearlythecodeprovidesthecanonicalversionofeverything.However–hereissomebasicoverview.Thecodesplitsintofourpieces:

ThisistheAPIthatallowsthere-useofthebulkoftheexistingLibreOfficecode.ItexposesasimpleabstractAPItoallowloading,saving,andrenderingdocumentstoimagetiles,andalsoexposesaneventbasededitingcore.Thispiecelivesinthemaincore.git(https://gerrit.libreoffice.org/gitweb?p=core.git;a=summary)moduleofLibreOffice.

Thismanagesincomingsessiontraffic,servicescacheddocumenttiles,andspawnsLibreOfficeKitclientinstances,settingupheavilylockeddownchrootjailsforthem.Thecodeforthispiecelivesinloolwsd/(https://gerrit.libreoffice.org/gitweb?p=online.git;a=tree;f=loolwsd)insideonline.git.

Thiscodeisbuiltonleaflet(http://leafletjs.com/)andprovidesthefront-end,toolbars,andrenderingthedocumentcontentsasitrunsinthewebclient,itlivesintheloleaflet(https://gerrit.libreoffice.org/gitweb?p=online.git;a=tree;f=loleaflet)directoryinonline.git.

ClearlyonitsownCODEisnotterriblyuseful–somakesureyouintegrateitwithyourpreferredFSScf.above.TheFSSimplementsaprotocolsuchasWOPItoserveyourdocumentdata,andintegratewithitsexistingauthenticationmechanism.

Inaword–no.ThisisLibreOfficebroughttoyourbrowserinanewandinterestingway.Therearemanygoodreasonsnottoduplicate,re-writeandre-debugeightmillionlinesofC++intomanymillionsoflinesofJavaScript.Indeed–wehavetheoppositedirection,oftryingtominimisetheamountofcustomJavascript,andtoshareasmuchcodeashumanlypossiblewiththePCandMobileversions.TherearealsoseriousquestionsabouthowquicklyitwouldbepossibletoJITandexecutesuchalargevolumeofJavascript–evenifitwerecreated,theproblemsofmaintainingtwodivergingcode-basesandsynchronizingthemisawellknownnightmare,andfinally–ongoingdevelopmentisalreadyhardintype-safeC++withmanyextracompiler,safetychecks;movingtotypeunsafeJavascriptwouldmakethingsunmaintainable.Insteadbyre-usingtheexistingLibreOfficecodewegethugebenefitsintermsofrenderingandlayoutfidelitywithexistingODFandproprietaryfileformats.SowhatyouseeonyourTablet,BrowserandPC(Linux,Windows,Mac)shouldbeidentical–absentunusualandnon-embeddedfonts.

ThereareanumberofknownissuesthatarehardforustofixinCODE.Theseincludecopy&paste–whilewecanprovidericheg.RTFcontentforselectionsfromtheservertothebrowser,existingbrowserAPISareextraordinarilyunpleasant(tothepointofun-usability)forcopy/pastingrichcontent–assuch,wedoplaintextcopy/paste.

PleasefeelfreetojoinoureffortsinmakingthisthebestOnlineOfficeSuite.We’reworkinghardtomaketheCODEbetter,butmorehelpisalwayswelcome.Learnmorein“Participateintheproject”.

Yes,ofcourse.Thatwaseasywasn’tit:OpenFirst.

Thedevelopmentedition,aimedathomeusers,containsthelatestandgreatestdevelopmentsandthingsaremovingfast,butthereisnopublishedroadmap.Ifyouwantfeaturesdeliveredtoyourschedulethenyou’relookingforthecommercialeditionofCollaboraOnline.Havingsaidthat–clearlywearecurrentlydoingonlybasicediting(withsharedediting),thenextfocuswillbeCollaborativeediting,andthenricherediting–however,thatdependsonwhogetsinvolved.

Yesnaturally,pleaseusethispage’scontentundersomeCC0license/PublicDomainaslongasyourespectourtrademark,welovetogetthemessageout.

CODElogo(https://www.collaboraoffice.com/wp-content/uploads/2017/02/CODE-logo.png)Writerscreenshot(https://www.collaboraoffice.com/wp-content/uploads/2017/05/collabora_online_2.1_writer.png)Calcscreenshot(https://www.collaboraoffice.com/wp-content/uploads/2017/05/collabora_online_2.1_calc.png)Impressscreenshot(https://www.collaboraoffice.com/wp-content/uploads/2017/05/collabora_online_2.1_impress.png)

CODEisbuiltontopofahugevolumeofworkfrombothLibreOffice(credits(https://www.libreoffice.org/about-us/credits/))andisbuiltontopofRichDocumentsplugin(credits(https://www.openhub.net/p/ownCloud/contributors?query=&time_span=12+months&sort=commits)),howevertheOnlinefunctionalitywascreatedprimarilybyCollabora(asannounced(https://people.gnome.org/~michael/blog/2015-03-25-libreoffice-icewarp.html)in2015)–readmoreaboutthestoryofthathere(https://people.gnome.org/~michael/blog/2015-12-15-code.html).AndthankstoLukasReschkeforhelpwiththedockerimage.

Also,checkoutthehugeamountofworkdoneforlastyear’sreleaseofCODE2.0(https://people.gnome.org/~michael/blog/2016-11-02-code-2.0.html).

TheDockerImageforhomeusersisregularlyupdated.Keepaneyeoutonourblog(https://www.collaboraoffice.com/news/)ortwitterfeed(https://twitter.com/collaboraoffice)fornewsofchanges.

Latestupdates

January26,2016–SharedEditing,Transitionsandanimationspresentationsandotherimprovements(https://www.collaboraoffice.com/community-news/code-updates/).February25,2016–Spreadsheetimprovements,Usabilityandotherimprovements(https://www.collaboraoffice.com/community-news/code-updates-2/).April25,2016–AdminControlPanel,Spreadsheetsimprovementsandmore(https://www.collaboraoffice.com/community-news/code-updates-3/).June2,2016–Improvedsharedediting,headermenus,contextmenus,insertingtables,insertingcomments,Impresslayouts…andmuchmore!(https://www.collaboraoffice.com/community-news/code-updates-4/).June23,2016–Possibilitytorunloolwsdbehindaproxy,Betterlocalization,buxfixes,…(https://www.collaboraoffice.com/community-

(https://www.collaboraoffice.com/code/)

LastupdateCODE2.1.4:October9,2017(https://www.collaboraoffice.com/code#what_are_the_latest_updates)

Thedevelopmenteditionisaimedathomeusersandcontainsthelatestandgreatestdevelopments.Wewantasmanypeopleaspossibletotryitoutandgetbackcontroloftheirownonlinedocuments.We’dalsolovetogetpeopleinvolvedinoureffortstomakeLibreOfficeOnlineevenbetter.DownloadtheDockerImage,enjoyusingitathomeandwhynotparticipateintheprojecttoo!

GettingsetupParticipateintheprojectWhatisCODE?vs.LibreOfficeOnlineandCollaboraOnline?TimelineQ&A

GetyourownonlineOfficeSuiteupandrunningathomewithCODE!

LibreOfficeOnlineisgreatforhomeuseaswellasenjoyingthelatesttranslationsanddevelopments.CODEisasomewhatmoreconservativeversion–butstilladevelopmentedition–ofLibreOfficeOnline,andisbuiltaroundtheCollaboraOfficecore.CODEisperfectforhomeusersthatwanttostarttoruntheirownonlineOfficeSuite.TheLibreOfficeOnlineDockerImagedockerimageisaveryregularlyupdatedsnapshotofthelatestmasterbuildofbothonlineandLibreOfficethathaspassedboththeLibreOfficeandonlineautomatedtesting.CODEbuildsontheotherhand,arereleasedonaverageonceamonthandannouncedonthiswebsite.Ifyouarelookingforascalable,commerciallysupportedversionwithLongTermSupport,signedsecurityupdatesandaSLA,yourbestbetistocheckoutourCollaboraOnlinepage(https://www.collaboraoffice.com/collabora-online-v1-engine/).

Formoredetailsonenterprisesupportfromvariouspartnersolutionspleasesee::Nextcloud(https://www.collaboraoffice.com/collabora-online-and-nextcloud/),ownCloud(https://www.collaboraoffice.com/owncloud/),Pydio(https://www.collaboraoffice.com/collabora-online-and-pydio/),Kolab(https://www.collaboraoffice.com/collabora-online-and-kolab/),VNCLagoon(https://www.collaboraoffice.com/collabora-online-vnc-lagoon/),Seafile(https://www.collaboraoffice.com/collabora-online-and-seafile-ltd/),Arawa(https://www.collaboraoffice.com/collabora-online-and-arawa/),FileCloud(https://www.collaboraoffice.com/collabora-online-and-filecloud/),AG-ISolutions(https://www.collaboraoffice.com/collabora-online-and-ag-i-solutions/),SecuredStore(https://www.collaboraoffice.com/collabora-online-and-securedstore/),Alinto(https://www.collaboraoffice.com/collabora-online-and-alinto/),StudioStorti(https://www.collaboraoffice.com/collabora-online-and-studio-storti/),RonoIT(https://www.collaboraoffice.com/collabora-online-and-rono-it/),equipe(https://www.collaboraoffice.com/collabora-online-and-eqipe/),NewAccess(https://www.collaboraoffice.com/collabora-online-and-new-access/),UnitedHoster(https://www.collaboraoffice.com/collabora-online-and-united-hoster/),Urberri(https://www.collaboraoffice.com/collabora-online-and-urberri/),Webo.hosting(https://www.collaboraoffice.com/collabora-online-and-webo-hosting/),Artistanbul(https://www.collaboraoffice.com/collabora-online-and-artistanbul/),PCHELP(https://www.collaboraoffice.com/collabora-online-and-pc-help/),RetentionRange(https://www.collaboraoffice.com/collabora-online-and-retention-range/),Workman.net.au(https://www.collaboraoffice.com/collabora-online-and-workman-net-au/),DAASIInternationalGmbH(https://www.collaboraoffice.com/collabora-online-and-daasi/)

CheckoutthepageUnderstandingthedifferencesbetweenLibreOfficeOnline,CODEandCollaboraOnline(https://www.collaboraoffice.com/community-en/understanding-the-differences-between-libreoffice-online-code-and-collabora-online/)formoredetailsaboutthedifferencesordownloadthewhitepaper“8MillionReasonstoChooseCollaboraOnline”

DownloadtheWhitePaper

“8MillionReasonstoChooseCollaboraOnline”

Email

Downloadnow!

English

Page 2: collabora/code - Sauf · apt-get update && apt-get install loolwsd code-brand ... ownCloud ( ... makes it easy for us to package and update

news/code-updates-5/).July4,2016–‘Help’inthemenu,Translations,firstrevisionhistorysidebar(https://www.collaboraoffice.com/community-news/code-updates-6/).July19,2016–Newdockerimage,CollaboraOnline5.1,Statusbarfeatures(https://www.collaboraoffice.com/community-news/code-updates-7/).September15,2016–ResizeablerowsandcolumnsbymouseinCalcandSSLterminationsupportforreverseproxies(https://www.collaboraoffice.com/community-news/code-updates-8/).October13,2016–UIimprovements:seewhoisviewingthedocument,newmenuitemsandbugfixes(https://www.collaboraoffice.com/community-news/code-updates-9/).October27,2016–SeveralimprovementsandCODEinPydio(https://www.collaboraoffice.com/community-news/code-updates-10/).November2,2016–CODE2.0released(https://www.collaboraoffice.com/release-news/collabora-online-development-edition-2-0-released/)November11,2016–InclusionofNotofontfamily,improvedWriterformatmenu,pagesizeandorientation,WOPIupdatesandbugfixes(https://www.collaboraoffice.com/community-news/code-2-0-updates/).January5,2017–InsertSpecialCharacters,InitialsupportforIME(allowingtotypein,forexample,Chinese),APIupdatesandmanystabilityandbugfixes.(https://www.collaboraoffice.com/community-news/code-2-0-updates-2/)January25,2017–Responsivedesign,updatedtranslations,UIandstabilityfixes(https://www.collaboraoffice.com/community-news/code-2-0-updates-3/)February10,2017–PivotTablerefresh,Fixedcellalignmentcommands,updatedtranslationsandimprovedperformance(https://www.collaboraoffice.com/press-releases/code-2-0-updates-4/)March10,2017–MinimizedUIforreadonlydocuments,reconnectsilently,updatedtranslationsandstabilityfixes(https://www.collaboraoffice.com/press-releases/code-2-0-updates-5/)May4,2017–CollaboraOnline2.1andCODE2.1released(https://www.collaboraoffice.com/releases-en/collabora-online-2-1-released/)May23,2017–CollaboraOnline2.1.1andCODE2.1.1released(https://www.collaboraoffice.com/releases-en/collabora-online-2-1-1-released/)June21,2017–CollaboraOnline2.1.2andCODE2.1.2released(https://www.collaboraoffice.com/releases-en/collabora-online-2-1-2-released/)August22,2017–CollaboraOnline2.1.3andCODE2.1.3released(https://www.collaboraoffice.com/releases-en/collabora-online-2-1-3-released/)October9,2017–CollaboraOnline2.1.4andCODE2.1.4released(https://www.collaboraoffice.com/release-news/collabora-online-2-1-4-released/)

Ifyouhaveanysuggestionsforchangesorhaveideasforimprovements,[email protected](mailto:[email protected]).

SOLUTIONS

CollaboraOnline/Trial(https://www.collaboraoffice.com/collabora-online/)

CollaboraCloudsuite/Trial(https://www.collaboraoffice.com/solutions/collabora-cloudsuite/)

CollaboraOffice/Trial(https://www.collaboraoffice.com/solutions/collabora-office/)

Consultancy&support(https://www.collaboraoffice.com/solutions/support-and-services/)

PARTNERS

Ourpartners(https://www.collaboraoffice.com/partners-main/partners/)

Becomeapartner(https://www.collaboraoffice.com/partners-main/become-a-partner/)

PartnerandClientportal(https://www.collaboraoffice.com/partner-client-portal/)

LIBREOFFICEANDUS

LibreOfficefromCollabora(https://www.collaboraoffice.com/libreoffice-from-collabora/)

CollaboraOnlineDevelopmentEdition(CODE)(https://www.collaboraoffice.com/code/)

ABOUTUS

Company(https://www.collaboraoffice.com/about-us/)

News(https://www.collaboraoffice.com/news/)

Contact(https://www.collaboraoffice.com/contact-sales/)

(http (http (http

CollaboraLtd©2005-2017.Allrightsreserved.+441223362967Contactus(https://www.collaboraoffice.com/contact-sales/)Cookies&PrivacyPolicy(https://www.collaboraoffice.com/privacy-policy/).Themeby

Colorlib(http://colorlib.com/)PoweredbyWordPress(http://wordpress.org/)Weusecookiesonthiswebsitetoensurethatyougetthebestexperience.Bycontinuingtousethiswebsiteyouareconsentingtotheuseofthesecookies. Ok

Readmore(https://www.collaboraoffice.com/privacy-policy/)