Установка Collabora Online Development Edition на Debian 11
Collabora Online — это мощный офисный пакет на базе LibreOffice для совместной работы с документами в браузере. В рамках статьи будем устанавливать Collabora Online Development Edition (CODE) версию.
Все ниже действия будут производится на Debian 11 Bullseye
и под пользователем root
.
Установка
Импортируем ключ подписи и добавляем репозиторий Collabora Productivity Ltd /etc/apt/sources.list.d/collaboraonline.sources
:
Y2QlMjAlMkZ1c3IlMkZzaGFyZSUyRmtleXJpbmdz
d2dldCUyMGh0dHBzJTNBJTJGJTJGY29sbGFib3Jhb2ZmaWNlLmNvbSUyRmRvd25sb2FkcyUyRmdwZyUyRmNvbGxhYm9yYW9ubGluZS1yZWxlYXNlLWtleXJpbmcuZ3Bn
cat EOF /etc/apt/sources.list.d/collaboraonline.sources
Types: deb
VVJJcyUzQSUyMGh0dHBzJTNBJTJGJTJGd3d3LmNvbGxhYm9yYW9mZmljZS5jb20lMkZyZXBvcyUyRkNvbGxhYm9yYU9ubGluZSUyRkNPREUtZGViaWFuMTE=
U3VpdGVzJTNBJTIwLiUyRg==
U2lnbmVkLUJ5JTNBJTIwJTJGdXNyJTJGc2hhcmUlMkZrZXlyaW5ncyUyRmNvbGxhYm9yYW9ubGluZS1yZWxlYXNlLWtleXJpbmcuZ3Bn
RU9G
JUQwJTlFJUQwJUIxJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJCJUQxJThGJUQwJUI1JUQwJUJDJUMyJUEwJUQwJUI4JUQwJUJEJUQxJTg0JUQwJUJFJUQxJTgwJUQwJUJDJUQwJUIwJUQxJTg2JUQwJUI4JUQxJThFJTIwJUQwJUJFJTIwJUQxJTgwJUQwJUI1JUQwJUJGJUQwJUJFJUQwJUI3JUQwJUI4JUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQxJThGJUQxJTg1JTIwJUQwJUI4JTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUIwJUQwJUIyJUQwJUJCJUQwJUI4JUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUI1JUQxJTgyJUQxJThCJTNB
YXB0LWdldCUyMHVwZGF0ZQ==
apt-get install coolwsd code-brand collaboraofficebasis-ru collaboraoffice-dict-ru collaboraoffice-dict-en apache2 apache2-utils -y
Настройка coolwsd
Настройка CODE осуществляется через файл — /etc/coolwsd/coolwsd.xml
, но более удобный способ настройки через пакет coolconfig
. Выполним основные настройки для работы CODE.
JUQwJTk3JUQwJUIwJUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUJFJUQwJUJCJUQxJThDJTIwJUQwJUIwJUQwJUI0JUQwJUJDJUQwJUI4JUQwJUJEJUQwJUI4JUQxJTgxJUQxJTgyJUQxJTgwJUQwJUIwJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUIwJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUIwJTIwJUQwJUIyJTIwd2ViJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTgxJUQwJUJFJUQwJUJCJUQxJThDJTIwQ09ERS4=
coolconfig set-admin-password
Указываем FQDN имя сервера на котором запущен coolwsd (прим. collaboraonline.example.com):
Y29vbGNvbmZpZyVDMiVBMHNldCVDMiVBMHNlcnZlcl9uYW1lJTIwJTNDZnFkbiUyMG5hbWUlM0U=
Указываем имя хоста которому будет разрешен доступ к демону coolwsd
(прим. nextcloud.example.com):
coolconfig set storage.wopi.host <fqdn name>
JUQwJTkyJTIwJUQxJTgxJUQwJUJCJUQxJTgzJUQxJTg3JUQwJUIwJUQwJUI1JTIwJUQwJUI1JUQxJTgxJUQwJUJCJUQwJUI4JTIwJUQxJTgxJUQwJUI1JUQxJTgwJUQwJUIyJUQwJUI1JUQxJTgwJTIwQ09ERSUyMCVEMCVCMSVEMSU4MyVEMCVCNCVEMCVCNSVEMSU4MiUyMCVEMCVCOCVEMSU4MSVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCNyVEMCVCRSVEMCVCMiVEMCVCMCVEMSU4MiVEMSU4QyVEMSU4MSVEMSU4RiUyMCVEMCVCRCVEMCVCNSVEMSU4MSVEMCVCQSVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCQSVEMCVCOCVEMCVCQyVEMCVCOCUyMCVEMSU4NSVEMCVCRSVEMSU4MSVEMSU4MiVEMCVCMCVEMCVCQyVEMCVCOCUyQyUyMCVEMSU4MiVEMCVCRSUyMCVEMCVCRCVEMCVCNSVEMCVCRSVEMCVCMSVEMSU4NSVEMCVCRSVEMCVCNCVEMCVCOCVEMCVCQyVEMCVCRSUyMCVEMCVCOCVEMCVCNyVEMCVCQyVEMCVCNSVEMCVCRCVEMCVCOCVEMSU4MiVEMSU4QyUyMCVEMCVCMCVEMSU4MiVEMSU4MCVEMCVCOCVEMCVCMSVEMSU4MyVEMSU4MiUyMCVEMSU4MCVEMCVCNSVEMCVCNiVEMCVCOCVEMCVCQyVEMCVCMCUyMGFsaWFzX2dyb3VwcyUyMCVEMCVCMiUyMCVEMCVCNyVEMCVCRCVEMCVCMCVEMSU4NyVEMCVCNSVEMCVCRCVEMCVCOCVEMCVCNSUyMGdyb3VwcyUyMCVEMCVCOCUyMCVEMCVCRSVEMCVCRiVEMSU4MCVEMCVCNSVEMCVCNCVEMCVCNSVEMCVCQiVEMCVCOCVEMSU4MiVEMSU4QyUyMCVEMCVCMyVEMSU4MCVEMSU4MyVEMCVCRiVEMCVCRiVEMSU4MyUyMCVEMCVCNCVEMCVCQiVEMSU4RiUyMCVEMCVCQSVEMCVCMCVEMCVCNiVEMCVCNCVEMCVCRSVEMCVCMyVEMCVCRSUyMCVEMSU4RCVEMCVCQSVEMCVCNyVEMCVCNSVEMCVCQyVEMCVCRiVEMCVCQiVEMSU4RiVEMSU4MCVEMCVCMCUyMCVEMSU4NSVEMCVCRSVEMSU4MSVEMSU4MiVEMCVCMC4=
JUQwJTlBJTIwJUQwJUJGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQxJTgwJUQxJTgzJTIwJUQxJTgzJTIwJUQwJUJEJUQwJUIwJUQxJTgxJTIwJUQwJUJGJUQwJUJCJUQwJUIwJUQwJUJEJUQwJUI4JUQxJTgwJUQxJTgzJUQwJUI1JUQxJTgyJUQxJTgxJUQxJThGJTIwJUQwJUI0JUQwJUIyJUQwJUIwJTIwJUQxJTg1JUQwJUJFJUQxJTgxJUQxJTgyJUQwJUIwJTNB
nextcloud1.example.com
nextcloud2.example.com
JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQxJThEJUQxJTgyJUQwJUJFJUQwJUI5JTIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUJGJUQwJUJGJUQxJThCJTIwJUQxJTg1JUQwJUJFJUQxJTgxJUQxJTgyJUQwJUJFJUQwJUIyJTJDJTIwJUQwJUIyJTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJUQwJUI1JUMyJUEwJTJGZXRjJTJGY29vbHdzZCUyRmNvb2x3c2QueG1sJUMyJUEwJUQwJUIyJTIwJUQxJTgxJUQwJUI1JUQwJUJBJUQxJTg2JUQwJUI4JUQwJUI4JTIwc3RvcmFnZS53b3BpJUMyJUEwJUQwJUJGJUQxJTgwJUQwJUI4JUQwJUIyJUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJTIwJUQwJUJBJTIwJUQwJUIyJUQwJUI4JUQwJUI0JUQxJTgzJTIwJUQxJTgxJUQwJUI1JUQwJUJBJUQxJTg2JUQwJUI4JUQxJThFJTIwYWxpYXNfZ3JvdXBzJTJDJTIwJUQwJUIzJUQwJUI0JUQwJUI1JTIwJUQwJUJFJUQwJUIxJUQxJThGJUQwJUI3JUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQxJThDJUQwJUJEJUQwJUJFJTIwJUQwJUJDJUQwJUI1JUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQwJUIwJUQxJTgyJUQxJTgyJUQxJTgwJUQwJUI4JUQwJUIxJUQxJTgzJUQxJTgyJTIwbW9kZSUyMCVEMSU4MSUyMGZpcnN0JTIwJUQwJUJEJUQwJUIwJTIwZ3JvdXBzJTNB
<alias_groups desc="default mode is 'first' it allows only the first host when groups are not defined. set mode to 'groups' and define group to allow multiple host and its aliases" mode="groups">
<group>
<host allow="true" desc="hostname to allow or deny.">https://nextcloud1.example.com</host>
JTIwJTIwJTIwJTIwJTNDJTJGZ3JvdXAlM0U=
JTIwJTIwJTIwJTIwJTNDZ3JvdXAlM0U=
<host allow="true" desc="hostname to allow or deny.">https://nextcloud2.example.com</host>
JTIwJTIwJTIwJTIwJTNDJTJGZ3JvdXAlM0U=
</alias_groups>
Collabora Online использует протокол WOPI, который требует использования SSL, хотя и может работать в HTTP режиме. Для безопасности лучше и правильней использоваться SSL.
JUQwJUExJUQwJUI1JUQxJTgwJUQxJTgyJUQwJUI4JUQxJTg0JUQwJUI4JUQwJUJBJUQwJUIwJUQxJTgyJTIwJUQwJUJDJUQwJUJFJUQwJUI2JUQwJUJEJUQwJUJFJTIwJUQwJUI4JUQxJTgxJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQxJThDJTIwJUQwJUJCJUQxJThFJUQwJUIxJUQwJUJFJUQwJUI5JTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQwJUIyJUQwJUIwJUQwJUJDJTJDJTIwJUQwJUJBJUQwJUIwJUQwJUJBJTIwJUQwJUIyJUQxJThCJUQwJUJGJUQxJTgzJUQxJTg5JUQwJUI1JUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQwJUIyJUQwJUJEJUQxJTgzJUQxJTgyJUQxJTgwJUQwJUI1JUQwJUJEJUQwJUJEJUQwJUI4JUQwJUJDJTIwJUQwJUE2JUQwJTkwJTJDJTIwJUQwJUIyJUQxJThCJUQwJUJGJUQxJTgzJUQxJTg5JUQwJUI1JUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwTGV0JTYwcyUyMEVuY3J5cHQlMkMlMjAlRDElODIlRDAlQjAlRDAlQkElMjAlRDAlQjglMjAlRDAlQjElRDAlQjUlRDAlQkIlRDElOEIlRDAlQjklMjAlRDAlQkElRDElODMlRDAlQkYlRDAlQkIlRDAlQjUlRDAlQkQlRDAlQkQlRDElOEIlRDAlQjku
JUQwJTk3JUQwJUIwJUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQxJThCJTIwU1NMLiUyMCVEMCU5MiVEMCVCQSVEMCVCQiVEMSU4RSVEMSU4NyVEMCVCMCVEMCVCNSVEMCVCQyUyMFNTTCUyMCVEMCVCOCUyMCVEMSU4MyVEMCVCQSVEMCVCMCVEMCVCNyVEMSU4QiVEMCVCMiVEMCVCMCVEMCVCNSVEMCVCQyUyMCVEMCVCRiVEMSU4MyVEMSU4MiVEMCVCOCUyMCVEMCVCQSUyMCVEMCVCMiVEMCVCMCVEMSU4OCVEMCVCOCVEMCVCQyUyMCVEMSU4NCVEMCVCMCVEMCVCOSVEMCVCQiVEMCVCMCVEMCVCQyUyMCVEMSU4MSVEMCVCNSVEMSU4MCVEMSU4MiVEMCVCOCVEMSU4NCVEMCVCOCVEMCVCQSVEMCVCMCVEMSU4MiVEMCVCRSVEMCVCMiUyMCVEMCVCOCUyMCVEMCVCNyVEMCVCMCVEMCVCQSVEMSU4MCVEMSU4QiVEMSU4MiVEMCVCRSVEMCVCQyVEMSU4MyUyMCVEMCVCQSVEMCVCQiVEMSU4RSVEMSU4NyVEMSU4MyUzQQ==
Y29vbGNvbmZpZyVDMiVBMHNldCVDMiVBMHNzbC5lbmFibGVkJTIwdHJ1ZQ==
coolconfig set ssl.termination false
Y29vbGNvbmZpZyVDMiVBMHNldCVDMiVBMHNzbC5jZXJ0X2ZpbGVfcGF0aCUyMCUzQ3BhdGh0b2NlcnRpZmljYXRlJTNF
Y29vbGNvbmZpZyVDMiVBMHNldCVDMiVBMHNzbC5rZXlfZmlsZV9wYXRoJTIwJTNDcGF0aHRva2V5JTNF
Y29vbGNvbmZpZyVDMiVBMHNldCVDMiVBMHNzbC5jYV9maWxlX3BhdGglMjAlM0NwYXRodG9jZXJ0aWZpY2F0ZSUzRQ==
JUQwJTkyJTIwJUQxJTgxJUQwJUJCJUQxJTgzJUQxJTg3JUQwJUIwJUQwJUI1JTIwJUQwJUJEJUQwJUI1JUQxJTgyJTIwJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUIwJUQwJUJBJUQwJUJFJUQwJUI5JTIwJUQwJUI4JUQwJUJEJUQxJTg0JUQxJTgwJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJBJUQxJTgyJUQxJTgzJUQxJTgwJUQxJThCJTIwJUQwJUE2JUQwJTkwJTJDJTIwJUQwJUIyJUQwJUJFJUQwJUI3JUQwJUJDJUQwJUJFJUQwJUI2JUQwJUJEJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUI4JTIwJUQwJUJBJUQxJTgzJUQwJUJGJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQwJUI4JUQwJUJCJUQwJUI4JTIwJUQwJUIyJUQxJThCJUQwJUJGJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQxJTg3JUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI3JTIwTGV0JTYwcyUyMEVuY3J5cHQlMkMlMjAlRDElODIlRDAlQkUlMjAlRDAlQkQlRDAlQjglRDAlQjYlRDAlQjUlMjAlRDAlQkUlRDAlQkYlRDAlQjglRDElODElRDAlQjAlRDAlQkQlRDAlQkUlMjAlRDAlQkElRDAlQjAlRDAlQkElMjAlRDAlQjIlRDElOEIlRDAlQkYlRDElODMlRDElODElRDElODIlRDAlQjglRDElODIlRDElOEMlMjAlRDElODElRDAlQjAlRDAlQkMlRDAlQkUlRDAlQkYlRDAlQkUlRDAlQjQlRDAlQkYlRDAlQjglRDElODElRDAlQkQlRDAlQkUlRDAlQjklMjAlRDElODElRDAlQjUlRDElODAlRDElODIlRDAlQjglRDElODQlRDAlQjglRDAlQkElRDAlQjAlRDElODIlMjAlRDAlQjQlRDAlQkIlRDElOEYlMjBDT0RFLg==
mkdir -p /opt/ssl/certs/ca && cd /opt/ssl/
b3BlbnNzbCUyMGdlbnJzYSUyMC1vdXQlMjBjZXJ0cyUyRmNhJTJGcm9vdC5rZXkucGVtJTIwMjA0OA==
openssl req -x509 -new -nodes -key certs/ca/root.key.pem -days 9131 -out certs/ca/root.crt.pem -subj "/C=RU/CN=Dummy Authority"
mkdir -p certs/servers
mkdir -p "certs/servers/hostname.example.com"
b3BlbnNzbCUyMGdlbnJzYSUyMC1vdXQlMjAlMjJjZXJ0cyUyRnNlcnZlcnMlMkZob3N0bmFtZS5leGFtcGxlLmNvbSUyRnByaXZrZXkucGVtJTIyJTIwMjA0OCUyMC1rZXklMjAlMjJjZXJ0cyUyRnNlcnZlcnMlMkZob3N0bmFtZS5leGFtcGxlLmNvbSUyRnByaXZrZXkucGVtJTIy
openssl req -key "certs/servers/hostname.example.com/privkey.pem" -new -sha256 -out "certs/servers/hostname.example.com.csr.pem" -subj "/C=RU/O=Dummy Authority/CN=hostname.example.com"
openssl x509 -req -in certs/servers/hostname.example.com.csr.pem -CA certs/ca/root.crt.pem -CAkey certs/ca/root.key.pem -CAcreateserial -out certs/servers/hostname.example.com/cert.pem -days 9131
bXYlMjBjZXJ0cyUyRnNlcnZlcnMlMkZob3N0bmFtZS5leGFtcGxlLmNvbSUyRnByaXZrZXkucGVtJTIwJTJGZXRjJTJGY29vbHdzZCUyRmtleS5wZW0=
bXYlMjBjZXJ0cyUyRnNlcnZlcnMlMkZob3N0bmFtZS5leGFtcGxlLmNvbSUyRmNlcnQucGVtJTIwJTJGZXRjJTJGY29vbHdzZCUyRmNlcnQucGVt
bXYlMjBjZXJ0cyUyRmNhJTJGcm9vdC5jcnQucGVtJTIwJTJGZXRjJTJGY29vbHdzZCUyRmNhLWNoYWluLmNlcnQucGVt
JUQwJTlGJUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQxJTg3JUQwJUJEJUQwJUJFJTIwJUQwJUJFJUQwJUJGJUQwJUI4JUQxJTgxJUQxJThCJUQwJUIyJUQwJUIwJUQxJTgyJUQxJThDJTIwJUQxJTg4JUQwJUIwJUQwJUIzJUQwJUI4JTIwJUQwJUJEJUQwJUI1JTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQxJTgzJTJDJTIwJUQwJUJFJUQxJTgyJUQwJUJDJUQwJUI1JUQxJTg3JUQxJTgzJTIwJUQwJUIyJUQwJUIwJUQwJUI2JUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUJDJUQwJUJFJUQwJUJDJUQwJUI1JUQwJUJEJUQxJTgyJUQxJThCLiUyMCVEMCU5MiVEMCVCQyVEMCVCNSVEMSU4MSVEMSU4MiVEMCVCRSVDMiVBMGhvc3RuYW1lLmV4YW1wbGUuY29tJTIwJUQxJTgzJUQwJUJBJUQwJUIwJUQwJUI3JUQxJThCJUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUIyJUQwJUJFJUQwJUI5JTIwZnFkbiUyMCVEMCVCOCVEMCVCQyVEMSU4RiUyMCVEMSU4MSVEMCVCNSVEMSU4MCVEMCVCMiVEMCVCNSVEMSU4MCVEMCVCMCUyQyUyMCVEMSU4MiVEMCVCMCVEMCVCQSUyMCVEMCVCNiVEMCVCNSUyMCVEMCVCMiVEMCVCNSVEMCVCNyVEMCVCNCVEMCVCNSUyMCVEMCVCMyVEMCVCNCVEMCVCNSUyMCVEMSU4NCVEMCVCOCVEMCVCMyVEMSU4MyVEMSU4MCVEMCVCOCVEMSU4MCVEMSU4MyVEMCVCNSVEMSU4MiVDMiVBMGhvc3RuYW1lLmV4YW1wbGUuY29tJTIwJUQwJUI3JUQwJUIwJUQwJUJDJUQwJUI1JUQwJUJEJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQwJUIyJTIwJUQxJTgyJUQwJUI1JUQwJUJBJUQxJTgxJUQxJTgyJUQwJUI1JTIwJUQwJUJEJUQwJUIwJTIwJUQxJTgxJUQwJUIyJUQwJUJFJUQwJUI1JTIwJUQwJUI3JUQwJUJEJUQwJUIwJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI1LiUyMCVEMCU5NSVEMSU4MSVEMCVCQiVEMCVCOCUyMCVEMSU4MyUyMCVEMCVCQSVEMCVCRSVEMCVCMyVEMCVCRSUyMCVEMCVCQiVEMCVCOCVEMCVCMSVEMCVCRSUyMCVEMCVCMiVEMCVCRSVEMCVCNyVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRCVEMSU4MyVEMSU4MiUyMCVEMCVCMiVEMCVCRSVEMCVCRiVEMSU4MCVEMCVCRSVEMSU4MSVEMSU4QiUyQyUyMCVEMCVCRiVEMSU4MCVEMCVCRSVEMSU4OCVEMSU4MyUyMCVEMCVCMiUyMCVEMCVCQSVEMCVCRSVEMCVCQyVEMCVCQyVEMCVCNSVEMCVCRCVEMSU4MiVEMCVCMCVEMSU4MCVEMCVCOCVEMCVCOC4=
Настройка proxy_reverse
Серверная часть CODE (демон coolwsd
) по умолчанию прослушивает порт 9980
, но для удобства взаимодействия с coolwsd
настроим обратный прокси-сервер на порт 443
(HTTPS) с использованием apache
.
JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQwJUJBJUQwJUJFJUQxJTgwJUQxJTgwJUQwJUI1JUQwJUJBJUQxJTgyJUQwJUJEJUQwJUJFJUQwJUI5JTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQxJThCJTIwQ09ERSUyMCVEMCVCMiVEMCVCQSVEMCVCQiVEMSU4RSVEMSU4NyVEMCVCMCVEMCVCNSVEMCVCQyUyMCVEMCVCRCVEMCVCNSVEMCVCRSVEMCVCMSVEMSU4NSVEMCVCRSVEMSU4NSVEMCVCRSVEMCVCNCVEMCVCOCVEMCVCQyVEMSU4QiVEMCVCNSVDMiVBMCVEMCVCQyVEMCVCRSVEMCVCNCVEMSU4MyVEMCVCQiVEMCVCOCUyMGFwYWNoZSUyMCVFMiU4MCU5NCUyMHNzbCUyQyUyMHByb3h5JTJDJTIwcHJveHlfaHR0cCUyQyUyMHByb3h5X2Nvbm5lY3QlMkMlMjBwcm94eV93c3R1bm5lbC4=
a2enmod ssl
a2enmod proxy
a2enmod proxy_http
YTJlbm1vZCUyMHByb3h5X2Nvbm5lY3Q=
YTJlbm1vZCUyMHByb3h5X3dzdHVubmVs
Создаем файл описания виртуального хоста /etc/apache2/sites-available/collaboraonline.conf
с содержанием:
<VirtualHost *:443>
########################################
# Reverse proxy for Collabora Online
JTIwJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIz
AllowEncodedSlashes NoDecode
SSLProxyEngine On
ProxyPreserveHost On
JTIwU1NMQ2VydGlmaWNhdGVGaWxlJTIwJTJGZXRjJTJGc3NsJTJGJTNDcGF0aHRvY2VydGlmaWNhdGUlM0U=
SSLCertificateKeyFile /etc/ssl/<pathtokey>
JTIwU1NMQ0FDZXJ0aWZpY2F0ZUZpbGUlMjAlMkZldGMlMkZzc2wlMkYlM0NwYXRodG9jZXJ0aWZpY2F0ZSUzRQ==
JTIwJTIzJTIwY2VydCUyMGlzJTIwaXNzdWVkJTIwZm9yJTIwY29sbGFib3Jhb25saW5lLmV4YW1wbGUuY29tJTIwYW5kJTIwd2UlMjBwcm94eSUyMHRvJTIwbG9jYWxob3N0
JTIwU1NMUHJveHlWZXJpZnklMjBOb25l
SSLProxyCheckPeerCN Off
JTIwU1NMUHJveHlDaGVja1BlZXJOYW1lJTIwT2Zm
JTIwJTIzJTIwc3RhdGljJTIwaHRtbCUyQyUyMGpzJTJDJTIwaW1hZ2VzJTJDJTIwZXRjLiUyMHNlcnZlZCUyMGZyb20lMjBjb29sd3Nk
# browser is the client part of Collabora Online
JTIwUHJveHlQYXNzJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJGYnJvd3NlciUyMGh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTk4MCUyRmJyb3dzZXIlMjByZXRyeSUzRDA=
ProxyPassReverse /browser https://127.0.0.1:9980/browser
JTIwJTIzJTIwV09QSSUyMGRpc2NvdmVyeSUyMFVSTA==
JTIwUHJveHlQYXNzJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJGaG9zdGluZyUyRmRpc2NvdmVyeSUyMGh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTk4MCUyRmhvc3RpbmclMkZkaXNjb3ZlcnklMjByZXRyeSUzRDA=
ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery
JTIwJTIzJTIwQ2FwYWJpbGl0aWVz
ProxyPass /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities retry=0
ProxyPassReverse /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities
# Main websocket
JTIwUHJveHlQYXNzTWF0Y2glMjAlMjAlMjAlMjAlMjAlMjAlMjIlMkZjb29sJTJGKC4qKSUyRndzJTI0JTIyJTIwJTIwJTIwJTIwJTIwJTIwd3NzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTk4MCUyRmNvb2wlMkYlMjQxJTJGd3MlMjBub2Nhbm9u
JTIwJTIzJTIwQWRtaW4lMjBDb25zb2xlJTIwd2Vic29ja2V0
ProxyPass /cool/adminws wss://127.0.0.1:9980/cool/adminws
# Download as, Fullscreen presentation and Image upload operations
JTIwUHJveHlQYXNzJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJGY29vbCUyMGh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTk4MCUyRmNvb2w=
JTIwUHJveHlQYXNzUmV2ZXJzZSUyMCUyMCUyMCUyMCUyRmNvb2wlMjBodHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk5ODAlMkZjb29s
# Compatibility with integrations that use the /lool/convert-to endpoint
JTIwUHJveHlQYXNzJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJGbG9vbCUyMGh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTk4MCUyRmNvb2w=
ProxyPassReverse /lool https://127.0.0.1:9980/cool
JTNDJTJGVmlydHVhbEhvc3QlM0U=
Отключаем дефолтный виртуальный хост и включаем collaboraonline.conf
. Перезапускаем apache.
a2dissite 000-default.conf
YTJlbnNpdGUlMjBjb2xsYWJvcmFvbmxpbmUuY29uZg==
systemctl restart apache2
Перезапускаем демон coolwsd
.
c3lzdGVtY3RsJTIwcmVzdGFydCUyMGNvb2x3c2Q=
JUQwJTlBJUQwJUJFJUQwJUJEJUQxJTgxJUQwJUJFJUQwJUJCJUQxJThDJTIwJUQwJUIwJUQwJUI0JUQwJUJDJUQwJUI4JUQwJUJEJUQwJUI4JUQxJTgxJUQxJTgyJUQxJTgwJUQwJUIwJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUIwJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUJEJUQwJUIwJTIwJUQwJUJGJUQwJUJFJTIwJUQwJUIwJUQwJUI0JUQxJTgwJUQwJUI1JUQxJTgxJUQxJTgzJTIwJUUyJTgwJTk0JUMyJUEwaHR0cHMlM0ElMkYlMkZjb2xsYWJvcmFvbmxpbmUuZXhhbXBsZS5jb20lMkZicm93c2VyJTJGZGlzdCUyRmFkbWluJTJGYWRtaW4uaHRtbCUyQyUyMCVEMCVCMyVEMCVCNCVEMCVCNSVDMiVBMGNvbGxhYm9yYW9ubGluZS5leGFtcGxlLmNvbSUyMCVEMSU4MSVEMCVCRSVEMCVCRSVEMSU4MiVEMCVCMiVEMCVCNSVEMSU4MiVEMSU4MSVEMSU4MiVEMCVCMiVEMCVCNSVEMCVCRCVEMCVCRCVEMCVCRSUyMCVEMCVCMiVEMCVCMCVEMSU4OCVEMCVCNSUyMCVEMCVCNyVEMCVCMCVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCRCVEMCVCRSVEMCVCNSUyMEROUyUyMCVEMCVCOCVEMCVCQyVEMSU4RiUyMCVEMSU4MSVEMCVCNSVEMSU4MCVEMCVCMiVEMCVCNSVEMSU4MCVEMCVCMC4=
Посмореть логи демона coolwsd
можно выполнив команду:
journalctl -eu coolwsd
Настройка CODE в Nextcloud
Теперь можно использовать сервер Collabora Online Development Edition в Nextcloud.
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Пойдёт?
Давайте попробуем
Могу вам предложить доступ по ssh. Если готовы, то сделаю учетку и вышлю вам на почту логин и пароль.
Давайте так, пришлите мне файл конфига апач для вирт. хоста колаборы и файл конфига самой колаборы (
/etc/coolwsd/coolwsd.xml
) на почту admin@jakondo.ru, я посмотрю что не так может быть.Так же при запуске службы, сделайте
journalctl -f -eu coolwsd
и тоже в текстовичок вывод, там тоже будет видно в чем и где затык.А это служба отваливающаяся
coolwsd.service — Collabora Online WebSocket Daemon
Loaded: loaded (/usr/lib/systemd/system/coolwsd.service; enabled; preset: enabled)
Active: failed (Result: core-dump) since Fri 2024-12-27 20:45:44 MSK; 4s ago
Duration: 1.425s
Process: 8091 ExecStart=/usr/bin/coolwsd —version —o:sys_template_path=/opt/cool/systemplate —o:child_root_path=/opt/cool/child-roots —o:file_server_root_path=/usr/share/cool>
Main PID: 8091 (code=dumped, signal=ABRT)
CPU: 1.302s
дек 27 20:45:44 srv2 systemd[1]: coolwsd.service: Scheduled restart job, restart counter is at 5.
дек 27 20:45:44 srv2 systemd[1]: coolwsd.service: Start request repeated too quickly.
дек 27 20:45:44 srv2 systemd[1]: coolwsd.service: Failed with result ‘core-dump’.
дек 27 20:45:44 srv2 systemd[1]: Failed to start coolwsd.service — Collabora Online WebSocket Daemon.
дек 27 20:45:44 srv2 systemd[1]: coolwsd.service: Consumed 1.302s CPU time.
[Fri Dec 27 20:14:18.894803 2024] [proxy:error] [pid 7485] (111)Connection refused: AH00957: https: attempt to connect to 127.0.0.1:9980 (127.0.0.1:9980) failed
[Fri Dec 27 20:14:18.894835 2024] [proxy_http:error] [pid 7485] [client 91.194.246.31:41848] AH01114: HTTP: failed to make connection to backend: 127.0.0.1
[Fri Dec 27 20:14:26.681771 2024] [proxy:error] [pid 7513] (111)Connection refused: AH00957: https: attempt to connect to 127.0.0.1:9980 (127.0.0.1:9980) failed
[Fri Dec 27 20:14:26.681806 2024] [proxy_http:error] [pid 7513] [client 91.194.246.31:34228] AH01114: HTTP: failed to make connection to backend: 127.0.0.1
[Fri Dec 27 20:14:28.462010 2024] [proxy:error] [pid 7475] (111)Connection refused: AH00957: https: attempt to connect to 127.0.0.1:9980 (127.0.0.1:9980) failed
[Fri Dec 27 20:14:28.462045 2024] [proxy_http:error] [pid 7475] [client 91.194.246.31:34232] AH01114: HTTP: failed to make connection to backend: 127.0.0.1
[Fri Dec 27 20:17:55.912543 2024] [proxy:error] [pid 7488] (111)Connection refused: AH00957: https: attempt to connect to 127.0.0.1:9980 (127.0.0.1:9980) failed
[Fri Dec 27 20:17:55.912601 2024] [proxy_http:error] [pid 7488] [client 91.194.246.31:50824] AH01114: HTTP: failed to make connection to backend: 127.0.0.1, referer: https://jakondo.>
[Fri Dec 27 20:18:02.503819 2024] [proxy:error] [pid 7533] (111)Connection refused: AH00957: https: attempt to connect to 127.0.0.1:9980 (127.0.0.1:9980) failed
[Fri Dec 27 20:18:02.503905 2024] [proxy_http:error] [pid 7533] [client 91.194.246.31:46002] AH01114: HTTP: failed to make connection to backend: 127.0.0.1, referer: https://jakondo.>
[Fri Dec 27 20:18:04.664505 2024] [proxy:error] [pid 7485] (111)Connection refused: AH00957: https: attempt to connect to 127.0.0.1:9980 (127.0.0.1:9980) failed
[Fri Dec 27 20:18:04.664528 2024] [proxy_http:error] [pid 7485] [client 91.194.246.31:46008] AH01114: HTTP: failed to make connection to backend: 127.0.0.1, referer: https://jakondo.>
[Fri Dec 27 20:20:02.444727 2024] [proxy:error] [pid 7513] (111)Connection refused: AH00957: https: attempt to connect to 127.0.0.1:9980 (127.0.0.1:9980) failed
[Fri Dec 27 20:20:02.444763 2024] [proxy_http:error] [pid 7513] [client 91.194.246.31:55502] AH01114: HTTP: failed to make connection to backend: 127.0.0.1
[Fri Dec 27 20:20:02.463818 2024] [proxy:error] [pid 7486] (111)Connection refused: AH00957: https: attempt to connect to 127.0.0.1:9980 (127.0.0.1:9980) failed
[Fri Dec 27 20:20:02.463849 2024] [proxy_http:error] [pid 7486] [client 91.194.246.31:55516] AH01114: HTTP: failed to make connection to backend: 127.0.0.1
админка тоже не открывается
Да вообще апаче себя странно ведёт. Понимаю, что в нем заковырка. Он мне вообще при обращении office.e-net.su выкидывает на сайт по-умолчанию со страницей апаче. Но при этом я конфигурацию дефолтовую отключил. Как только найду логи, то посмотрю. Спасибо, что отозвались.
И сама служба coolwsd.service тоже вроде бы стартует. Но потом красный статус. не нравится ей что то.
Failed to connect to the remote server: Server error: `GET https://office.e-net.su/hosting/discovery` resulted in a `503 Service Unavailable` response: 503 Service Unavailable <h1 (truncated…)
А вот это пишет браузер NC при попытке настройки своего офиса
А админка https://office.e-net.su/browser/dist/admin/admin.html открывается ? Что логи apache пишет ?
Спасибо. Самый краткий и конкретный подход. Но не заводится пока. По https пишут в брвузере сервер на обслуживании.