Ana içeriğe geç

ONLYOFFICE Workspace Community bileşenlerini elle kurma

Giriş​

ONLYOFFICE Workspace Community'yi kurmanın en kolay yolu Docker betiğini kullanmaktır. Kurulum sürecinin tam denetimini elinizde tutmak istiyorsanız tüm bileşenleri elle de kurabilirsiniz.

ONLYOFFICE Workspace Community şu bileşenlerden oluşur: ONLYOFFICE Community Server, ONLYOFFICE Control Panel, ONLYOFFICE Docs ve ONLYOFFICE Mail. Hepsini kurup birbiriyle entegre etmek için aşağıdaki adımları izleyin.

Sistem gereksinimleri​

  • CPU: en az 4 çekirdek (6 çekirdek önerilir)
  • RAM: en az 8 GB (12 GB önerilir)
  • HDD: en az 40 GB boş alan
  • SWAP: en az 4 GB, ancak ana bilgisayarın işletim sistemine bağlıdır. Ne kadar fazla olursa o kadar iyidir
  • İşletim sistemi: çekirdek sürümü 3.10 veya üzeri olan amd64 Linux dağıtımı
  • Ek gereksinimler
    • Docker: Docker ekibinin desteklediği herhangi bir sürüm

1. Adım. Ön koşulları kurun​

Docker kurulu değilse Docker web sitesindeki Kurulum bölümüne bakın.

not

Docker varsayılan olarak Google DNS sunucularını kullanır. ONLYOFFICE Workspace Community kurulumunuzun İnternet erişimi olmayacaksa varsayılan Docker DNS adresini yerel DNS sunucunuzun adresiyle değiştirmeniz önerilir. Bunun için /etc/default/docker dosyasını düzenleyin 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:

  1. Aşağıdaki içerikle /etc/docker/daemon.json yapılandırma dosyasını oluşturun:

    { "dns" : [ "8.8.8.8" ] }
  2. Docker hizmetini yeniden başlatın:

    sudo systemctl restart docker.service

Kuruluma başlamadan önce aşağıdaki klasörleri oluşturmanız gerekir:

  1. MySQL sunucusu için

    sudo mkdir -p "/app/onlyoffice/mysql/conf.d";
    sudo mkdir -p "/app/onlyoffice/mysql/data";
    sudo mkdir -p "/app/onlyoffice/mysql/initdb";
  2. ONLYOFFICE Community Server verileri ve günlükleri için

    sudo mkdir -p "/app/onlyoffice/CommunityServer/data";
    sudo mkdir -p "/app/onlyoffice/CommunityServer/logs";
    sudo mkdir -p "/app/onlyoffice/CommunityServer/letsencrypt";
  3. ONLYOFFICE Docs verileri ve günlükleri için

    sudo mkdir -p "/app/onlyoffice/DocumentServer/data";
    sudo mkdir -p "/app/onlyoffice/DocumentServer/logs";
  4. ONLYOFFICE Mail verileri ve günlükleri için

    sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";
    sudo mkdir -p "/app/onlyoffice/MailServer/logs";
  5. ONLYOFFICE Control Panel verileri ve günlükleri için

    sudo mkdir -p "/app/onlyoffice/ControlPanel/data";
    sudo mkdir -p "/app/onlyoffice/ControlPanel/logs";

Ardından onlyoffice ağını oluşturun:

sudo docker network create --driver bridge onlyoffice

2. Adım. MySQL'i kurun​

Şimdi MySQL sunucusu Docker kapsayıcısını oluşturun. Önce yapılandırma dosyasını oluşturun:

echo "[mysqld]
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000
group_concat_max_len = 2048" > /app/onlyoffice/mysql/conf.d/onlyoffice.cnf

Kullanıcıları oluşturacak ve onlara yetki verecek SQL betiğini oluşturun. onlyoffice_user kullanıcısı ONLYOFFICE Community Server için, mail_admin kullanıcısı ise kurulacaksa ONLYOFFICE Mail için gereklidir:

echo "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'my-secret-pw';
CREATE USER IF NOT EXISTS 'onlyoffice_user'@'%' IDENTIFIED WITH mysql_native_password BY 'onlyoffice_pass';
CREATE USER IF NOT EXISTS 'mail_admin'@'%' IDENTIFIED WITH mysql_native_password BY 'Isadmin123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'onlyoffice_user'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'mail_admin'@'%';
FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql

