Cryptpad là một bộ ứng dụng văn phòng cộng tác mã nguồn mở, là một giải pháp thay thế cho Office 365. Nó cho phép bạn truy cập các ứng dụng văn phòng thông qua trình duyệt web. Sự khác biệt giữa Cryptpad và Office 365 là Cryptpad được mã hóa đầu cuối, nghĩa là bạn có thể tạo và chia sẻ tài liệu với người khác mà không có nguy cơ rò rỉ thông tin cá nhân. Các ứng dụng được cung cấp với Cryptpad bao gồm Rich Text, Spreadsheets, Code/Markdown, Kanban, Slides, Whiteboards và Forms.
Trong hướng dẫn này, bạn sẽ học cách cài đặt bộ Cryptpad trên máy chủ Ubuntu 22.04.
[*]
Một số gói mà hệ thống của bạn nhu cầu.
Một số gói này có thể đã được cài đặt trên hệ thống của bạn.
Kiểm tra xem tường lửa có đang chạy không.
Bạn sẽ nhận được kết quả sau.
Cho phép cổng SSH để tường lửa không làm gián đoạn kết nối hiện tại khi bật nó.
Cho phép cả cổng HTTP và HTTPS.
Kích hoạt Tường lửa
Kiểm tra lại trạng thái của tường lửa.
Bạn sẽ thấy kết quả tương tự.
Kiểm tra phiên bản Git.
Chạy các lệnh sau để cấu hình Git để thêm tên và địa chỉ email của bạn vào nó.
Bạn có thể tải phiên bản NVM mới nhất từ kho lưu trữ GitHub của nó.
Để sử dụng nó, bạn cần lấy nguồn
Kiểm tra danh sách các phiên bản Node có sẵn.
Bạn sẽ nhận được một đầu ra.
Cài đặt phiên bản LTS mới nhất (v18.x hoặc) của Node tại thời điểm viết hướng dẫn này.
Xác minh cài đặt.
Chuyển sang thư mục.
Chuyển kho lưu trữ sang phiên bản mới nhất.
Cài đặt Cryptpad bằng các lệnh sau.
Xây dựng các trang tĩnh Cryptpad và bật chế độ xem trước liên kết mạng xã hội bằng lệnh sau.
Mở tệp cấu hình để chỉnh sửa.
Tìm dòng
Tìm dòng
Thêm dòng sau ngay bên dưới biến
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Để cấu hình thêm, hãy tạo một bản sao của
Mở tệp
Đảm bảo thêm tất cả các cấu hình trước dòng
Để vô hiệu hóa việc sử dụng Cryptpad chưa đăng ký, hãy thêm lệnh sau dòng.
Thêm liên kết đến các trang Chính sách bảo mật, Điều khoản dịch vụ và Dấu ấn.
Thêm muối mật khẩu để bảo mật Cryptpad.
Để tăng độ dài tối thiểu của mật khẩu, hãy thêm dòng sau.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất. Trước khi khởi động Cryptpad, trước tiên chúng ta cần cài đặt Nginx, tạo chứng chỉ SSL và cấu hình máy chủ Nginx để chuẩn bị cho miền Cryptpad truy cập.
Nhập khóa ký của Nginx.
Thêm kho lưu trữ cho phiên bản ổn định của Nginx.
Cập nhật hệ thống kho lưu trữ.
Cài đặt Nginx.
Xác minh cài đặt.
Khởi động máy chủ Nginx.
Ubuntu 22.04 đi kèm với Snapd được cài đặt theo mặc định. Chạy các lệnh sau để đảm bảo phiên bản Snapd của bạn được cập nhật. Đảm bảo rằng phiên bản Snapd của bạn được cập nhật.
Cài đặt Certbot.
Sử dụng lệnh sau để đảm bảo rằng lệnh Certbot chạy bằng cách tạo liên kết tượng trưng đến
Chạy lệnh sau để tạo Chứng chỉ SSL.
Lệnh trên sẽ tải xuống chứng chỉ vào thư mục
Tạo nhóm Diffie-Hellman chứng chỉ.
Để kiểm tra xem quá trình gia hạn SSL có hoạt động tốt không, hãy chạy thử quy trình.
Nếu không thấy lỗi nào, bạn đã hoàn tất. Chứng chỉ của bạn sẽ tự động gia hạn.
Thêm dòng sau vào trước dòng
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Tạo và mở tệp
Dán mã sau vào đó.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Xác minh cú pháp tệp cấu hình Nginx.
Khởi động lại dịch vụ Nginx.
Sửa đổi mã trong đó để giống như sau. Đảm bảo đường dẫn chính xác cho tệp nhị phân Node và thay thế
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Sao chép tệp vào Systemd thư mục.
Tải lại daemon dịch vụ.
Kích hoạt và khởi động Cryptpad dịch vụ.
Kiểm tra trạng thái của dịch vụ.
Bạn sẽ nhận được thông báo sau đầu ra.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22572%22%3E%3C/svg%3E
Nhấp vào nút Đăng ký để tạo tài khoản. Nhập thông tin đăng nhập của bạn và nhấp vào nút Đăng ký để tạo tài khoản.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22572%22%3E%3C/svg%3E
Bạn sẽ nhận được cửa sổ xác nhận bật lên sau. Nhấp vào nút màu đỏ để hoàn tất việc tạo tài khoản.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22591%22%20height=%22195%22%3E%3C/svg%3E
Bạn sẽ được đăng nhập và được đưa đến bảng điều khiển CryptDrive.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22572%22%3E%3C/svg%3E
Nhấp vào menu Người dùng ở góc trên bên phải và nhấp vào Tùy chọn Cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22245%22%20height=%22544%22%3E%3C/svg%3E
Bạn sẽ nhận được trang cài đặt sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22688%22%20height=%22319%22%3E%3C/svg%3E
Sao chép giá trị của Khóa ký công khai và quay lại terminal và mở tệp cấu hình.
Tìm biến
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Khởi động lại dịch vụ Cryptpad.
Bộ ứng dụng văn phòng Cryptpad của bạn đã sẵn sàng để sử dụng.
Bước đầu tiên là dừng dịch vụ Cryptpad.
Chạy các lệnh sau để cập nhật Cryptpad.
Khởi động dịch vụ Cryptpad.
Trong hướng dẫn này, bạn sẽ học cách cài đặt bộ Cryptpad trên máy chủ Ubuntu 22.04.
Điều kiện tiên quyết
-
Một máy chủ chạy Ubuntu 22.04 với tối thiểu 2GB RAM và 2 lõi CPU.
-
Một người dùng không phải root có quyền sudo.
-
Hai tên miền đủ điều kiện (FQDN) nhưexample.com
vàdocs.example.com
.
-
Đảm bảo mọi thứ được cập nhật.
Mã:
$ sudo apt update
$ sudo apt upgrade
Một số gói mà hệ thống của bạn nhu cầu.
Mã:
$ sudo apt install wget curl nano software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y
Bước 1 - Cấu hình Tường lửa
Bước đầu tiên là cấu hình tường lửa. Ubuntu đi kèm với ufw (Uncomplicated Firewall) theo mặc định.Kiểm tra xem tường lửa có đang chạy không.
Mã:
$ sudo ufw status
Mã:
Status: inactive
Mã:
$ sudo ufw allow OpenSSH
Mã:
$ sudo ufw allow http
$ sudo ufw allow https
Mã:
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Mã:
$ sudo ufw status
Mã:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
Bước 2 - Cài đặt Git
Git thường được cài đặt sẵn với Ubuntu 22.04 nhưng trong trường hợp chưa cài đặt, hãy chạy lệnh sau để cài đặt nó.
Mã:
$ sudo apt install git -y
Mã:
$ git --version
git version 2.34.1
Mã:
git config --global user.name "Your Name"
git config --global user.email "[emailprotected]"
Bước 3 - Cài đặt Nodejs
Chúng ta sẽ sử dụng Trình quản lý phiên bản Node (NVM) để cài đặt Nodejs. Cài đặt tập lệnh NVM bằng lệnh sau.
Mã:
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
Để sử dụng nó, bạn cần lấy nguồn
.bashrc
tập tin.
Mã:
$ source ~/.bashrc
Mã:
$ nvm list-remote
Mã:
..... v18.9.0 v18.9.1 v18.10.0 v18.11.0 v18.12.0 (LTS: Hydrogen) v18.12.1 (LTS: Hydrogen) v18.13.0 (LTS: Hydrogen) v18.14.0 (LTS: Hydrogen)
-> v18.14.1 (Latest LTS: Hydrogen) v19.0.0 v19.0.1 v19.1.0 v19.2.0 v19.3.0 v19.4.0 v19.5.0 v19.6.0 v19.6.1
Mã:
$ nvm install lts/hydrogen
Mã:
$ node -v
v18.14.1
Bước 4 - Cài đặt Bower
Bower là trình quản lý gói cho các thành phần giao diện người dùng được Cryptpad sử dụng. Cài đặt bằng lệnh sau.
Mã:
$ npm install -g bower
Bước 5 - Cài đặt Cryptpad
Sao chép kho lưu trữ GitHub Cryptpad.
Mã:
$ git clone https://github.com/xwiki-labs/cryptpad.git cryptpad
Mã:
$ cd cryptpad
Mã:
$ git checkout $(git tag -l | grep -v 'v1.*$' | sort -V | tail -n 1)
Mã:
$ npm install
$ bower install
Mã:
$ npm run build
Bước 6 - Cấu hình Cryptpad
Tạo tệp cấu hình bằng ví dụ được cung cấp tập tin.
Mã:
$ cp /home/$USER/cryptpad/config/config.example.js /home/$USER/cryptpad/config/config.js
Mã:
$ nano ~/cryptpad/config/config.js
httpUnsafeOrigin: 'http://localhost:3000',
và thay đổi giá trị của nó thành miền chính của bạn.
Mã:
httpUnsafeOrigin: 'https://example.com',
// httpSafeOrigin: "https://some-other-domain.xyz",
và bỏ chú thích bằng cách xóa dấu gạch chéo ở phía trước và thay đổi giá trị của nó thành tên miền phụ của bạn.
Mã:
httpSafeOrigin: "https://docs.example.com",
httpSafeOrigin
.
Mã:
httpSafeOrigin: "https://docs.example.com", adminEmail: "[emailprotected]",
Để cấu hình thêm, hãy tạo một bản sao của
~/cryptpad/customize.dist/application_config.js
trong ~/cryptpad/customize
thư mục.
Mã:
$ cp ~/cryptpad/customize.dist/application_config.js ~/cryptpad/customize
~/cryptpad/customize/application_config.js
để chỉnh sửa.
Mã:
$ nano ~/cryptpad/customize/application_config.js
return AppConfig;
.Để vô hiệu hóa việc sử dụng Cryptpad chưa đăng ký, hãy thêm lệnh sau dòng.
Mã:
AppConfig.registeredOnlyTypes = AppConfig.availablePadTypes;
Mã:
// Privacy Policy
AppConfig.privacy = 'https://example.com/privacy-policy/';
// Terms of Service
AppConfig.terms = 'https://example.com/terms-of-service/';
// Imprint / Legal Notice
AppConfig.imprint = 'https://example.com/imprint/';
Mã:
AppConfig.loginSalt = 'ggkljerthhkletho0the90hoserhtgse90rh4ohzisdofh90-43kbdf9009io';
Mã:
AppConfig.minimumPasswordLength = 10;
Bước 7 - Cài đặt Nginx
Ubuntu 22.04 được tích hợp phiên bản Nginx cũ hơn. Để cài đặt phiên bản mới nhất, bạn cần tải xuống kho lưu trữ Nginx chính thức.Nhập khóa ký của Nginx.
Mã:
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Mã:
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list
Mã:
$ sudo apt update
Mã:
$ sudo apt install nginx
Mã:
$ nginx -v
nginx version: nginx/1.22.1
Mã:
$ sudo systemctl start nginx
Bước 8 - Cài đặt SSL
Chúng ta cần cài đặt Certbot để tạo chứng chỉ SSL. Bạn có thể cài đặt Certbot bằng kho lưu trữ của Ubuntu hoặc tải phiên bản mới nhất bằng công cụ Snapd. Chúng tôi sẽ sử dụng phiên bản Snapd.Ubuntu 22.04 đi kèm với Snapd được cài đặt theo mặc định. Chạy các lệnh sau để đảm bảo phiên bản Snapd của bạn được cập nhật. Đảm bảo rằng phiên bản Snapd của bạn được cập nhật.
Mã:
$ sudo snap install core
$ sudo snap refresh core
Mã:
$ sudo snap install --classic certbot
/usr/bin
thư mục.
Mã:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Mã:
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d example.com -d docs.example.com
/etc/letsencrypt/live/example.com
trên máy chủ của bạn cho các miền example.com
và docs.example.com
.Tạo nhóm Diffie-Hellman chứng chỉ.
Mã:
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Mã:
$ sudo certbot renew --dry-run
Bước 9 - Cấu hình Nginx
Mở tệp/etc/nginx/nginx.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;
.
Mã:
server_names_hash_bucket_size 64;
Tạo và mở tệp
/etc/nginx/conf.d/cryptpad.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/conf.d/cryptpad.conf
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Xác minh cú pháp tệp cấu hình Nginx.
Mã:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Mã:
$ sudo systemctl restart nginx
Bước 10 - Tạo Dịch vụ Cryptpad Systemd
Mở tệp~/cryptpad/docs/cryptpad.service
để chỉnh sửa.
Mã:
$ nano ~/cryptpad/docs/cryptpad.service
username
bằng tên người dùng Linux hiện đang đăng nhập của bạn.
Mã:
[Unit]
Description=CryptPad API server
[Service]
ExecStart=/home/username/.nvm/versions/node/v18.14.1/bin/node /home/username/cryptpad/server.js
# modify to match the location of your cryptpad repository
WorkingDirectory=/home/username/cryptpad
Restart=always
# Restart service after 10 seconds if node service crashes
RestartSec=2
# Output to syslog
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=cryptpad
User=username
Group=username
# modify to match your working directory
Environment='PWD="/home/username/cryptpad"'
# systemd sets the open file limit to 4000 unless you override it
# cryptpad stores its data with the filesystem, so you should increase this to match the value of `ulimit -n`
# or risk EMFILE errors.
LimitNOFILE=1000000
[Install]
WantedBy=multi-user.target
Sao chép tệp vào Systemd thư mục.
Mã:
sudo cp ~/cryptpad/docs/cryptpad.service /etc/systemd/system/cryptpad.service
Mã:
$ sudo systemctl daemon-reload
Mã:
$ sudo systemctl enable cryptpad --now
Mã:
$ suddo systemctl status cryptpad
Mã:
? cryptpad.service - CryptPad API server Loaded: loaded (/etc/systemd/system/cryptpad.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2023-02-21 08:43:50 UTC; 1h 52min ago Main PID: 8145 (node) Tasks: 33 (limit: 2237) Memory: 53.4M CPU: 2.323s CGroup: /system.slice/cryptpad.service ??8145 /home/navjot/.nvm/versions/node/v18.14.1/bin/node /home/navjot/cryptpad/server.js ??8158 /home/navjot/.nvm/versions/node/v18.14.1/bin/node lib/workers/db-worker ??8159 /home/navjot/.nvm/versions/node/v18.14.1/bin/node lib/workers/db-worker
Feb 21 08:43:50 nspeaks systemd[1]: Started CryptPad API server.
Feb 21 08:43:50 nspeaks cryptpad[8145]: Serving content for https://example.com/ via http://127.0.0.1:3000.
Bước 11 - Truy cập và Cấu hình Cryptpad
Mở URLhttps://example.com
trong trình duyệt của bạn và bạn sẽ nhận được màn hình sau.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22572%22%3E%3C/svg%3E
Nhấp vào nút Đăng ký để tạo tài khoản. Nhập thông tin đăng nhập của bạn và nhấp vào nút Đăng ký để tạo tài khoản.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22572%22%3E%3C/svg%3E
Bạn sẽ nhận được cửa sổ xác nhận bật lên sau. Nhấp vào nút màu đỏ để hoàn tất việc tạo tài khoản.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22591%22%20height=%22195%22%3E%3C/svg%3E
Bạn sẽ được đăng nhập và được đưa đến bảng điều khiển CryptDrive.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22572%22%3E%3C/svg%3E
Nhấp vào menu Người dùng ở góc trên bên phải và nhấp vào Tùy chọn Cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22245%22%20height=%22544%22%3E%3C/svg%3E
Bạn sẽ nhận được trang cài đặt sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22688%22%20height=%22319%22%3E%3C/svg%3E
Sao chép giá trị của Khóa ký công khai và quay lại terminal và mở tệp cấu hình.
Mã:
$ nano ~/cryptpad/config/config.js
adminKeys
và dán khóa vào giữa dấu ngoặc vuông như hiển thị bên dưới.
Mã:
adminKeys: ["[[emailprotected]/ygDc+0uabbCk6WqJYiIDO2B+gP6mYZ9FlQ94zL3UAoU=]"],
Khởi động lại dịch vụ Cryptpad.
Mã:
$ sudo systemctl restart cryptpad
Bước 12 - Cập nhật Cryptpad
Cập nhật Cryptpad dễ hơn nhiều và bao gồm việc tải các bản cập nhật mới nhất từ kho lưu trữ GitHub rồi chạy các lệnh cập nhật Node.Bước đầu tiên là dừng dịch vụ Cryptpad.
Mã:
$ sudo systemctl stop cryptpad
Mã:
$ cd ~/cryptpad
$ git pull
$ git checkout $(git tag -l | grep -v 'v1.*$' | sort -V | tail -n 1)
$ npm update
$ bower update
Mã:
$ sudo systemctl start cryptpad