Είναι δύσκολο να υποτιμηθεί η αξία των διαδικτυακών σουιτών γραφείου όπως τα Έγγραφα Google και ο χώρος αποθήκευσης cloud στη ζωή των ανθρώπων που προσανατολίζονται στην τεχνολογία. Η τεχνολογία έχει γίνει τόσο διαδεδομένη που ακόμη και η Microsoft, η οποία κυριαρχεί εδώ και καιρό στην αγορά εφαρμογών γραφείου, έχει πρόσφατα επικεντρωθεί στην ανάπτυξη της εφαρμογής web του Office 365 και στην πείθηση των χρηστών να στραφούν σε ένα μοντέλο συνδρομής για τη χρήση των δικών τους υπηρεσιών. Προσκαλούμε όσους ενδιαφέρονται για τη διαδικασία εγκατάστασης και διαμόρφωσης του δικού τους χώρου αποθήκευσης κάτω από τη γάτα.
Πριν από λίγο καιρό εξετάσαμε λύσεις αποθήκευσης cloud και σουίτες γραφείου web ανοιχτού κώδικα που θα μπορούσαν εύκολα να αναπτυχθούν για χρήση σε μια πολύ μικρή επιχείρηση. Το κύριο κίνητρο για τη διατήρηση όλης της τεκμηρίωσης στο διαδίκτυο είναι η διατήρηση της γραφειοκρατίας στο ελάχιστο και η εφαρμογή καλών επιχειρηματικών πρακτικών παρά τον χαμηλό όγκο συναλλαγών. Η άλλη όψη του νομίσματος είναι ότι η ενοικίαση ενός διακομιστή cloud για την παροχή αυτής της υπηρεσίας είναι λιγότερο ασφαλής από την αποθήκευσή του απευθείας στις εγκαταστάσεις της επιχείρησης, καθώς δεν έχετε κανένα μέσο ελέγχου της φυσικής πρόσβασης στον διακομιστή ή της επισκεψιμότητάς σας. Επομένως, απαιτείται επίσης κρυπτογράφηση από άκρο σε άκρο και λογισμικό ανοιχτού κώδικα.
Λαμβάνοντας υπόψη όλες τις διαθέσιμες πληροφορίες σχετικά με λύσεις ανοιχτού κώδικα, βρήκαμε δύο ενεργά έργα (με δεσμεύσεις στο αποθετήριο git τους τελευταίους 12 μήνες) που αναπτύχθηκαν για αποθήκευση στο cloud: το NextCloud και το OwnCloud και τη μοναδική ενεργή σουίτα γραφείου ONLYOFFICE. Και τα δύο εργαλεία αποθήκευσης cloud έχουν περίπου την ίδια λειτουργικότητα και η απόφαση να επιλέξετε το NextCloud βασίστηκε στην ύπαρξη αποδεικτικών στοιχείων ότι μπορεί να ενσωματωθεί με το ONLYOFFICE για μια άνετη αλληλεπίδραση χρήστη με το λογισμικό. Ωστόσο, όταν ξεκινήσαμε την ανάπτυξη των υπηρεσιών, έγινε εμφανής η έλλειψη πληροφοριών για την ενσωμάτωση των παραπάνω υπηρεσιών. Βρήκαμε 3 εκπαιδευτικά βίντεο σχετικά με τον τρόπο ενσωμάτωσης:
Κανένα από τα τρία βίντεο δεν απάντησε στην ερώτηση εγκατάστασης της υπηρεσίας εγγράφων ONLYOFFICE στον ίδιο φυσικό διακομιστή με το NextCloud με κοινόχρηστο nginx. Αντίθετα, χρησιμοποίησαν τεχνικές διαχωρισμού, όπως η χρήση ξεχωριστών θυρών για το api της υπηρεσίας εγγράφων. Μια άλλη πρόταση ήταν να αναπτυχθεί ένας ξεχωριστός διακομιστής για την Υπηρεσία Εγγράφων, διαμορφώνοντας με μη αυτόματο τρόπο την παρουσία nginx που είναι ενσωματωμένη στην Υπηρεσία Εγγράφων για να εγκαταστήσει ένα κλειδί πρόσβασης (ένα προγνωστικό κλειδί πρόσβασης που επιβεβαιώνει το δικαίωμα πρόσβασης στο σύννεφο δεδομένων) και πιστοποιητικά TLS. Οι παραπάνω προσεγγίσεις θεωρήθηκαν μη ασφαλείς και όχι αρκετά αποτελεσματικές, επομένως ενσωματώσαμε το NextCloud, το ONLYOFFICE και ένα κοινό nginx που διαχωρίζει τα αιτήματα ανά ονόματα τομέα χρησιμοποιώντας το docker-compose. Εδώ είναι βήμα προς βήμα πληροφορίες για το πώς να το κάνετε.
Βήμα 1: δοχείο nginx
Αυτή είναι μια πολύ απλή ρύθμιση, αλλά αυτό το βήμα απαιτεί τη μεγαλύτερη δυνατή εργασία για τη διαμόρφωση του διακομιστή μεσολάβησης αντίστροφου. Αρχικά δημιουργήσαμε τη διαμόρφωση docker-compose για την εικόνα nginx:stable.
Αυτό δημιουργεί ένα κοντέινερ με τις θύρες 80 και 443 ανοιχτές στο κοινό, αντιστοιχίζει τη διαμόρφωση στο nginx/nginx-vhost.conf και ορίζει ένα χώρο αποθήκευσης για πιστοποιητικά που δημιουργούνται ως αυτουπογεγραμμένα πιστοποιητικά ή χρησιμοποιώντας το certbot Let's encrypt's στο /nginx/certificates. Αυτή η τοποθεσία θα πρέπει να περιέχει φακέλους για το office.yourdomain.com και το cloud.yourdomain.com, με αρχεία fullchain1.pem και privkey1.pem σε καθένα για την αλυσίδα πιστοποιητικών και το ιδιωτικό κλειδί του διακομιστή, αντίστοιχα. Μπορείτε να διαβάσετε περισσότερα σχετικά με τον τρόπο δημιουργίας ενός αυτουπογεγραμμένου πιστοποιητικού εδώ. www.akadia.com/services/ssh_test_certificate.html (Η μετονομασία .key και .crt σε .pem λειτουργεί χωρίς μετατροπή της δομής του αρχείου για nginx).
Μετά από αυτό, ορίσαμε το αρχείο vhost. Αρχικά ορίζουμε τη συμπεριφορά της θύρας 80 ως απλή ανακατεύθυνση στο https, επειδή δεν θέλουμε να επιτρέψουμε καμία επισκεψιμότητα http
Αλλά μην ξεχάσετε να συνδέσετε το κοντέινερ nginx με την υπηρεσία εγγράφων:
services:
...
nginx:
...
depends_on:
- onlyoffice
Βήμα 3: Επόμενο Cloud
Αρχικά, προσθέστε νέες υπηρεσίες:
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 Μόλις ολοκληρωθεί η ρύθμιση, θα μπορείτε να συνδεθείτε. Στην περίπτωσή μας, η αναμονή κράτησε σχεδόν ένα λεπτό και χρειάστηκε μια επιπλέον ανανέωση της σελίδας σύνδεσης προτού μπορέσουμε να συνδεθούμε στην υπηρεσία cloud.
Παράθυρο ρυθμίσεων υπηρεσίας NextCloud
Βήμα 4: Σύνδεση NextCloud και ONLYOFFICE
Σε αυτό το βήμα, θα χρειαστεί να εγκαταστήσετε την εφαρμογή για το NextCloud, η οποία συνδέει τη λειτουργία ONLYOFFICE. Ας ξεκινήσουμε με τον πίνακα ελέγχου της εφαρμογής στην επάνω δεξιά γωνία του μενού. Βρείτε την εφαρμογή ONLYOFFICE (υπό το Office & κείμενο ή χρησιμοποιώντας την αναζήτηση), εγκαταστήστε την και ενεργοποιήστε την.
Στη συνέχεια, μεταβείτε στις Ρυθμίσεις μέσω του μενού στην επάνω δεξιά γωνία και θα πρέπει να βρείτε το στοιχείο ONLYOFFICE στο αριστερό μενού. Πηγαίνετε σε αυτό. Θα χρειαστεί να καταχωρίσετε τις διευθύνσεις όπως υποδεικνύονται παρακάτω.
Ρυθμίσεις εφαρμογής ενσωμάτωσης
Η πρώτη διεύθυνση χρησιμοποιείται για σύνδεση σε ορισμένα αρχεία js και css απευθείας από την εφαρμογή που εκτελείται στο πρόγραμμα περιήγησης (αυτό είναι που χρειαζόμαστε για να ανοίξουμε την πρόσβαση στην υπηρεσία ONLYOFFICE μέσω του nginx). Το μυστικό κλειδί δεν χρησιμοποιείται επειδή εμπιστευόμαστε το επίπεδο απομόνωσης Docker περισσότερο από το μόνιμο κλειδί ελέγχου ταυτότητας. Η τρίτη διεύθυνση χρησιμοποιείται από το κοντέινερ NextCloud για απευθείας σύνδεση στο ONLYOFFICE API και χρησιμοποιεί το προεπιλεγμένο εσωτερικό όνομα κεντρικού υπολογιστή από το Docker. Λοιπόν, το τελευταίο πεδίο χρησιμοποιείται έτσι ώστε το ONLYOFFICE να μπορεί να κάνει αιτήματα πίσω στο NextCloud API χρησιμοποιώντας μια εξωτερική διεύθυνση IP ή μια εσωτερική διεύθυνση Docker εάν χρησιμοποιείτε δίκτυα Docker, αλλά αυτό δεν χρησιμοποιείται στην περίπτωσή μας. Βεβαιωθείτε ότι οι ρυθμίσεις του τείχους προστασίας επιτρέπουν τέτοιου είδους αλληλεπιδράσεις.
Μετά την αποθήκευση, το NextCloud θα δοκιμάσει τη σύνδεση και, εάν όλα είναι σωστά, θα σας δείξει ρυθμίσεις που σχετίζονται με την ενοποίηση - για παράδειγμα, ποιοι τύποι αρχείων μπορούν να επεξεργαστούν από αυτήν την ενοποίηση. Προσαρμόστε όπως σας ταιριάζει.
Το τελευταίο βήμα: πού να βρείτε τον επεξεργαστή
Εάν επιστρέψετε στους φακέλους αποθήκευσης cloud και κάνετε κλικ στο "+" για να δημιουργήσετε ένα νέο αρχείο, τότε θα έχετε μια νέα επιλογή για να δημιουργήσετε ένα έγγραφο, υπολογιστικό φύλλο ή παρουσίαση. Με τη βοήθειά τους, θα δημιουργήσετε και θα μπορείτε αμέσως να επεξεργαστείτε αυτούς τους τύπους αρχείων χρησιμοποιώντας το ONLYOFFICE.