Yukarıdaki betiğin SQL sunucusuna her alan adından (%) erişim izni verdiğini unutmayın. Erişimi kısıtlamak isterseniz SQL sunucusuna erişebilecek ana bilgisayarları belirtebilirsiniz.

MySQL 8.0.29 sürümüyle MySQL kapsayıcısını oluşturun:

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server \
-v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \
-v /app/onlyoffice/mysql/data:/var/lib/mysql \
-v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_DATABASE=onlyoffice \
mysql:8.0.29

3. Adım. ONLYOFFICE Docs'u kurun​

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-document-server \
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/DocumentServer/fonts:/usr/share/fonts/truetype/custom \
-v /app/onlyoffice/DocumentServer/forgotten:/var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten \
onlyoffice/documentserver

Daha fazla bilgi için ONLYOFFICE Docs belgelerine bakın.

4. Adım. ONLYOFFICE Mail'i kurun​

sudo docker run --init --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server -p 25:25 -p 143:143 -p 587:587 \
-e MYSQL_SERVER=onlyoffice-mysql-server \
-e MYSQL_SERVER_PORT=3306 \
-e MYSQL_ROOT_USER=root \
-e MYSQL_ROOT_PASSWD=my-secret-pw \
-e MYSQL_SERVER_DB_NAME=onlyoffice_mailserver \
-v /app/onlyoffice/MailServer/data:/var/vmail \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
-v /app/onlyoffice/MailServer/logs:/var/log \
-h yourdomain.com \
onlyoffice/mailserver

E-posta yazışması için kullanılan alan adı geçerli olmalı ve bu sunucu için yapılandırılmış olmalıdır. Yani DNS ayarlarında alan adınızı ONLYOFFICE Mail'in kurulu olduğu makinenin IP adresine yönlendiren uygun bir A kaydı bulunmalıdır.

Yukarıdaki komutta "yourdomain.com" parametresi ONLYOFFICE Mail için hizmet alan adı olarak anlaşılmalıdır. Bu alan adı genellikle yazışmaların yürütüleceği alan adının MX kaydında belirtilir. Kural olarak "yourdomain.com" değeri mx1.onlyoffice.com gibi görünür.

Posta sunucusu için ek parametrelere buradan ulaşabilirsiniz.

5. Adım. ONLYOFFICE Control Panel'i kurun​

ONLYOFFICE Control Panel'i kurmak için şu komutu kullanın:

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-control-panel \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /app/onlyoffice/CommunityServer/data:/app/onlyoffice/CommunityServer/data \
-v /app/onlyoffice/ControlPanel/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/ControlPanel/logs:/var/log/onlyoffice onlyoffice/controlpanel

6. Adım. ONLYOFFICE Community Server'ı kurun​

Son olarak ONLYOFFICE Community Server kurulabilir:

sudo docker run --net onlyoffice -i -t -d --privileged --restart=always --name onlyoffice-community-server -p 80:80 -p 443:443 -p 5222:5222 --cgroupns=host \
-e MYSQL_SERVER_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_SERVER_DB_NAME=onlyoffice \
-e MYSQL_SERVER_HOST=onlyoffice-mysql-server \
-e MYSQL_SERVER_USER=onlyoffice_user \
-e MYSQL_SERVER_PASS=onlyoffice_pass \
-e DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server \
-e MAIL_SERVER_API_HOST=${MAIL_SERVER_IP} \
-e MAIL_SERVER_DB_HOST=onlyoffice-mysql-server \
-e MAIL_SERVER_DB_NAME=onlyoffice_mailserver \
-e MAIL_SERVER_DB_PORT=3306 \
-e MAIL_SERVER_DB_USER=root \
-e MAIL_SERVER_DB_PASS=my-secret-pw \
-e CONTROL_PANEL_PORT_80_TCP=80 \
-e CONTROL_PANEL_PORT_80_TCP_ADDR=onlyoffice-control-panel \
-v /app/onlyoffice/CommunityServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/CommunityServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/CommunityServer/letsencrypt:/etc/letsencrypt \
-v /sys/fs/cgroup:/sys/fs/cgroup:rw \
onlyoffice/communityserver

Burada ${MAIL_SERVER_IP}, ONLYOFFICE Mail kapsayıcısının IP adresidir ve şu komutla elde edilir:

MAIL_SERVER_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' onlyoffice-mail-server)

Kurulum tamamlandığında çözüm http://localhost/ adresinde kullanıma hazır olur.