Ubuntu 24.04 üzerinde ONLYOFFICE Docs nasıl kurulur
ONLYOFFICE Docs, metinler, sunumlar, tablolar, formlar ve PDF'ler için belge görüntüleyiciler ve düzenleyicilerle birlikte gelen, kullanımı ücretsiz ancak güçlü bir çevrimiçi ofis paketidir. ONLYOFFICE paketi, .docx, .xlsx, .pptx gibi Office Open XML formatları ile tamamen uyumludur ve belgelerin gerçek zamanlı ortak düzenlemesini destekler. Bu makalede, ONLYOFFICE Docs'u Ubuntu 24.04 (Noble Numbat) üzerinde nasıl kuracağınızı ve yapılandıracağınızı göstereceğiz.
Nihai Ubuntu Masaüstü Kılavuzu
Ubuntu'yu bir profesyonel gibi keşfedin - güzel masaüstü özelleştirmeden güçlü terminal otomasyonuna kadar. Çalışma alanlarının tam kontrolünü isteyen geliştiriciler, sistem yöneticileri ve ileri düzey kullanıcılar için mükemmel.
ONLYOFFICE Docs aşağıdaki bileşenlerle birlikte paketlenmiştir:
- sunucu – Bu, ONLYOFFICE Docs'un tüm bileşenlerini kontrol eden bir arka uç sunucu katmanıdır.
- çekirdek – Ofis belge formatları (DOC, DOCX, ODT, RTF, TXT, PDF, HTML, EPUB, XPS, DjVu, XLS, XLSX, ODS, CSV, PPT, PPTX, ODP) arasında iletişime olanak tanır.
- sdkjs – Dahil edilen tüm bileşenler için istemci tarafı etkileşimi sağlayan JavaScript SDK API'si.
- web-uygulamaları – Bu, ONLYOFFICE Docs için ön uçtur
- sözlükler – Yalnızca ONLYOFFICE Docs'ta yazım denetimi için kullanılan çeşitli dillerin sözlüklerini içerir.
İşte ONLYOFFICE Docs ile gelen editörlerin listesi:
- ONLYOFFICE Belge Düzenleyici
- ONLYOFFICE Elektronik Tablo Düzenleyici
- ONLYOFFICE Sunum Düzenleyici
- ONLYOFFICE Form Oluşturucu
- ONLYOFFICE PDF düzenleyici, okuyucu ve dönüştürücü
Gereksinimleri belirle
Bu makalede, yerel bir Ubuntu sunucusuna ONLYOFFICE Docs Community Edition'ı kuruyoruz. Minimum sunucu donanım gereksinimleri aşağıdaki gibidir:
- CPU: En az çift çekirdekli
2 GHz - RAM: En az
2 GB - Disk alanı: En az
40 GBboş alan - Takas: En az
4 GB, veya takas yoksa daha fazla RAM. - İşletim Sistemi: 64-bit Ubuntu veya Debian Linux sistemi
Eğer gereksinimleri karşılıyorsanız, dikkati Belgeler sunucunuzu kurmaya yönlendirmenin tam zamanı.
Adım 1: PostgreSQL veritabanını kurun
Kuruluma, sisteminizin güncel olduğundan emin olarak başlayın:
sudo apt update && sudo apt upgrade -yİşletim sistemimizin varsayılan depolarında bulunan PostgreSQL sunucu sürümünü kurabiliriz.
sudo apt install postgresqlPaket yüklendikten sonra servis otomatik olarak başlatılır, bir sonraki adım PostgreSQL veritabanı ve kullanıcı oluşturmaktır:
sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH PASSWORD 'onlyoffice';"
sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice OWNER onlyoffice;"Adım 2: RabbitMQ Sunucusunu Kurun
ONLYOFFICE, ONLYOFFICE paketindeki farklı hizmetler arasında iletişimi sağlamak için mesajlaşma aracı olarak RabbitMQ kullanır. Paketi yüklemek için aşağıdaki komutu çalıştırın:
sudo apt install rabbitmq-serverServis durumunu kontrol edebilirsiniz:
$ systemctl status rabbitmq-server.service
● rabbitmq-server.service - RabbitMQ Messaging Server
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; preset: enabled)
Active: active (running) since Tue 2024-07-30 08:20:24 UTC; 6s ago
Main PID: 15046 (beam.smp)
Tasks: 24 (limit: 4658)
Memory: 102.8M (peak: 107.9M)
CPU: 3.770s
CGroup: /system.slice/rabbitmq-server.service
├─15046 /usr/lib/erlang/erts-13.2.2.5/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -pc unicode -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdcpu none -sb>
├─15056 erl_child_setup 65536
├─15108 /usr/lib/erlang/erts-13.2.2.5/bin/inet_gethost 4
├─15109 /usr/lib/erlang/erts-13.2.2.5/bin/inet_gethost 4
└─15112 /bin/sh -s rabbit_disk_monitor
Jul 30 08:20:20 ubuntu-cloudspinx-com systemd[1]: Starting rabbitmq-server.service - RabbitMQ Messaging Server...
Jul 30 08:20:24 ubuntu-cloudspinx-com systemd[1]: Started rabbitmq-server.service - RabbitMQ Messaging Server.Adım 3: ONLYOFFICE Docs'u Yükleyin
Artık ortamı yapılandırdığımıza göre, ONLYOFFICE Docs'u Ubuntu sistemimize kurmaya hazırız. Ancak ilk adım olarak paket imzalamada kullanılan GPG anahtarını içe aktarmamız gerekiyor.
curl -fsSL https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/onlyoffice.gpgGPG içe aktarıldıktan sonra, ONLYOFFICE APT deposunu ekleyebiliriz:
echo "deb https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.listPaket yöneticisi önbelleğini güncelleyin ve ONLYOFFICE Docs'u yükleyin.
sudo apt update
sudo apt install onlyoffice-documentserver ttf-mscorefonts-installerVeritabanı parolasını sağlamanız istendiğinde, devam etmek için klavyenizdeki <ENTER> tuşuna basmanız yeterlidir. Sonraki adımda lisans sözleşmesi şartlarını kabul edin.
Kurulum sırasında herhangi bir hata olup olmadığını kontrol edin. Her şey yolunda giderse, ONLYOFFICE tarayıcınızda http://localhost veya http://serverdomain_or_ip adresinden erişilebilir.
Adım 4: ONLYOFFICE Dokümanlarını SSL ile Güvence Altına Alın
ONLYOFFICE Docs'u HTTP yerine çok daha güvenli olan HTTPS protokolü ile erişim için yapılandırabiliriz. Varsayılan olarak HTTP üzerinde çalışacak şekilde yapılandırılmıştır.
Bizim kurulumumuzda kullanılan sunucu Bulut ortamında çalışıyor. Bu, Let’s Encrypt ücretsiz SSL kullanmayı mümkün kılıyor.
Let’s Encrypt SSL Kullanımı
ONLYOFFICE Docs için HTTPS yapılandırmanın en kolay yolu, certbot kullanarak Let’s Encrypt SSL Sertifikaları kullanmaktır. Certbot’u yüklemek için aşağıdaki komutu kullanın.
- Debian/Ubuntu:
sudo apt update && sudo apt install certbot
sudo apt install python3-certbot-nginx- RHEL tabanlı sistemler:
sudo dnf -y install epel-release
sudo dnf -y install certbot python3-certbot-nginxCertbot’u kurduktan sonra, SSL yapılandırmalarını otomatikleştiren ONLYOFFICE betiğini çalıştırın.
sudo bash /usr/bin/documentserver-letsencrypt.sh [email yourdomain.com[email adresini gerçek e-posta adresinizle ve yourdomain.com alan adını ise ONLYOFFICE Docs sunucusu için DNS'te yapılandırılmış alan adıyla değiştirin.
Komutları çalıştırdığınızda, SSL oluşturma ilerlemesini kontrol edebileceğiniz ve herhangi bir hatanın kaydedileceği bir günlük dosyasının yolunu gösterecektir.
Saving debug log to /var/log/letsencrypt/letsencrypt.logGünlük dosyası içeriğini kontrol etmek için cat komutunu kullanın:
sudo cat /var/log/letsencrypt/letsencrypt.logDosyadan alınan son birkaç satır örneği:
...
-----BEGIN CERTIFICATE-----
MIIEVzCCAj+gAwIBAgIRAIOPbGPOsTmMYgZigxXJ/d4wDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw
WhcNMjcwMzEyMjM1OTU5WjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDELMAkGA1UEAxMCRTUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNCzqK
a2GOtu/cX1jnxkJFVKtj9mZhSAouWXW0gQI3ULc/FnncmOyhKJdyIBwsz9V8UiBO
VHhbhBRrwJCuhezAUUE8Wod/Bk3U/mDR+mwt4X2VEIiiCFQPmRpM5uoKrNijgfgw
gfUwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD
ATASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBSfK1/PPCFPnQS37SssxMZw
i9LXDTAfBgNVHSMEGDAWgBR5tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcB
AQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0g
BAwwCjAIBgZngQwBAgEwJwYDVR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVu
Y3Iub3JnLzANBgkqhkiG9w0BAQsFAAOCAgEAH3KdNEVCQdqk0LKyuNImTKdRJY1C
2uw2SJajuhqkyGPY8C+zzsufZ+mgnhnq1A2KVQOSykOEnUbx1cy637rBAihx97r+
bcwbZM6sTDIaEriR/PLk6LKs9Be0uoVxgOKDcpG9svD33J+G9Lcfv1K9luDmSTgG
6XNFIN5vfI5gs/lMPyojEMdIzK9blcl2/1vKxO8WGCcjvsQ1nJ/Pwt8LQZBfOFyV
XP8ubAp/au3dc4EKWG9MO5zcx1qT9+NXRGdVWxGvmBFRAajciMfXME1ZuGmk3/GO
koAM7ZkjZmleyokP1LGzmfJcUd9s7eeu1/9/eg5XlXd/55GtYjAM+C4DG5i7eaNq
cm2F+yxYIPt6cbbtYVNJCGfHWqHEQ4FYStUyFnv8sjyqU8ypgZaNJ9aVcWSICLOI
E1/Qv/7oKsnZCWJ926wU6RqG1OYPGOi1zuABhLw61cuPVDT28nQS/e6z95cJXq0e
K1BcaJ6fJZsmbjRgD5p3mvEf5vdQM7MCEvU0tHbsx2I5mHHJoABHb8KVBgWp/lcX
GWiWaeOyB7RP+OfDtvi2OsapxXiV7vNVs7fMlrRjY1joKaqmmycnBvAq14AEbtyL
sVfOS66B8apkeFX2NY4XPEYV4ZSCe8VHPrdrERk2wILG3T/EGmSIkCYVUMSnjmJd
VQD9F6Na/+zmXCc=
-----END CERTIFICATE-----
2024-07-30 08:56:34,141:DEBUG:acme.client:Storing nonce: Ma8ZwRNA9J1JoJ_IMl_v_1HLCTTt5G01XNs8p_Mvri6JbKsSWrI
2024-07-30 08:56:34,142:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/archive.
2024-07-30 08:56:34,142:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/live.
2024-07-30 08:56:34,142:DEBUG:certbot._internal.storage:Writing README to /etc/letsencrypt/live/README.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/archive/docs.cloudlabske.com.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/live/docs.cloudlabske.com.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Writing certificate to /etc/letsencrypt/live/docs.cloudlabske.com/cert.pem.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Writing private key to /etc/letsencrypt/live/docs.cloudlabske.com/privkey.pem.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Writing chain to /etc/letsencrypt/live/docs.cloudlabske.com/chain.pem.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Writing full chain to /etc/letsencrypt/live/docs.cloudlabske.com/fullchain.pem.
2024-07-30 08:56:34,144:DEBUG:certbot._internal.storage:Writing README to /etc/letsencrypt/live/docs.cloudlabske.com/README.
2024-07-30 08:56:34,156:DEBUG:certbot.configuration:Var account=985390e388f48deb37eab1e67d361272 (set by user).
2024-07-30 08:56:34,157:DEBUG:certbot._internal.plugins.selection:Requested authenticator webroot and installer None
2024-07-30 08:56:34,157:DEBUG:certbot._internal.plugins.selection:Requested authenticator webroot and installer None
2024-07-30 08:56:34,157:DEBUG:certbot.configuration:Var webroot_path=['/var/www/onlyoffice/documentserver/letsencrypt'] (set by user).
2024-07-30 08:56:34,157:DEBUG:certbot.configuration:Var webroot_map={'docs.cloudlabske.com': '/var/www/onlyoffice/documentserver/letsencrypt'} (set by user).
2024-07-30 08:56:34,157:DEBUG:certbot._internal.storage:Writing new config /etc/letsencrypt/renewal/docs.cloudlabske.com.conf.
2024-07-30 08:56:34,159:DEBUG:certbot._internal.display.obj:Notifying user:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/docs.cloudlabske.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/docs.cloudlabske.com/privkey.pem
This certificate expires on 2024-10-28.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
2024-07-30 08:56:34,161:DEBUG:certbot._internal.display.obj:Notifying user: If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-leKendi kendine imzalanan SSL sertifikalarını kullanmak
Özel bir ağda bulunan sistemler için kendi kendine imzalanmış sertifikalar oluşturabilirsiniz. Alternatif olarak, DNS’i Cloudflare üzerinden yönetiyorsanız, Let’s Encrypt’i Cloudflare DNS ile nasıl yapılandıracağınıza dair makalemize göz atın.
Kendi imzaladıkları sertifikaları kullanan kullanıcılar aşağıdaki dosya içeriklerini düzenleyebilir ve anahtar ile alan adı sertifikasının yolunu ayarlayabilir:
sudo nano /etc/onlyoffice/documentserver/nginx/ds.confBu makaledeki kurulumumuzdan Let’s Encrypt kullanarak aşağıdaki içeriğe bakın.
include /etc/nginx/includes/http-common.conf;
## Normal HTTP host
server {
listen 0.0.0.0:80;
listen [::]:80 default_server;
server_name _;
server_tokens off;
set $secure_link_secret nsdy8N28Ylobmp5EL4wF;
## Redirects all traffic to the HTTPS host
root /nowhere; ## root doesn't have to be a valid path since we are redirecting
rewrite ^ https://$host$request_uri? permanent;
}
#HTTP host for internal services
server {
listen 127.0.0.1:80;
listen [::1]:80;
server_name localhost;
server_tokens off;
set $secure_link_secret nsdy8N28Ylobmp5EL4wF;
include /etc/nginx/includes/ds-common.conf;
include /etc/nginx/includes/ds-docservice.conf;
}
## HTTPS host
server {
listen 0.0.0.0:443 ssl;
listen [::]:443 ssl default_server;
server_tokens off;
set $secure_link_secret nsdy8N28Ylobmp5EL4wF;
root /usr/share/nginx/html;
## Strong SSL Security
## https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
ssl_certificate /etc/letsencrypt/live/docs.cloudlabske.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/docs.cloudlabske.com/privkey.pem;
# Uncomment string below and specify the path to the file with the password if you use encrypted certificate key
# ssl_password_file {{SSL_PASSWORD_PATH}};
ssl_verify_client off;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_protocols TLSv1.2;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security max-age=31536000;
# add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
## [Optional] If your certficate has OCSP, enable OCSP stapling to reduce the overhead and latency of running SSL.
## Replace with your ssl_trusted_certificate. For more info see:
## - https://medium.com/devops-programming/4445f4862461
## - https://www.ruby-forum.com/topic/4419319
## - https://linux-console.net/community/tutorials/how-to-configure-ocsp-stapling-on-apache-and-nginx
# ssl_stapling on;
# ssl_stapling_verify on;
# ssl_trusted_certificate /etc/nginx/ssl/stapling.trusted.crt;
# resolver 208.67.222.222 208.67.222.220 valid=300s; # Can change to your DNS resolver if desired
# resolver_timeout 10s;
## [Optional] Generate a stronger DHE parameter:
## cd /etc/ssl/certs
## sudo openssl dhparam -out dhparam.pem 4096
##
# ssl_dhparam /etc/ssl/certs/dhparam.pem;
include /etc/nginx/includes/ds-*.conf;
}Ortamınıza uygun olacak şekilde ssl_certificate ve ssl_certificate_key öğelerini güncelleyin.
OnlyOffice Belgelerine https://yourdomain adresinden erişin
Belge örneklerini etkinleştirebileceğiniz ve sağlanan API ile uygulamalarınıza entegre edebileceğiniz ek talimatlarla birlikte ONLYOFFICE Docs karşılama sayfasını alacaksınız.
Adım 5: 3. taraf uygulamaları entegre edin
ONLYOFFICE'u Pydio, Zimbra, WordPress, Odoo, SuiteCRM, Mattermost vb. gibi üçüncü taraf uygulamalarla entegre etmek oldukça sorunsuz bir süreçtir. Tüm bağlayıcıları aşağıdaki bağlantıdan inceleyebilirsiniz:
- ONLYOFFICE bağlayıcıları listesi


