Ana içeriğe geç

ONLYOFFICE Docs'u yerel sunucu için derleme

Giriş​

ONLYOFFICE Docs, metin belgeleri, e-tablolar ve sunumlar için görüntüleyiciler ve editörler içeren, Office Open XML biçimleriyle (.docx, .xlsx, .pptx) tam uyumlu ve gerçek zamanlı ortak düzenlemeyi sağlayan çevrimiçi bir ofis paketidir.

Özel olarak tasarlanmış build_tools ile ONLYOFFICE Docs'u kaynak kodlardan kolayca derleyebilir ve çözümü yerel sunucunuza dağıtabilirsiniz. build_tools, derleme işlemi için gereken tüm bileşenleri, ONLYOFFICE Docs'un doğru çalışması için gereken tüm bağımlılıkları otomatik olarak alıp kurmanızı, ayrıca ONLYOFFICE Docs kaynak kodunun en son sürümünü alıp tüm bileşenlerini derlemenizi sağlar.

Önemli

Yalnızca master dalından derlenen ürünlerin doğru çalışacağını garanti edebiliriz.

Sistem gereksinimleri​

Donanım

  • CPU: 4 çekirdek
  • RAM: en az 8 GB, ancak ana bilgisayar işletim sistemine bağlıdır. Daha fazlası daha iyidir
  • SSD: en az 100 GB boş alan
  • SWAP: en az 4 GB, ancak ana bilgisayar işletim sistemine bağlıdır. Daha fazlası daha iyidir

Yazılım

  • OS: 64 bit Ubuntu 24.04
not

Çözüm Ubuntu 24.04 üzerinde test edilmiştir. Diğer dağıtımlar burada açıklanmayan bazı özel işlemler gerektirebilir.

Bağımlılıkları kurma​

Python ve Git bilgisayarınızda henüz kurulu değilse bunları kurmanız gerekebilir. Bunun için aşağıdaki komutu kullanabilirsiniz:

sudo apt-get install -y python3 git

ONLYOFFICE Docs kaynak kodunu derleme​

  1. build_tools deposunu klonlayın:

    git clone https://github.com/ONLYOFFICE/build_tools.git
  2. build_tools/tools/linux dizinine gidin:

    cd build_tools/tools/linux
  3. ONLYOFFICE Docs'u derlemek için automate.py betiğini server parametresini belirterek çalıştırın:

    python3 ./automate.py server
    not

    Betiği parametresiz çalıştırırsanız, ONLYOFFICE Docs ile birlikte Document Builder ve Desktop Editors da derlenir.

    python3 ./automate.py

    Gerekirse, betiği ilgili ürünlere karşılık gelen parametrelerle çalıştırarak birden fazla ürünü aynı anda derleyebilirsiniz. Document Builder'ı derleme hakkında daha fazla bilgi edinmek için bu makaleyi okuyabilirsiniz. Desktop Editors'ı derleme hakkında daha fazla bilgi için bu makaleye bakın.

Betik çalışırken bekleyin. Bilgisayarınızın yeteneklerine bağlı olarak bu işlem hatırı sayılır bir süre alabilir. Örneğin 4x2.3GHz vCPUs üzerinde en az 3 saat sürer.

Betik, ONLYOFFICE Docs'un parçası olan tüm bağımlılıkları ve bileşenleri derleyecektir.

Derlenen ONLYOFFICE Docs ../../out/linux_64/onlyoffice/documentserver/ dizininde bulunacaktır.

NGINX'i kurma ve yapılandırma​

ONLYOFFICE Docs, web sunucusu olarak NGINX kullanır.

NGINX'i kurma ve yapılandırma​

  1. NGINX'i kurun:

    sudo apt-get install nginx
  2. Varsayılan web sitesini devre dışı bırakın:

    sudo rm -f /etc/nginx/sites-enabled/default
  3. /etc/nginx/sites-available/onlyoffice-documentserver dosyasını aşağıdaki içerikle oluşturun:

    map $http_host $this_host {
    "" $host;
    default $http_host;
    }
    map $http_x_forwarded_proto $the_scheme {
    default $http_x_forwarded_proto;
    "" $scheme;
    }
    map $http_x_forwarded_host $the_host {
    default $http_x_forwarded_host;
    "" $this_host;
    }
    map $http_upgrade $proxy_connection {
    default upgrade;
    "" close;
    }
    proxy_set_header Host $http_host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $proxy_connection;
    proxy_set_header X-Forwarded-Host $the_host;
    proxy_set_header X-Forwarded-Proto $the_scheme;
    server {
    listen 0.0.0.0:80;
    listen [::]:80 default_server;
    server_tokens off;
    rewrite ^\/OfficeWeb(\/apps\/.*)$ /web-apps$1 redirect;
    location / {
    proxy_pass http://localhost:8000;
    proxy_http_version 1.1;
    }
    }
  4. Yeni oluşturulan web sitesinin sembolik bağlantısını /etc/nginx/sites-available dizinine ekleyin:

    sudo ln -s /etc/nginx/sites-available/onlyoffice-documentserver /etc/nginx/sites-enabled/onlyoffice-documentserver
  5. Değişiklikleri uygulamak için NGINX'i yeniden başlatın:

    sudo nginx -s reload

Yazı tipi verilerini oluşturma​

cd out/linux_64/onlyoffice/documentserver/
mkdir fonts
LD_LIBRARY_PATH=${PWD}/server/FileConverter/bin server/tools/allfontsgen \
--input="${PWD}/core-fonts" \
--allfonts-web="${PWD}/sdkjs/common/AllFonts.js" \
--allfonts="${PWD}/server/FileConverter/bin/AllFonts.js" \
--images="${PWD}/sdkjs/common/Images" \
--selection="${PWD}/server/FileConverter/bin/font_selection.bin" \
--output-web='fonts' \
--use-system="true"

Sunum temalarını oluşturma​

cd out/linux_64/onlyoffice/documentserver/
LD_LIBRARY_PATH=${PWD}/server/FileConverter/bin server/tools/allthemesgen \
--converter-dir="${PWD}/server/FileConverter/bin"\
--src="${PWD}/sdkjs/slide/themes"\
--output="${PWD}/sdkjs/common/Images"

ONLYOFFICE Docs'u çalıştırma​

not

Tüm ONLYOFFICE Docs bileşenleri ön plan işlemleri olarak çalışır. Bu nedenle bunları çalıştırmak için ayrı terminal konsollarına veya ön plan işlemlerinin arka planda çalıştırılmasını sağlayan özel araçlara ihtiyacınız vardır.

  1. FileConverter hizmetini başlatın:

    cd out/linux_64/onlyoffice/documentserver/server/FileConverter
    LD_LIBRARY_PATH=$PWD/bin NODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./converter
  2. DocService hizmetini başlatın:

    cd out/linux_64/onlyoffice/documentserver/server/DocService
    NODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./docservice