แฐแแ แฐแแแ ! แแฅแแแแก แงแฃแ แแแฆแแแแก แฌแแ แแแแแแแแแ แกแขแแขแแแก แแแ แแแแแก
แซแแแแแ แแ แจแแแคแแกแ แแแแแแ แกแแแคแแกแ แแแแแแแฅแขแแแแก แแแแจแแแแแแแ, แ แแแแ แแชแแ Google Docs แแ แฆแ แฃแแแแแแแ แกแแชแแแ แขแแฅแแแแแแแแแแ แแ แแแแขแแ แแแฃแแ แแแแแแแแแแแก แชแฎแแแ แแแแจแ. แขแแฅแแแแแแแ แแแแแแแ แคแแ แแแ แแแแ แชแแแแ, แ แแ แแแแแ แแกแแคแขแแช แแ, แ แแแแแแช แแแแ แฎแแแแ แแแแแแแ แแแก แกแแแคแแกแ แแแแแแแชแแแแแก แแแแแ แแ, แแฎแแแฎแแ แคแแแฃแกแแ แแแฃแแแ Office 365 แแแ แแแแแแแชแแแก แจแแแฃแจแแแแแแแ แแ แแแแฎแแแ แแแแแแแก แแแ แฌแแฃแแแแแแ, แแแแแแ แแแ แกแแแแแแแแขแ แแแแแแแ แกแแแฃแแแ แ แกแแ แแแกแแแแ แกแแ แแแแแแแแกแแแแก. แแแฌแแแแ แแแ, แแแแช แแแแแขแแ แแกแแแฃแแแ แแแขแแก แฅแแแจ แกแแแฃแแแ แ แกแแชแแแแก แแแกแขแแแแชแแแกแ แแ แแแแคแแแฃแ แแชแแแก แแ แแชแแกแแ.
แ แแแแแแแแ แฎแแแก แฌแแ แฉแแแ แแแแแแฎแแแแ แฆแ แฃแแแแแแแ แกแแชแแแแก แแแแแฌแงแแแขแแแแแแแก แแ แฆแแ แแแแแก แแแ แแคแแกแแก แแแแแแแฅแขแก, แ แแแแแแแช แแแแแแแ แจแแแซแแแแ แแแแแแแกแแแก แแแแ แ แกแแฌแแ แแแจแ แแแแแกแแงแแแแแแแ. แงแแแแ แแแแฃแแแแขแแชแแแก แแแแแแ แจแแแแฎแแแก แแแแแแ แ แแแขแแแแชแแ แแ แแก แแแแฃแแแแขแแชแแแก แแแแแแฃแแแแแ แแแงแแแแ แแ แแแ แแ แแแแแแก แแ แแฅแขแแแแก แแแแแ แแแ แขแ แแแแแฅแชแแแแแก แแแแแแ แแแชแฃแแแแแก แแแฃแฎแแแแแแ. แแแแแขแแก แแแแ แ แแฎแแ แ แแ แแก แแก, แ แแ แฆแ แฃแแแแแแแ แกแแ แแแ แแก แแแฅแแ แแแแแ แแ แกแแ แแแกแแก แฃแแ แฃแแแแแกแแงแแคแแ แแแแแแแแ แฃแกแแคแ แแฎแแ, แแแแ แ แแแกแ แฃแจแฃแแแแ แกแแฌแแ แแแก แจแแแแแแจแ แจแแแแฎแแ, แ แแแแแ แแฅแแแ แแ แแแฅแแ แแฅแแแแก แกแแ แแแ แแ แแ แขแ แแคแแแแ แคแแแแแฃแ แ แฌแแแแแแก แแฃแแแขแแก แ แแแแ แกแแจแฃแแแแแ. แแแแขแแ, แแกแแแ แกแแญแแ แแ แแแแแแแ แแแจแแคแแ แ แแ แฆแแ แแแแแก แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแ.
แฆแแ แแแแแก แแแแแฌแงแแแขแแแแแแแแก แจแแกแแฎแแ แงแแแแ แแ แกแแแฃแแ แแแคแแ แแแชแแแก แแแแแแแแกแฌแแแแแแ, แฉแแแ แแแแแแแแ แแ แ แแฅแขแแฃแ แ แแ แแแฅแขแ (แแแกแฃแแ 12 แแแแก แแแแแแแแแแแจแ git แกแแชแแแจแ แจแแกแ แฃแแแแฃแแ แแแแแแแฃแแแแแแแ) แจแแแฃแจแแแแแฃแแ แฆแ แฃแแแแแแแ แจแแแแฎแแแกแแแแก: NextCloud แแ OwnCloud แแ แแ แแแแแ แแ แแฅแขแแฃแ แ ONLYOFFICE แกแแแคแแกแ แแแแแแแฅแขแ. แฆแ แฃแแแแแแแ แจแแแแฎแแแก แแ แแแ แฎแแแกแแฌแงแแก แแฅแแก แแแแฎแแแแแแ แแ แแ แแ แแแแแ แคแฃแแฅแชแแแแแ แแแ แแ แแแแแฌแงแแแขแแแแแ NextCloud-แแก แแ แฉแแแแก แจแแกแแฎแแ แแคแฃแซแแแแแแ แแขแแแชแแแฃแแแแแก แแ แกแแแแแแก, แ แแ แแก แจแแแซแแแแ แแงแแก แแแขแแแ แแ แแแฃแแ ONLYOFFICE-แแแ แแ แแแ แแแฃแ แฃแแ แฃแแแแแงแแคแแกแแแ แแแแฎแแแ แแแแแก แแแแคแแ แขแฃแแ แฃแ แแแแ แแแแแกแแแแก. แแฃแแชแ, แ แแแแกแแช แฉแแแ แแแแแฌแงแแ แกแแ แแแกแแแแก แแแแแ แแแ, แแแแแแฆแแแจแแฃแแ แกแแ แแแกแแแแก แแแขแแแ แแ แแแแก แจแแกแแฎแแ แแแคแแ แแแชแแแก แแแแแแแแแ แแจแแแ แ แแแฎแแ. แฉแแแ แแแแแแแ 3 แกแแแแฃแ แแแ แแแแแ แแแขแแแ แแชแแแก แจแแกแแฎแแ:
www.youtube.com/watch?v=GAd-x_sP6ng www.youtube.com/watch?v=ceOld6P16wI www.youtube.com/watch?v=DvTXyl-OOZA
แกแแแ แแแแแแแแ แแ แชแแ แแแ แแ แฃแแแกแฃแฎแ ONLYOFFICE แแแแฃแแแแขแแก แกแแ แแแกแแก แแแแแกแขแแแแ แแแแก แแแแฎแแแก แแแแแ แคแแแแแฃแ แกแแ แแแ แแ, แ แแแแ แช NextCloud, แกแแแ แแ nginx-แแ. แแแแก แแแชแแแแ, แแแ แแแแแแงแแแแก แแแแแงแแคแแก แขแแฅแแแแ, แ แแแแ แแชแแ แชแแแแแฃแแ แแแ แขแแแแก แแแแแงแแแแแ แแแแฃแแแแขแแก แกแแ แแแกแแก api-แกแแแแก. แแแแแ แแ แแ แจแแแแแแแแแแแ แแงแ แชแแแแ แกแแ แแแ แแก แแแแแแแกแแแ Document Service-แแกแแแแก, แฎแแแแ แแแแแแแคแแแฃแ แแ แแ Document Service-แจแ แฉแแจแแแแแฃแแ nginx แแแกแขแแแชแแ, แ แแแ แแแแแแกแขแแแแ แแ แฌแแแแแแก แแแกแแฆแแแ (แฌแแแแกแฌแแ แชแแแแแแ แฌแแแแแแก แแแกแแฆแแแ, แ แแแแแแช แแแแกแขแฃแ แแแก แแแแแชแแแแ แฆแ แฃแแแแแ แฌแแแแแแก แฃแคแแแแแก) แแ TLS แกแแ แแแคแแแแขแแแก. แแแแแแฆแแแจแแฃแแ แแแแแแแแแ แฉแแแแแแแ แแ แแฃแกแแคแ แแฎแ แแ แแ แแกแแแแแ แแกแแ แแคแแฅแขแฃแ แ, แแแแขแแ แฉแแแ แแแแแแ แแแแแแ NextCloud, ONLYOFFICE แแ แกแแแ แแ nginx, แ แแแแแแช แแแแแงแแคแก แแแแฎแแแแแแก แแแแแแแก แกแแฎแแแแแแก แแแฎแแแแแ docker-compose-แแก แแแแแงแแแแแแ. แแฅ แแแชแแแฃแแแ แแขแแแแแ แแแ แแแคแแ แแแชแแ แแแแก แจแแกแแฎแแ, แแฃ แ แแแแ แฃแแแ แแแแแแแแ แแก.
แแแแแฏแ 1: nginx แแแแขแแแแแ แ
แแก แแ แแก แซแแแแแ แแแ แขแแแ แแแงแแแแแ, แแแแ แแ แแก แแแแแฏแ แแแแแฎแแแก แงแแแแแแ แแแข แจแ แแแแก แกแแแแ แแกแแแ แ แแ แแฅแกแ แกแแ แแแ แแก แแแแคแแแฃแ แแชแแแกแแแแก. แฉแแแ แแแ แแแแแ แจแแแฅแแแแแ docker-compose แแแแคแแแฃแ แแชแแ nginx:stable แกแฃแ แแแแกแแแแก.
version: '2'
services:
nginx:
image : nginx:stable
restart: always
volumes:
- ./nginx/nginx-vhost.conf:/etc/nginx/conf.d/default.conf:ro
- ./nginx/certificates:/mycerts
ports:
- 443:443
- 80:80
แแก แฅแแแแก แแแแขแแแแแ แก 80 แแ 443 แแแ แขแแแแ แฆแแ แกแแแแแแแแแแแกแแแแก, แแกแแฎแแแก แแแแคแแแฃแ แแชแแแก nginx/nginx-vhost.conf-แแ แแ แแแแกแแแฆแแ แแแก แแแฆแแแแแก แกแแ แแแคแแแแขแแแแกแแแแก, แ แแแแแแแช แแแแแ แแ แแแฃแแแ แ แแแแ แช แแแแ แฎแแแแแฌแแ แแแ แกแแ แแแคแแแแขแแแ แแ แแแงแแแแแ Let's certbot-แก /nginx/certificates-แจแ. แแก แแแแแแ แแแแ แฃแแแ แจแแแชแแแแแก แกแแฅแแฆแแแแแแแก office.yourdomain.com-แแกแ แแ cloud.yourdomain.com-แแกแแแแก, แแแแแแฃแแจแ fullchain1.pem แแ privkey1.pem แคแแแแแแแ, แจแแกแแแแแแกแแ, แกแแ แขแแคแแแแขแแแแก แฏแแญแแแกแ แแ แกแแ แแแ แแก แแแ แแแ แแแกแแฆแแแแกแแแแก. แแฅแแแ แจแแแแซแแแแ แฌแแแแแแฎแแ แแแขแ แแแแก แจแแกแแฎแแ, แแฃ แ แแแแ แฃแแแ แจแแฅแแแแ แฎแแแแแฌแแ แแแ แกแแ แขแแคแแแแขแ แแฅ.
แแแแก แจแแแแแ, แฉแแแ แแแแแกแแแฆแแ แแ vhost แคแแแแ. แฉแแแ แแแ แแแ แ แแแจแ แแแแแกแแแฆแแ แแแ แแแ แขแแก 80-แแก แฅแชแแแแก, แ แแแแ แช แแแ แขแแ แแแแแแแกแแแแ แแแแแก https-แแ, แ แแแแแ แฉแแแ แแ แแแแแแ แ แแแแ http แขแ แแคแแแแก แแแจแแแแ
server {
listen 80;
location / {
return 301
https://$host$request_uri;
}
}
แจแแแแแ แฉแแแ แจแแแฅแแแแแ แแ แ แแแ แขแฃแแแฃแ แ แกแแ แแแ แ 443 แแแ แขแแ แฉแแแแ แกแแ แแแกแแแแกแแแแก:
server {
listen 443 ssl;
server_name cloud.yourdomain.com ;
root /var/www/html;
ssl_certificate /mycerts/cloud.yourdomain.com/fullchain1.pem;
ssl_certificate_key /mycerts/cloud.yourdomain.com/privkey1.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app:80;
}
}
server {
listen 443 ssl;
server_name office.yourdomain.com;
root /var/www/html;
ssl_certificate /mycerts/office.yourdomain.com/fullchain1.pem;
ssl_certificate_key /mycerts/office.yourdomain.com/privkey1.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://onlyoffice:80;
}
}
แแแแแฏแ 2: แแแแฃแแแแขแแแแก แแแแกแแฎแฃแ แแแ
แแฎแแ แฉแแแ แฃแแแ แแแแแแแขแแ แแแแฃแแแแขแแก แกแแ แแแกแแก แแแแขแแแแแ แ แฉแแแแก docker-compose.yml-แก. แแฅ แแแแคแแแฃแ แแชแแแก แแแแกแแแฃแแ แแแฃแแ แแ แแคแแ แแ.
services:
...
onlyoffice:
image: onlyoffice/documentserver
restart: always
แแแแ แแ แแ แแแแแแแฌแงแแแ แแแแแแแจแแ แแ nginx แแแแขแแแแแ แ แแแแฃแแแแขแแก แกแแ แแแกแแแ:
services:
...
nginx:
...
depends_on:
- onlyoffice
แแแแแฏแ 3: แจแแแแแแ แฆแ แฃแแแแ
แแแ แแแ แ แแแจแ, แแแแแแขแแ แแฎแแแ แกแแ แแแกแแแ:
services:
...
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- /data/nextcloud_db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=#put some password here
- MYSQL_PASSWORD=#put some other password here
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
depends_on:
- db
- onlyoffice
restart: always
แแ แแแแแแขแแ แแแฃแแ nginx-แแ:
services:
...
nginx:
...
depends_on:
- app
แแฎแแ แแ แแ แฉแแขแแแ แแแ แแแแขแแแแแ แแแ.
docker-compose up -d
แแแ แแแแฃแแ แแแ แแแแแก แจแแแแแ, nginx แแแแฌแงแแแก แแฅแแแแก แแแแแแแกแแแแ แแแแแก NextCloud-แแก แคแ แแแขแแ, แ แแแแแแช แแ แแก แแแแฃแแแกแฎแแแแ แแแแคแแแฃแ แแชแแแก แแแแ แแ. แแฅแแแ แฃแแแ แจแแแงแแแแแ แแแแฎแแแ แแแแแก แกแแฎแแแ แแ แแแ แแแ แแฅแแแแ แแแ แแแแ แแแแแแแกแขแ แแขแแ แแก แแแแฎแแแ แแแแแกแแแแก แแ แแแแแชแแแแ แแแแแก แ แฌแแฃแแแแแแ แกแแแแแแแ, แ แแแแแแแช แแแฃแแแแแ docker-compose.yml-แจแ แแแงแแแแแแก แแแกแ แฃแแแแแก แจแแแแแ, แแฅแแแ แจแแซแแแแ แจแแกแแแแก. แฉแแแแก แจแแแแฎแแแแแจแ, แแแแแแก แแแแฅแแแก แแ แแ แฌแฃแแ แแแกแญแแ แแ แแ แกแแญแแ แ แแงแ แจแแกแแแแก แแแแ แแแก แแแแแขแแแแแ แแแแแฎแแแแ, แกแแแแ แฆแ แฃแแแแแแ แกแแ แแแกแจแ แจแแแแแแแแ.
NextCloud แกแแ แแแกแแก แแแ แแแแขแ แแแแก แคแแแฏแแ แ
แแแแแฏแ 4: NextCloud-แแกแ แแ ONLYOFFICE-แแก แแแแแแจแแ แแแ
แแ แแขแแแแ, แแฅแแแ แฃแแแ แแแแแแกแขแแแแ แแ แแแแแแแชแแ NextCloud-แแกแแแแก, แ แแแแแแช แแแแแจแแ แแแก ONLYOFFICE แคแฃแแฅแชแแแก. แแแแแฌแงแแ แแแแแแแชแแแก แแแ แแแแก แแแแแแแ แแแแแฃแก แแแแ แแแ แฏแแแแ แแฃแแฎแแจแ. แแแแแแ ONLYOFFICE แแแ (Office & แขแแฅแกแขแแก แฅแแแจ แแ แซแแแแแก แแแแแงแแแแแแ), แแแแแแกแขแแแแ แแ แแ แแแแฅแขแแฃแ แแ แแแ.
แแแแก แจแแแแแ แแแแแแแ แแแ แแแแขแ แแแแก แแแแแฃแจแ แแแแ แแแ แฏแแแแ แแฃแแฎแแจแ แแ แแฅแแแ แฃแแแ แแแแแแ ONLYOFFICE แแแแแแแขแ แแแ แชแฎแแแ แแแแแฃแจแ. แจแแแ แแแกแจแ. แแฅแแแ แฃแแแ แแแแ แแแแกแขแ แแ แแ แแแกแแแแ แแแแ, แ แแแแ แช แแก แฅแแแแแ แแ แแก แแแแแแแแฃแแ.
แแแขแแแ แแชแแแก แแแแแแแชแแแก แแแ แแแแขแ แแแ
แแแ แแแแ แแแกแแแแ แแ แแแแแแงแแแแแ แแแแแแ แ js แแ css แคแแแแแแ แแแกแแแแแจแแ แแแแแ แแแ แแแแแ แแ แแฃแแแ แจแ แแแจแแแแฃแแ แแแแแแแชแแแแแ (แแก แแ แแก แแก, แ แแช แแแญแแ แแแแ ONLYOFFICE แกแแ แแแกแแ แฌแแแแแแก แแแกแแฎแกแแแแแ nginx-แแก แกแแจแฃแแแแแแ). แกแแแแฃแแแ แแแกแแฆแแแ แแ แแแแแแงแแแแแ, แ แแแแแ แฉแแแ แฃแคแ แ แแแขแแ แแแแแแแแ Docker แแแแแแชแแแก แคแแแแก, แแแแ แ แแฃแแแแแ แแแขแแ แแแแชแแแก แแแกแแฆแแแก. แแแกแแแ แแแกแแแแ แแก แแงแแแแแก NextCloud แแแแขแแแแแ แ แแแ แแแแแ ONLYOFFICE API-แกแแแ แแแกแแแแแจแแ แแแแแ แแ แแก แแงแแแแแก Docker-แแก แแแแฃแแแกแฎแแแ แจแแแ แฐแแกแขแแก แกแแฎแแแก. แแกแ, แแแแ แแแแ แแแแแแงแแแแแ แแแแกแแแแก, แ แแ ONLYOFFICE-แแ แจแแซแแแก แแแแฎแแแแแก แแแแ แฃแแแแ NextCloud API-แแ แแแ แ IP แแแกแแแแ แแแก แแ แจแแแ Docker แแแกแแแแ แแแก แแแแแงแแแแแแ, แแฃ แแงแแแแแ Docker แฅแกแแแแแก, แแแแ แแ แแก แแ แแแแแแงแแแแแ แฉแแแแก แจแแแแฎแแแแแจแ. แแแ แฌแแฃแแแแ, แ แแ แแฅแแแแ firewall แแแ แแแแขแ แแแ แแ แขแแแแก แฃแ แแแแ แแฅแแแแแแแก แกแแจแฃแแแแแแก แแซแแแแ.
แจแแแแฎแแแก แจแแแแแ, NextCloud แจแแแแแฌแแแแก แแแแจแแ แก แแ แแฃ แงแแแแแคแแ แ แกแฌแแ แแ, แแแฉแแแแแแ แแแขแแแ แแชแแแกแแแ แแแแแแจแแ แแแฃแ แแแ แแแแขแ แแแก - แแแแแแแแแ, แ แ แขแแแแก แคแแแแแแแก แ แแแแฅแขแแ แแแแ แจแแกแแซแแแแแแ แแ แแแขแแแ แแชแแแ. แแแแแแแคแแแฃแ แแ แแ, แ แแแแ แช แแฅแแแแแแแก แจแแกแแคแแ แแกแแ.
แแแแ แแแแแฏแ: แกแแ แแแแแแแ แ แแแแฅแขแแ แ
แแฃ แแแแ แฃแแแแแแ แฆแ แฃแแแแแแแ แกแแชแแแแก แกแแฅแแฆแแแแแแแจแ แแ แแแแฌแแแแฃแแแ โ+โ-แแ แแฎแแแ แคแแแแแก แจแแกแแฅแแแแแแ, แแแจแแ แแแฅแแแแแ แแฎแแแ แแแ แแแแขแ แแแแฃแแแแขแแก, แชแฎแ แแแแแแก แแ แแ แแแแแขแแชแแแก แจแแกแแฅแแแแแแ. แแแแ แแแฎแแแ แแแแ แแฅแแแ แจแแฅแแแแ แแ แแแฃแงแแแแแแแแ แจแแซแแแแ แแ แขแแแแก แคแแแแแแแก แ แแแแฅแขแแ แแแแก ONLYOFFICE-แแก แแแแแงแแแแแแ.
แคแแแแแก แจแแฅแแแแก แแแแแฃ
แแแแแแแขแ 1 แฌ
docker-compose.yml-แแก แกแ แฃแแ แจแแแแแ แกแ แจแแแแซแแแแ แแฎแแแแ แแฅ:
แฌแงแแ แ: www.habr.com