# Развёртывание F7 Office (на базе Collabora Online / coolwsd) Инструкция для переноса на Git и установки на новую машину через `git clone`. --- ## 1. Пути к файлам (из службы coolwsd и конфигов) ### Служба coolwsd - **Конфиг:** `/etc/coolwsd/coolwsd.xml` - **SSL (не класть в Git):** `/etc/coolwsd/cert.pem`, `key.pem`, `ca-chain.cert.pem` - **Доп. конфиг:** `/etc/coolwsd/coolkitconfig.xcu` - **Корень файлов (из coolwsd.xml):** `file_server_root_path` = `browser/../` → каталог с `browser` = **`/usr/share/coolwsd`** - **Клиент (статика):** `/usr/share/coolwsd/browser/` — отдаётся по URL `/browser/` ### Apache (reverse proxy) - **VHost (SSL):** `/etc/apache2/sites-available/collabora-le-ssl.conf` - **Общий фрагмент:** `/etc/apache2/conf-available/coolwsd.conf` - **Nginx (если используется):** `/etc/nginx/snippets/coolwsd.conf` ### APT (репозиторий Collabora) - **Файл репозитория:** `/etc/apt/sources.list.d/` — файл с `collaboraonline.com` / `CODE-ubuntu2204` - **Хук после установки:** `/etc/apt/apt.conf.d/25coolwsd` ### Изменённые файлы F7 Office (брендинг, текст, ссылки) | Путь на сервере | Описание | |-----------------|----------| | `/usr/share/coolwsd/browser/dist/f7cloud/branding.js` | F7 Office, URL f7cloud.com | | `/usr/share/coolwsd/browser/dist/f7cloud/branding.css` | FORBION, стили | | `/usr/share/coolwsd/browser/dist/f7cloud/branding-desktop.css` | FORBION | | `/usr/share/coolwsd/browser/dist/f7cloud/branding-mobile.css` | FORBION | | `/usr/share/coolwsd/browser/dist/f7cloud/branding-tablet.css` | FORBION | | `/usr/share/coolwsd/browser/dist/f7cloud/loading-preview.html` | Страница просмотра экрана загрузки | | `/usr/share/coolwsd/browser/dist/branding.js` | FORBION, без ссылки col.la | | `/usr/share/coolwsd/browser/dist/branding.css` | FORBION | | `/usr/share/coolwsd/browser/dist/branding-mobile.css` | FORBION | | `/usr/share/coolwsd/browser/dist/branding-tablet.css` | FORBION | | `/usr/share/coolwsd/browser/dist/cool.html` | F7 Office в «О программе» | | `/usr/share/coolwsd/browser/dist/welcome/welcome.html` | F7 Office, без ссылок Collabora | | `/usr/share/coolwsd/browser/dist/wasm.html` | title F7 Office | | `/usr/share/coolwsd/browser/dist/src/layer/tile/CanvasTileUtils.js` | FORBION | | `/usr/share/coolwsd/browser/dist/src/layer/tile/TileWorker.js` | FORBION | | `/etc/apache2/sites-available/collabora-le-ssl.conf` | Alias на `dist/f7cloud` | | `/etc/coolwsd/coolwsd.xml` | WOPI host, SSL, общие настройки | --- ## 2. Структура репозитория для Git Рекомендуемая структура в репозитории (чтобы после `git clone` можно было всё расставить скриптом): ``` f7office-deploy/ ├── README.md ├── DEPLOY.md # эта инструкция ├── install.sh # копирование файлов на целевую машину ├── etc/ │ ├── coolwsd/ │ │ └── coolwsd.xml │ └── apache2/ │ └── sites-available/ │ └── collabora-le-ssl.conf └── usr/share/coolwsd/browser/dist/ ├── branding.js ├── branding.css ├── branding-mobile.css ├── branding-tablet.css ├── cool.html ├── wasm.html ├── welcome/ │ └── welcome.html ├── src/layer/tile/ │ ├── CanvasTileUtils.js │ └── TileWorker.js └── f7cloud/ ├── branding.js ├── branding.css ├── branding-desktop.css ├── branding-mobile.css ├── branding-tablet.css └── loading-preview.html ``` В Git класть только эти изменённые файлы (и при необходимости `f7cloud/images/` если меняли картинки). Остальное (bundle.js, l10n, admin и т.д.) ставится пакетами `coolwsd` и `code-brand`. --- ## 3. Установка на новую машину (после git clone) ### 3.1. Установка пакетов ```bash # Репозиторий Collabora CODE (Ubuntu 22.04) sudo apt-get install -y apt-transport-https ca-certificates # Добавить репозиторий из https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-ubuntu2204 sudo apt-get update sudo apt-get install -y coolwsd code-brand ``` ### 3.2. Клонирование и установка кастомизации F7 Office ```bash git clone https://git.f7cloud.ru/.../f7office-deploy.git cd f7office-deploy sudo ./install.sh ``` ### 3.3. Скрипт install.sh (пример) Скрипт должен: 1. Копировать `usr/share/coolwsd/browser/dist/*` в `/usr/share/coolwsd/browser/dist/` 2. Копировать `etc/coolwsd/coolwsd.xml` в `/etc/coolwsd/` (если нужна ваша конфигурация) 3. Копировать конфиг Apache в `/etc/apache2/sites-available/` и включить сайт 4. Выставить владельца/права при необходимости (coolwsd обычно от пользователя `cool`) 5. Перезапустить: `systemctl restart coolwsd`, `systemctl reload apache2` ### 3.4. Важно: тема «nextcloud» → «f7cloud» Папка с брендингом переименована в **f7cloud**. Если ваш WOPI-хост (Nextcloud/F7 и т.п.) в запросе к coolwsd передаёт тему `nextcloud`, то coolwsd будет искать каталог `dist/nextcloud/`. Варианты: - **Вариант A:** В репозитории и на сервере оставить каталог **f7cloud**. Настроить WOPI-хост так, чтобы он передавал тему `f7cloud` (если ваш хост это поддерживает). - **Вариант B:** В `install.sh` после копирования создать симлинк: `ln -sf /usr/share/coolwsd/browser/dist/f7cloud /usr/share/coolwsd/browser/dist/nextcloud` Тогда запросы к теме `nextcloud` будут брать файлы из `f7cloud`. --- ## 4. После apt upgrade Пакеты `coolwsd` и `code-brand` могут перезаписать файлы в `/usr/share/coolwsd/browser/dist/`. После `apt upgrade` при необходимости снова выполнить: ```bash cd /path/to/f7office-deploy sudo ./install.sh ``` Либо настроить `dpkg-divert` на нужные файлы, чтобы пакеты их не перезаписывали. --- ## 5. Итоговые пути для копирования в репозиторий Все перечисленные в таблице выше файлы должны лежать в репозитории в структуре `usr/share/...` и `etc/...` как в разделе 2, чтобы `install.sh` мог разложить их в `/usr/share/coolwsd/` и `/etc/`.