เฮ้ ฮาเบอร์! ฉันขอเสนอให้คุณทราบถึงการแปลบทความ
เป็นการยากที่จะประเมินคุณค่าของชุดโปรแกรมสำนักงานออนไลน์ เช่น Google Docs และพื้นที่เก็บข้อมูลบนคลาวด์ต่ำไปในชีวิตของผู้คนที่มุ่งเน้นด้านเทคโนโลยี เทคโนโลยีแพร่หลายมากจนแม้แต่ Microsoft ซึ่งครองตลาดแอพพลิเคชั่นสำนักงานมายาวนานก็ยังมุ่งเน้นไปที่การพัฒนาเว็บแอพพลิเคชั่น Office 365 และชักชวนผู้ใช้ให้เปลี่ยนไปใช้รูปแบบการสมัครสมาชิกเพื่อใช้บริการของตนเอง ขอเชิญผู้ที่สนใจกระบวนการติดตั้งและกำหนดค่าพื้นที่เก็บข้อมูลของตนเองภายใต้ cat
เมื่อไม่นานมานี้ เราได้ดูโซลูชันพื้นที่เก็บข้อมูลบนคลาวด์และชุดโปรแกรมสำนักงานบนเว็บแบบโอเพ่นซอร์สที่สามารถนำมาใช้งานในองค์กรขนาดเล็กได้อย่างง่ายดาย แรงจูงใจหลักในการเก็บรักษาเอกสารทั้งหมดไว้ทางออนไลน์คือ การเก็บเอกสารให้เหลือน้อยที่สุด และใช้หลักปฏิบัติทางธุรกิจที่ดี แม้ว่าจะมีธุรกรรมปริมาณน้อยก็ตาม ด้านพลิกของเหรียญคือการเช่าเซิร์ฟเวอร์คลาวด์เพื่อให้บริการนี้มีความปลอดภัยน้อยกว่าการจัดเก็บโดยตรงในสถานที่ขององค์กร เนื่องจากคุณไม่มีวิธีการตรวจสอบการเข้าถึงเซิร์ฟเวอร์หรือการรับส่งข้อมูลทางกายภาพของคุณ ดังนั้นจึงจำเป็นต้องมีการเข้ารหัสจากต้นทางถึงปลายทางและซอฟต์แวร์โอเพ่นซอร์สด้วย
เมื่อพิจารณาถึงข้อมูลที่มีอยู่ทั้งหมดเกี่ยวกับโซลูชันโอเพ่นซอร์ส เราพบโปรเจ็กต์ที่ใช้งานอยู่สองโปรเจ็กต์ (โดยมีการคอมมิตในพื้นที่เก็บข้อมูล git ในช่วง 12 เดือนที่ผ่านมา) ที่พัฒนาขึ้นสำหรับการจัดเก็บข้อมูลบนคลาวด์: 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 โดยกำหนดค่าอินสแตนซ์ nginx ที่สร้างไว้ใน Document Service ด้วยตนเองเพื่อติดตั้งคีย์การเข้าถึง (คีย์การเข้าถึงที่รู้จักล่วงหน้าซึ่งยืนยันสิทธิ์ในการเข้าถึงดาต้าคลาวด์) และใบรับรอง TLS วิธีการข้างต้นถือว่าไม่ปลอดภัยและไม่มีประสิทธิผลเพียงพอ ดังนั้นเราจึงรวม NextCloud, ONLYOFFICE และ nginx ทั่วไปที่แยกคำขอตามชื่อโดเมนโดยใช้ docker-compose นี่คือข้อมูลทีละขั้นตอนเกี่ยวกับวิธีการทำ
ขั้นตอนที่ 1: คอนเทนเนอร์ nginx
นี่เป็นการตั้งค่าที่ง่ายมาก แต่ขั้นตอนนี้ต้องใช้ความพยายามมากที่สุดในการกำหนดค่าพร็อกซีเซิร์ฟเวอร์ย้อนกลับ ขั้นแรกเราสร้างการกำหนดค่านักเทียบท่าสำหรับอิมเมจ 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 encrypt'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) ไม่ได้ใช้คีย์ลับเนื่องจากเราเชื่อถือเลเยอร์แยกนักเทียบท่ามากกว่าคีย์การรับรองความถูกต้องถาวร ที่อยู่ที่สามถูกใช้โดยคอนเทนเนอร์ NextCloud เพื่อเชื่อมต่อโดยตรงกับ ONLYOFFICE API และใช้ชื่อโฮสต์ภายในเริ่มต้นจาก Docker ฟิลด์สุดท้ายถูกใช้เพื่อให้ ONLYOFFICE สามารถส่งคำขอกลับไปยัง NextCloud API โดยใช้ที่อยู่ IP ภายนอกหรือที่อยู่ Docker ภายใน หากคุณใช้เครือข่าย Docker แต่ไม่ได้ใช้ในกรณีของเรา ตรวจสอบให้แน่ใจว่าการตั้งค่าไฟร์วอลล์ของคุณอนุญาตการโต้ตอบประเภทนี้
หลังจากบันทึก NextCloud จะทดสอบการเชื่อมต่อ และหากทุกอย่างถูกต้อง จะแสดงการตั้งค่าที่เกี่ยวข้องกับการรวมระบบ - ตัวอย่างเช่น ไฟล์ประเภทใดที่สามารถแก้ไขได้โดยการรวมระบบนี้ ปรับแต่งตามที่คุณเห็นสมควร
ขั้นตอนสุดท้าย: จะหาบรรณาธิการได้ที่ไหน
หากคุณกลับไปที่โฟลเดอร์ที่เก็บข้อมูลบนคลาวด์และคลิกที่ “+” เพื่อสร้างไฟล์ใหม่ คุณจะมีตัวเลือกใหม่ในการสร้างเอกสาร สเปรดชีต หรืองานนำเสนอ ด้วยความช่วยเหลือของพวกเขา คุณจะสร้างและสามารถแก้ไขไฟล์ประเภทนี้ได้ทันทีโดยใช้ ONLYOFFICE
เมนูการสร้างไฟล์
อาหารเสริม 1
เนื้อหาทั้งหมดของ docker-compose.yml สามารถพบได้ที่นี่:
ที่มา: will.com