Aceasta e o versiune anterioară a paginii.
Ghid complet de instalare Euro-Office Document Server
Euro-Office Document Server este un server de documente open-source compatibil cu formatele Office (``.docx``, ``.xlsx``, ``.pptx``) care poate fi instalat nativ pe mai multe distribuții Linux sau rulat ca un container Docker. Acest ghid acoperă instalarea nativă pe Ubuntu, Debian și Fedora, instalarea prin Docker, verificarea funcționării și integrarea cu Nextcloud.
Cerințe generale de sistem
Indiferent de metoda de instalare aleasă, serverul are nevoie de:
- minimum 4 GB RAM
- minimum 10 GB spațiu liber pe disc (5 GB pentru Docker)
Instalare nativă
Pasul 1 - Instalează dependențele
Euro-Office necesită PostgreSQL, Redis, RabbitMQ, Nginx și Supervisor. Pe Ubuntu 24.04 LTS (arhitecturi ``amd64`` și ``arm64``), toate sunt disponibile direct din depozitele oficiale:
sudo apt-get update sudo apt-get install -y postgresql redis-server rabbitmq-server nginx supervisor
Înainte de a instala dependențele pe Debian 12 (Bookworm), trebuie activată componenta ``contrib``, deoarece pachetul ``ttf-mscorefonts-installer`` necesar de Euro-Office se află acolo și nu este disponibil implicit. Editează ``/etc/apt/sources.list`` și adaugă ``contrib`` la fiecare linie:
deb http://deb.debian.org/debian bookworm main contrib deb http://deb.debian.org/debian bookworm-updates main contrib deb http://deb.debian.org/debian-security/ bookworm-security main contrib
Actualizează indexul și instalează dependențele:
sudo apt-get update sudo apt-get install -y postgresql redis-server rabbitmq-server nginx supervisor
Pe Fedora 41+, RabbitMQ nu este disponibil în depozitele implicite. Activează mai întâi depozitul packagecloud:
curl -1sLf 'https://packagecloud.io/rabbitmq/rabbitmq-server/script.rpm.sh' | sudo bash
Pe Fedora, Redis se numește Valkey. Instalează toate dependențele:
sudo dnf install -y \ postgresql-server postgresql postgresql-contrib \ valkey \ rabbitmq-server \ nginx \ supervisor
Inițializează PostgreSQL și pornește toate serviciile:
sudo postgresql-setup --initdb sudo systemctl enable --now postgresql valkey rabbitmq-server nginx supervisor
Notă: Rocky Linux 9 nu este suportat din cauza unei incompatibilități cu versiunea glibc (2.34 față de 2.35 necesară). Folosește Fedora 41+ sau instalarea prin Docker.
Pasul 2 - Configurează autentificarea PostgreSQL
Pe Ubuntu, PostgreSQL este configurat implicit cu autentificare prin socket pentru utilizatorul ``postgres`` - nu sunt necesare modificări suplimentare.
Pe Debian, PostgreSQL este configurat implicit cu autentificare prin socket pentru utilizatorul ``postgres`` - nu sunt necesare modificări suplimentare.
Fedora folosește implicit autentificarea de tip ``ident`` pentru PostgreSQL, care blochează conectările cu parolă. Editează ``/var/lib/pgsql/data/pg_hba.conf`` și schimbă ``ident`` în ``md5`` pe liniile pentru ``127.0.0.1`` și ``::1``:
# înainte host all all 127.0.0.1/32 ident host all all ::1/128 ident # după host all all 127.0.0.1/32 md5 host all all ::1/128 md5
Reîncarcă PostgreSQL:
sudo systemctl reload postgresql
Pasul 3 - Creează baza de date
Scriptul de post-instalare se conectează la PostgreSQL în timpul instalării, deci utilizatorul și baza de date trebuie să existe dinainte:
sudo -u postgres psql -c "CREATE USER ds WITH PASSWORD 'ds';" sudo -u postgres psql -c "CREATE DATABASE ds OWNER ds;"
Pasul 4 - Pre-configurează răspunsurile instalatorului
Pachetul ``.deb`` solicită detaliile de conexiune la baza de date în mod non-interactiv. Furnizează răspunsurile în avans ca să nu fie nevoie de input manual:
echo "ds ds/db-type select postgres ds ds/db-host string localhost ds ds/db-port string 5432 ds ds/db-user string ds ds ds/db-pwd password ds ds ds/db-name string ds" | sudo debconf-set-selections
Pachetul ``.deb`` solicită detaliile de conexiune la baza de date în mod non-interactiv. Furnizează răspunsurile în avans ca să nu fie nevoie de input manual:
echo "ds ds/db-type select postgres ds ds/db-host string localhost ds ds/db-port string 5432 ds ds/db-user string ds ds ds/db-pwd password ds ds ds/db-name string ds" | sudo debconf-set-selections
Pe Fedora, instalatorul RPM nu folosește debconf - configurarea bazei de date se face manual la pașii următori.
Pasul 5 - Descarcă pachetul
Descarcă cea mai recentă versiune de pe GitHub Releases. Înlocuiește ``<version>`` cu versiunea dorită (de exemplu ``9.3.1``) și ``<arch>`` cu arhitectura sistemului tău.
Arhitecturi disponibile: ``amd64``, ``arm64``
wget "https://github.com/Euro-Office/DocumentServer/releases/download/v<version>/euro-office-documentserver_<version>_<arch>.deb" \ -O /tmp/euro-office-documentserver.deb
Arhitecturi disponibile: ``amd64``, ``arm64``
wget "https://github.com/Euro-Office/DocumentServer/releases/download/v<version>/euro-office-documentserver_<version>_<arch>.deb" \ -O /tmp/euro-office-documentserver.deb
Arhitecturi disponibile: ``x86_64``, ``aarch64``
wget "https://github.com/Euro-Office/DocumentServer/releases/download/v<version>/euro-office-documentserver-<version>.x86_64.rpm" \ -O /tmp/euro-office-documentserver.rpm
Pasul 6 - Instalează pachetul
sudo apt-get install -y /tmp/euro-office-documentserver.deb
Instalatorul va genera fonturile, cheile WOPI și cache-urile JS - procesul durează aproximativ un minut. O instalare reușită se încheie cu:
Congratulations, the Euro-Office DocumentServer has been installed successfully!
sudo apt-get install -y /tmp/euro-office-documentserver.deb
Instalatorul va genera fonturile, cheile WOPI și cache-urile JS - procesul durează aproximativ un minut. O instalare reușită se încheie cu:
Congratulations, the Euro-Office DocumentServer has been installed successfully!
Pachetul ``msttcore-fonts`` nu este disponibil în depozitele Fedora, deci instalarea trebuie să ignore acea dependență cu ``–nodeps``:
sudo rpm -ivh --nodeps /tmp/euro-office-documentserver.rpm
Spre deosebire de varianta ``.deb``, instalatorul RPM nu rulează automat toate scripturile de configurare - sunt necesari câțiva pași manuali suplimentari.
Pasul 7 - Pași suplimentari după instalare (doar Fedora)
Nu sunt necesari pași suplimentari. Continuă cu verificarea serviciilor.
Nu sunt necesari pași suplimentari. Continuă cu verificarea serviciilor.
Inițializează schema bazei de date
Instalatorul RPM nu aplică schema bazei de date automat. Aplică-o manual:
sudo -u postgres psql -d ds \ -f /var/www/onlyoffice/documentserver/server/schema/postgresql/createdb.sql sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO ds;" sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO ds;"
Corectează configurația Nginx
Fișierul implicit ``/etc/nginx/nginx.conf`` din Fedora necesită două modificări.
1. Directorul ``conf.d`` nu este inclus. Găsește această linie în blocul ``http {}`` și decomentează-o:
# înainte # include /etc/nginx/conf.d/*.conf; # după include /etc/nginx/conf.d/*.conf;
2. Există un bloc ``server {}`` implicit pe portul 80 care interceptează cererile. Comentează întregul bloc care ascultă pe portul 80 (de obicei 15-20 de linii):
# server {
# listen 80;
# listen [::]:80;
# server_name _;
# root /usr/share/nginx/html;
# ...
# }
Verifică și reîncarcă Nginx:
sudo nginx -t && sudo systemctl reload nginx
Instalează OpenSSL și generează cache-urile JS
Scriptul de generare a cache-urilor necesită ``openssl``, care nu este instalat implicit pe Fedora. Fără acest pas, editorul va eșua la încărcare cu o eroare de tipul ``Cannot GET /9.3.1-/web-apps/…``:
sudo dnf install -y openssl sudo /usr/bin/documentserver-flush-cache.sh
Configurează autentificarea JWT
Instalatorul RPM nu generează configurația JWT automat. Creează ``/etc/euro-office/documentserver/local.json`` cu un secret ales de tine - toate cele trei valori trebuie să fie identice:
sudo tee /etc/euro-office/documentserver/local.json > /dev/null << 'EOF' { "services": { "CoAuthoring": { "token": { "enable": { "request": { "inbox": true, "outbox": true }, "browser": true }, "secret": { "inbox": { "string": "REPLACE_WITH_YOUR_SECRET" }, "outbox": { "string": "REPLACE_WITH_YOUR_SECRET" }, "browser": { "string": "REPLACE_WITH_YOUR_SECRET" } } } } } } EOF
Reține secretul configurat - vei avea nevoie de el la integrarea cu Nextcloud.
Pornește serviciile serverului de documente
sudo systemctl enable --now ds-docservice ds-converter ds-metrics
Pasul 8 - Verifică serviciile
systemctl is-active ds-docservice ds-converter ds-metrics nginx
Rezultatul așteptat pentru toate patru servicii: ``active``
Verifică și endpoint-ul de sănătate:
curl http://localhost/healthcheck
Rezultatul așteptat: ``true``
Instalare prin Docker
Cea mai rapidă metodă de a porni Euro-Office, care funcționează pe orice distribuție Linux cu Docker Engine 20.10 sau mai nou instalat. Necesită minimum 4 GB RAM și 5 GB spațiu pe disc pentru imagine.
Pornire rapidă
docker run -d \ --name euro-office \ --restart=unless-stopped \ -p 80:80 \ -e JWT_ENABLED=true \ -e JWT_SECRET=your-secret \ ghcr.io/euro-office/documentserver:latest
Serverul este gata când verificarea de sănătate returnează ``true``:
curl http://localhost/healthcheck
Tag-uri disponibile pentru imagine
| Tag | Utilizare |
|---|---|
| ``latest`` | Cea mai recentă versiune stabilă - recomandat pentru producție |
| ``nightly`` | Build-uri nocturne din branch-ul ``main`` - nu pentru producție |
| ``latest-dev`` | Imagine de dezvoltare cu unelte de compilare incluse |
În producție, fixează o versiune specifică în loc de ``latest``:
ghcr.io/euro-office/documentserver:9.3.1
Date persistente
Implicit, documentele și configurația se pierd când containerul este șters. Montează volume locale pentru a le păstra între reporniri:
docker run -d \ --name euro-office \ --restart=unless-stopped \ -p 80:80 \ -e JWT_ENABLED=true \ -e JWT_SECRET=your-secret \ -v /path/to/data:/var/lib/euro-office/documentserver \ -v /path/to/logs:/var/log/euro-office/documentserver \ -v /path/to/config:/etc/euro-office/documentserver \ ghcr.io/euro-office/documentserver:latest
Variabile de mediu disponibile
| Variabilă | Valoare implicită | Descriere |
|---|---|---|
| ``JWT_ENABLED`` | ``true`` | Activează autentificarea JWT |
| ``JWT_SECRET`` | - | Secretul partajat - obligatoriu în producție |
| ``JWT_HEADER`` | ``Authorization`` | Header-ul HTTP care transportă JWT-ul |
| ``EXAMPLE_ENABLED`` | ``false`` | Activează aplicația de exemplu inclusă |
| ``WOPI_ENABLED`` | ``false`` | Activează suportul pentru protocolul WOPI |
| ``ALLOW_PRIVATE_IP_ADDRESS`` | ``false`` | Permite serverului să acceseze adrese IP private |
| ``NGINX_WORKER_PROCESSES`` | ``1`` | Numărul de procese Nginx worker |
| ``GENERATE_FONTS`` | ``true`` | Regenerează cache-ul de fonturi la pornire |
| ``DB_HOST`` | ``localhost`` | Gazda PostgreSQL (pentru bază de date externă) |
| ``DB_NAME`` | ``eurooffice`` | Numele bazei de date PostgreSQL |
| ``DB_USER`` | ``eurooffice`` | Utilizatorul PostgreSQL |
| ``REDIS_SERVER_HOST`` | ``localhost`` | Gazda Redis (pentru Redis extern) |
| ``AMQP_HOST`` | ``localhost`` | Gazda RabbitMQ (pentru RabbitMQ extern) |
Verificare cu aplicația de exemplu
Euro-Office include o aplicație Node.js de testare care permite deschiderea și editarea documentelor direct în navigator. Este destinată exclusiv testării - nu o expune pe un server public, deoarece nu are niciun control de acces.
Pornește serviciul de exemplu:
sudo systemctl start ds-example
systemctl is-active ds-example
Configurează aplicația editând ``/etc/euro-office/documentserver-example/local.json``:
sudo tee /etc/euro-office/documentserver-example/local.json > /dev/null << 'EOF' { "server": { "siteUrl": "/", "exampleUrl": "http://YOUR_SERVER_IP/example", "token": { "enable": true, "secret": "REPLACE_WITH_YOUR_JWT_SECRET", "authorizationHeader": "Authorization" } } } EOF
Înlocuiește ``YOUR_SERVER_IP`` cu adresa IP sau numele de gazdă al serverului, fără slash la final. Dacă rulezi local pe propria mașină, poți folosi ``http://localhost/example``. În containere, mașini virtuale sau servere la distanță, folosește adresa IP reală - altfel serverul va genera URL-uri de callback incorecte.
Secretul JWT este generat automat de instalatorul ``.deb``. Îl găsești cu:
sudo grep -A1 '"browser"' /etc/euro-office/documentserver/local.json | grep '"string"'
Repornește serviciul după configurare:
sudo systemctl restart ds-example
Deschide ``http:<adresa-ip>/example/`` în navigator și apasă Create pentru a deschide un document gol în editor. Pentru a dezactiva aplicația de exemplu după testare: <code bash> sudo systemctl stop ds-example sudo systemctl disable ds-example </code>
Pornește serviciul de exemplu:
sudo systemctl start ds-example
systemctl is-active ds-example
Configurează aplicația editând ``/etc/euro-office/documentserver-example/local.json``:
sudo tee /etc/euro-office/documentserver-example/local.json > /dev/null << 'EOF' { "server": { "siteUrl": "/", "exampleUrl": "http://YOUR_SERVER_IP/example", "token": { "enable": true, "secret": "REPLACE_WITH_YOUR_JWT_SECRET", "authorizationHeader": "Authorization" } } } EOF
Pe Fedora folosește întotdeauna adresa IP reală a serverului în loc de ``localhost`` - altfel serverul va genera URL-uri de callback incorecte. Secretul JWT este cel setat manual la pasul de configurare JWT.
Repornește serviciul după configurare:
sudo systemctl restart ds-example
Deschide ``http:<adresa-ip>/example/`` în navigator și apasă Create pentru a deschide un document gol în editor. Pentru a dezactiva aplicația de exemplu după testare: <code bash> sudo systemctl stop ds-example sudo systemctl disable ds-example </code>
Pornește containerul cu ``EXAMPLE_ENABLED=true`` pe un port alternativ:
docker run -d \ --name euro-office \ --restart=unless-stopped \ -p 8080:80 \ -e JWT_ENABLED=true \ -e JWT_SECRET=your-secret \ -e EXAMPLE_ENABLED=true \ ghcr.io/euro-office/documentserver:latest
Deschide ``http://localhost:8080/example/`` în navigator. Nu activa ``EXAMPLE_ENABLED`` în producție.
Integrare cu Nextcloud
Euro-Office se integrează cu Nextcloud printr-o aplicație dedicată. Cerințe:
- un server Euro-Office Document Server funcțional și accesibil din rețeaua instanței Nextcloud
- secretul JWT configurat pe serverul de documente
- Nextcloud 34 sau mai nou
Pasul 1 - Instalează aplicația Euro-Office în Nextcloud
- Autentifică-te în Nextcloud ca administrator.
- Mergi la Apps → Office & text.
- Caută Euro-Office integration și apasă Download and enable.
Pasul 2 - Configurează conexiunea
- Mergi la Settings → Administration → Euro-Office.
- Introdu URL-ul serverului de documente, inclusiv protocolul și portul (de exemplu ``https://eurooffice.example.com``).
- Introdu secretul JWT configurat pe serverul de documente.
- Apasă Save.
După salvare, fișierele ``.docx``, ``.xlsx`` și ``.pptx`` din Nextcloud se vor deschide direct în editorul Euro-Office, din navigator.
Codul sursă al aplicației de integrare este disponibil la github.com/Euro-Office/eurooffice-nextcloud.
Actualizare și dezinstalare
Actualizare
wget "https://github.com/Euro-Office/DocumentServer/releases/download/v<new-version>/euro-office-documentserver_<new-version>_<arch>.deb" \ -O /tmp/euro-office-documentserver.deb sudo apt-get install -y /tmp/euro-office-documentserver.deb
Dezinstalare
sudo apt-get remove --purge euro-office-documentserver sudo -u postgres psql -c "DROP DATABASE ds;" sudo -u postgres psql -c "DROP USER ds;"
Actualizare
wget "https://github.com/Euro-Office/DocumentServer/releases/download/v<new-version>/euro-office-documentserver-<new-version>.x86_64.rpm" \ -O /tmp/euro-office-documentserver.rpm sudo rpm -Uvh --nodeps /tmp/euro-office-documentserver.rpm sudo /usr/bin/documentserver-flush-cache.sh
Dezinstalare
sudo rpm -e euro-office-documentserver sudo -u postgres psql -c "DROP DATABASE ds;" sudo -u postgres psql -c "DROP USER ds;"
Actualizare
docker pull ghcr.io/euro-office/documentserver:latest docker stop euro-office && docker rm euro-office # rulează din nou comanda docker run cu aceiași parametri
Dezinstalare
docker stop euro-office docker rm euro-office docker rmi ghcr.io/euro-office/documentserver:latest
Care metodă de instalare să alegi?
| Docker | Ubuntu | Debian | Fedora | |
|---|---|---|---|---|
| Recomandat pentru producție | Da | Da | Da | - |
| Cel mai ușor de actualizat | Da | - | - | - |
| Control complet asupra sistemului | - | Da | Da | Da |
| Integrare Nextcloud | Da | Da | Da | Da |
| Pași de configurare manuală | Puțini | Mediu | Mediu | Mulți |
Docker este cea mai rapidă opțiune și cea mai ușor de actualizat. Instalarea nativă pe Ubuntu sau Debian este recomandată când ai nevoie de control deplin asupra sistemului sau când integrezi Euro-Office cu servicii deja existente pe server. Fedora necesită cei mai mulți pași manuali și este mai potrivită pentru utilizatorii familiarizați cu ecosistemul RPM.