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.
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:
-
Aşağıdaki içerikle
/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
Kuruluma başlamadan önce aşağıdaki klasörleri oluşturmanız gerekir:
-
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"; -
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"; -
ONLYOFFICE Docs verileri ve günlükleri için
sudo mkdir -p "/app/onlyoffice/DocumentServer/data";sudo mkdir -p "/app/onlyoffice/DocumentServer/logs"; -
ONLYOFFICE Mail verileri ve günlükleri için
sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";sudo mkdir -p "/app/onlyoffice/MailServer/logs"; -
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.