Docker kullanarak ONLYOFFICE Docs'u yerel sunucuya kurma
Giriş
Community Edition, ONLYOFFICE Docs'u yerel sunucunuza kurmanızı ve çevrimiçi düzenleyicileri ONLYOFFICE ortak çalışma platformuyla veya diğer popüler sistemlerle entegre etmenizi sağlar (özelliklerin ayrıntılı listesine bakın). Bu kılavuz, ONLYOFFICE Docs Community Edition'ın Docker sürümünü makinenize nasıl kuracağınızı gösterir.
Sistem gereksinimleri
- CPU: çift çekirdekli 2 GHz veya daha iyi
- RAM: 4 GB veya daha fazla
- HDD: en az 40 GB boş alan
- SWAP: en az 4 GB, ancak ana bilgisayar işletim sistemine bağlıdır. Daha fazlası daha iyidir
- OS: çekirdek sürümü 3.10 veya üzeri olan amd64 Linux dağıtımı
- Ek gereksinimler
- Docker: Docker ekibi tarafından desteklenen herhangi bir sürüm
ONLYOFFICE Docs'u kurma
Docker'ın en son sürümünün kurulu olması gerekir. Kurulu değilse nasıl edineceğinizi öğrenmek için Docker web sitesindeki Kurulum bölümüne bakın.
Docker varsayılan olarak Google DNS sunucularını belirtir. ONLYOFFICE Docs sunucunuzun İnternet erişimi olmayacaksa, varsayılan Docker DNS adresini yerel DNS sunucunuzun adresiyle değiştirmenizi öneririz. Bunun için /etc/default/docker dosyasını açın ve aşağıdaki satırdaki IP adresini yerel ağınızdaki bir DNS sunucusunun IP adresiyle değiştirin:
docker_OPTS="--dns 8.8.8.8"
CentOS gibi RPM tabanlı işletim sistemlerinde:
-
Aşağıdaki içeriğe sahip
/etc/docker/daemon.jsonyapılandırma dosyasını oluşturun:{ "dns" : [ "8.8.8.8" ] } -
Docker hizmetini yeniden başlatın:
sudo systemctl restart docker.service
Docker'ı kurduktan sonra çalıştırın ve aşağıdaki komutu yürütün:
sudo docker run -i -t -d -p 80:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
7.2 sürümünden itibaren JWT sırrı rastgele oluşturulmaktadır. JWT sırrı ortam değişkeniyle belirtilmezse, sanal makineler veya fiziksel sunucu her yeniden başlatıldığında yeniden oluşturulur ve bu durum entegrasyonlarda sorunlara yol açabilir. Bu sorunu önlemek için kendi değerinizi -e JWT_SECRET=my_jwt_secret parametresinde belirtin.
Kurulumunuzda JWT kullanmayacaksanız -e JWT_ENABLED=false kullanın.
ONLYOFFICE Docs'u ayrı olarak kurmak istiyorsanız bu komutu kullanın. ONLYOFFICE Docs'u ONLYOFFICE Workspace ve ONLYOFFICE Mail ile entegre olarak kurmak için aşağıdaki ilgili yönergelere bakın.
Varsayılan olarak ONLYOFFICE Docs gelen bağlantıları 80 numaralı bağlantı noktasından dinler. 4.3 sürümünden itibaren, varsayılan yerine başka bir bağlantı noktası kullanmayı planlıyorsanız ONLYOFFICE Docs için bağlantı noktasını değiştirebilirsiniz. Bunu kurulum sırasında eşlenen bağlantı noktasını değiştirerek kolayca yapabilirsiniz:
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
Burada <PORT_NUMBER>, ONLYOFFICE Docs'un kullanmasını istediğiniz bağlantı noktasının numarasıdır.
Bu işlem ONLYOFFICE Docs'u ve gereken tüm bağımlılıkları kurar (betiğin yaptığı işlemlerin listesine buradan ulaşabilirsiniz).
Kurulumu doğrulama
Kapsayıcı çalışmaya başladıktan sonra tarayıcıda http://localhost (veya sunucunuzun IP adresi) adresini açın. ONLYOFFICE Docs karşılama sayfası görünmelidir; bu, kurulumun başarılı olduğunu doğrular.
Karşılama sayfası görünmezse kapsayıcı günlüklerinde hata olup olmadığını kontrol edin:
sudo docker logs <CONTAINER_ID>
Sık karşılaşılan sorunlar:
- 80 numaralı bağlantı noktası başka bir uygulama tarafından kullanılıyor. Çakışan uygulamayı durdurun veya
-p <PORT_NUMBER>:80ile farklı bir bağlantı noktası kullanın. - Kapsayıcı sürekli yeniden başlıyor. Günlüklerde veritabanı bağlantı hataları veya yetersiz bellek olup olmadığını kontrol edin.
- Tarayıcıda "Connection refused" hatası. 1-2 dakika bekleyin; veritabanı başlatıldığı için ilk başlatma zaman alır.
Verileri kapsayıcıların dışında saklama
Tüm veriler, veri birimleri adı verilen ve özel olarak ayrılmış dizinlerde, aşağıdaki konumlarda saklanır:
/var/log/onlyoffice: ONLYOFFICE Docs günlükleri için/var/www/onlyoffice/Data: sertifikalar için/var/lib/onlyoffice: dosya önbelleği için
Yeni sürüm yayımlandığında verilerinizi kaybetmeden ONLYOFFICE Docs'u kolayca güncelleyebilmeniz için verileri Docker kapsayıcılarının dışında, ana makinede saklamanızı önemle öneririz.
Kapsayıcının dışındaki verilerinize erişmek için birimleri bağlamanız gerekir. Bunu docker run komutunda -v seçeneğini belirterek yapabilirsiniz.
sudo docker run -i -t -d -p 80:80 --restart=always \
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice
Henüz oluşturulmamış klasörleri bağlamaya çalışırsanız bu klasörler oluşturulur, ancak erişim yetkileri kısıtlı olur. Erişim yetkilerini elle değiştirmeniz gerekir.
Kapsayıcının çalışması durumuna bağlı olmadığından normalde kapsayıcı verilerini saklamanız gerekmez. Verileri saklamak şu durumlarda yararlıdır:
- günlükler gibi kapsayıcı verilerine kolayca erişmek için;
- kapsayıcı içindeki veri boyutu sınırını kaldırmak için.
ONLYOFFICE Docs'u HTTPS ile çalıştırma
sudo docker run -i -t -d -p 443:443 --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
ONLYOFFICE uygulamasına erişim, yetkisiz erişimi önlemek için SSL ile güvenceye alınabilir. CA onaylı bir SSL sertifikası güveni CA üzerinden doğrulamayı sağlarken, kendinden imzalı sertifikalar da her istemcinin web sitenizin kimliğini doğrulamak için bazı ek adımlar atması koşuluyla eşdeğer düzeyde güven doğrulaması sağlayabilir. Bunun nasıl yapılacağı aşağıda açıklanmıştır.
SSL ile güvenceye almak için temel olarak iki şey gerekir:
- Özel anahtar (.key)
- SSL sertifikası (.crt)
Bu nedenle aşağıdaki dosyaları oluşturmanız ve kurmanız gerekir:
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt
CA onaylı sertifikalar (ör. Let's Encrypt) kullanırken bu dosyalar size CA tarafından verilir. Kendinden imzalı sertifikalar kullanıyorsanız bu dosyaları kendiniz oluşturmanız gerekir.
certbot kullanarak ONLYOFFICE Docs'u HTTPS'e geçirme
ONLYOFFICE Docs'u HTTPS'e geçirmenin en kolay yolu, certbot kullanarak Let's Encrypt SSL sertifikalarını otomatik olarak almaktır.
ONLYOFFICE Docs Docker kapsayıcısını 80 ve 443 numaralı bağlantı noktalarını belirterek ve değişkenler için kendi değerlerinizi girerek çalıştırın:
sudo docker run -i -t -d -p 80:80 -p 443:443 --restart=always \
-e LETS_ENCRYPT_DOMAIN=yourdomain.com -e LETS_ENCRYPT_MAIL=email@example.com -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
Burada:
- LETS_ENCRYPT_DOMAIN - sertifika için kullanılacak alan adı.
- LETS_ENCRYPT_MAIL - kayıt ve kurtarma iletişimi için kullanılan e-posta adresi.
letsencrypt.org CA imzalı sertifika otomatik olarak oluşturulur ve sunucunuza kurulur. Artık ONLYOFFICE Docs'a https://yourdomain.com adresinden erişebilirsiniz.
Kendinden imzalı sertifika oluşturma
Kendinden imzalı SSL sertifikası oluşturma işlemi 3 basit adımdan oluşur:
ADIM 1: Sunucu özel anahtarını oluşturun
openssl genrsa -out onlyoffice.key 2048
ADIM 2: Sertifika imzalama isteğini (CSR) oluşturun
openssl req -new -key onlyoffice.key -out onlyoffice.csr
ADIM 3: Sertifikayı özel anahtar ve CSR ile imzalayın
openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
Artık 365 gün geçerli bir SSL sertifikası oluşturdunuz.
Sunucu güvenliğini güçlendirme
Bu bölüm sunucu güvenliğinizi güçlendirmek için yönergeler sunar.
Bunun için daha güçlü DHE parametreleri oluşturmanız gerekir.
openssl dhparam -out dhparam.pem 2048
SSL sertifikalarını kurma
Yukarıda oluşturulan dört dosyadan onlyoffice.key, onlyoffice.crt ve dhparam.pem dosyalarını onlyoffice sunucusuna kurmanız gerekir. CSR dosyası gerekli değildir, ancak ileride yeniden gerekmesi ihtimaline karşı dosyanın yedeğini güvenli bir yerde saklayın.
ONLYOFFICE uygulaması SSL sertifikalarını varsayılan olarak /var/www/onlyoffice/Data/certs yolunda arar. Bu yol SSL_KEY_PATH, SSL_CERTIFICATE_PATH ve SSL_DHPARAM_PATH yapılandırma seçenekleriyle değiştirilebilir.
/var/www/onlyoffice/Data/ yolu veri deposunun yoludur. Bu nedenle /app/onlyoffice/DocumentServer/data/ içinde certs adlı bir klasör oluşturmanız ve dosyaları bu klasöre kopyalamanız gerekir. Güvenlik önlemi olarak onlyoffice.key dosyasının izinlerini yalnızca sahibi tarafından okunabilecek şekilde güncelleyin.
mkdir -p /app/onlyoffice/DocumentServer/data/certs
cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/
cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/
cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/
chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
Ardından Docker kapsayıcısını yeniden başlatın:
sudo docker restart {{DOCUMENT_SERVER_ID}}
Uygulamanızı güvenceye almanıza yalnızca bir adım kaldı.
Kullanılabilir yapılandırma parametreleri
Tüm gerekli ortam değişkenlerini tek bir dosyada belirtebileceğiniz --env-file bayrağı için docker run komut seçeneklerine bakın. Bu, potansiyel olarak uzun bir docker run komutu yazmaktan sizi kurtarır.
Ortam değişkenleriyle ayarlanabilecek parametrelerin tam listesi aşağıdadır.
- ONLYOFFICE_HTTPS_HSTS_ENABLED: HSTS yapılandırmasını kapatmak için gelişmiş yapılandırma seçeneği. Yalnızca SSL kullanılırken geçerlidir. Varsayılan değer
true. - ONLYOFFICE_HTTPS_HSTS_MAXAGE: onlyoffice NGINX vHost yapılandırmasında HSTS max-age değerini ayarlamak için gelişmiş yapılandırma seçeneği. Yalnızca SSL kullanılırken geçerlidir. Varsayılan değer
31536000. - SSL_CERTIFICATE_PATH: Kullanılacak SSL sertifikasının yolu. Varsayılan değer
/var/www/onlyoffice/Data/certs/tls.crt. - SSL_KEY_PATH: SSL sertifikası özel anahtarının yolu. Varsayılan değer
/var/www/onlyoffice/Data/certs/tls.key. - SSL_DHPARAM_PATH: Diffie-Hellman parametresinin yolu. Varsayılan değer
/var/www/onlyoffice/Data/certs/dhparam.pem. - SSL_VERIFY_CLIENT:
CA_CERTIFICATES_PATH filekullanarak istemci sertifikalarının doğrulanmasını etkinleştirir. Varsayılan değerfalse. - NGINX_WORKER_PROCESSES: NGINX çalışan işlemlerinin sayısını belirler.
- NGINX_WORKER_CONNECTIONS: Bir NGINX çalışan işlemi tarafından açılabilecek en fazla eşzamanlı bağlantı sayısını belirler.
- SECURE_LINK_SECRET: nginx yapılandırma yönergesi secure_link_md5 için sırrı belirler. Varsayılan değer
random string. - JWT_ENABLED: ONLYOFFICE Docs tarafından JSON web belirteci doğrulamasının etkinleştirilip etkinleştirilmeyeceğini belirler. Varsayılan değer
true. - JWT_SECRET: ONLYOFFICE Docs'a gelen istekteki JSON web belirtecini doğrulamak için kullanılan gizli anahtarı belirler. Varsayılan değer rastgele bir değerdir.
- JWT_HEADER: JSON web belirtecini göndermek için kullanılacak HTTP üstbilgisini belirler. Varsayılan değer
Authorization. - JWT_IN_BODY: ONLYOFFICE Docs'a gönderilen istekte belirteç doğrulamasının istek gövdesinde etkinleştirilip etkinleştirilmeyeceğini belirler. Varsayılan değer
false. - ALLOW_META_IP_ADDRESS: Meta IP adresine bağlanmaya izin verilip verilmeyeceğini belirler. Varsayılan değer
false. - ALLOW_PRIVATE_IP_ADDRESS: Özel IP adresine bağlanmaya izin verilip verilmeyeceğini belirler. Varsayılan değer
false. - WOPI_ENABLED: wopi işleyicilerinin etkinleştirilip etkinleştirilmeyeceğini belirler. Varsayılan değer
false. - USE_UNAUTHORIZED_STORAGE: Depolama sunucunuz için (ör. Nextcloud) kendinden imzalı sertifikalar kullanıyorsanız
trueolarak ayarlayın. Varsayılan değerfalse. - GENERATE_FONTS:
trueolduğunda yazı tipi listesini, yazı tipi küçük resimlerini vb. her başlatmada yeniden oluşturur. Varsayılan değertrue. - METRICS_ENABLED: ONLYOFFICE Docs için StatsD'nin etkin olup olmadığını belirler. Varsayılan değer
false. - METRICS_HOST: StatsD dinleme ana bilgisayarını belirler. Varsayılan değer
localhost. - METRICS_PORT: StatsD dinleme bağlantı noktasını belirler. Varsayılan değer
8125. - METRICS_PREFIX: Arka uç hizmetleri için StatsD metrik önekini belirler. Varsayılan değer
ds.. - LETS_ENCRYPT_DOMAIN: Let's Encrypt sertifikası için alan adını belirler.
- LETS_ENCRYPT_MAIL: Let's Encrypt sertifikası için alan adı yöneticisinin e-posta adresini belirler.
ONLYOFFICE Docs'u ONLYOFFICE Workspace ve ONLYOFFICE Mail ile entegre olarak kurma
ONLYOFFICE Docs, ONLYOFFICE Community Server, ONLYOFFICE Control Panel ve ONLYOFFICE Mail'i de içeren ONLYOFFICE Workspace'in bir parçasıdır. Hepsini kurup birbiriyle entegre etmek istiyorsanız bu yönergeleri okuyun.
ONLYOFFICE Docs'u kurmanın alternatif yolları
Alternatif olarak, tüm Workspace'i tek seferde kurmak için otomatik kurulum betiğini kullanabilirsiniz. Posta sunucusunun doğru çalışması için ana bilgisayar adını yourdomain.com olarak belirtmeniz gerekir.
ADIM 1: Kurulum betiği dosyasını indirin
Aşağıdaki komutu çalıştırın:
curl -O https://download.onlyoffice.com/install/workspace-install.sh
ADIM 2: Workspace'i kurun
Bunun için aşağıdaki komutu çalıştırın:
bash workspace-install.sh -md yourdomain.com
Ya da ONLYOFFICE Docs'u kurmak için docker-compose kullanabilirsiniz. Bunun nasıl yapılacağını buradaki yönergelerde bulabilirsiniz.
ONLYOFFICE Docs ipv6 kurulumu
Yalnızca Linux ana bilgisayarlarda çalışır ve desteklenir
Docker şu anda kapsayıcılara varsayılan olarak ipv6 adresleri sağlamaz. Bu işlev şu anda deneyseldir.
ipv6 üzerinden etkileşimi ayarlamak için Docker'ınızda bu özelliğin desteğini etkinleştirmeniz gerekir. Bunun için:
-
aşağıdaki içeriğe sahip
/etc/docker/daemon.jsondosyasını oluşturun:{"ipv6": true,"fixed-cidr-v6": "2001:db8:abc1::/64"} -
Docker'ı aşağıdaki komutla yeniden başlatın:
systemctl restart docker
Bundan sonra çalışan tüm kapsayıcılar bir ipv6 adresi alır ve bir inet6 arabirimine sahip olur.
Varsayılan köprü ağınızı kontrol edebilir ve orada EnableIPv6=true alanını görebilirsiniz. Ayrıca yeni bir ipv6 alt ağı eklenir.
Daha fazla bilgi için resmi Docker kılavuzu sitesini ziyaret edin.