Standard Notes là một ứng dụng ghi chú mã nguồn mở và được mã hóa hoàn toàn. Ứng dụng này cung cấp cả gói miễn phí và trả phí, cũng như dịch vụ lưu trữ đám mây và tùy chọn lưu trữ trên máy chủ của bạn. Bạn có thể sử dụng máy chủ của mình để đồng bộ hóa các ghi chú được lưu trữ giữa các thiết bị khác nhau. Standard Notes cung cấp ứng dụng cho tất cả các hệ điều hành máy tính để bàn và nền tảng di động.
Trong hướng dẫn này, bạn sẽ học cách tự lưu trữ máy chủ ghi chú tiêu chuẩn của mình trên máy Ubuntu 22.04. Bạn cũng sẽ học cách kích hoạt các tính năng gói trả phí và tải tệp lên phiên bản tự lưu trữ của mình.
Kiểm tra trạng thái của tường lửa.
Bạn sẽ thấy nội dung tương tự như sau.
Cho phép HTTP và HTTPs ports.
Kiểm tra lại trạng thái để xác nhận.
Chạy lệnh sau để thêm kho lưu trữ Docker.
Cập nhật hệ thống để bao gồm kho lưu trữ của Docker.
Cài đặt Docker.
Hướng dẫn này sẽ sử dụng plugin Docker Compose v2 thay vì tệp nhị phân cũ hơn. Do đó, lệnh chạy nó đã thay đổi từ docker-compose thành docker compose và điều này được phản ánh ở đây.
Docker chạy với các đặc quyền nâng cao nên bạn sẽ cần sử dụng sudo thường xuyên để chạy lệnh. Tùy chọn tốt hơn là thêm tài khoản người dùng Linux của bạn vào nhóm người dùng docker.
Biến ${USER} sẽ chọn tài khoản hệ thống hiện đang đăng nhập. Nếu bạn không đăng nhập bằng người dùng mà bạn muốn cấp đặc quyền, hãy thay thế ${USER} bằng tên người dùng.
Để đăng ký tư cách thành viên nhóm mới, hãy đăng xuất khỏi máy chủ và đăng nhập lại hoặc sử dụng lệnh sau. Bạn sẽ được nhắc nhập mật khẩu của người dùng.
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 kho lưu trữ hệ thống.
Cài đặt Nginx.
Xác minh cài đặt.
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 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 có thể chạy được bằng cách tạo liên kết tượng trưng đến thư mục /usr/bin.
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 /etc/letsencrypt/live/standardnotes.example.com thư mục trên máy chủ của bạn.
Chúng ta cần làm tương tự cho miền phụ Files.
Tạo chứng chỉ nhóm Diffie-Hellman.
Mở tệp /etc/letsencrypt/renewal/standardnotes.example.com.conf để chỉnh sửa.
Dán mã sau vào cuối.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Lặp lại bước tương tự cho tên miền phụ của tệp bằng cách chỉnh sửa tệp /etc/letsencrypt/renewal/snotes-files.example.com.conf.
Chúng tôi đã tạo chứng chỉ SSL bằng tùy chọn độc lập của Certbot. Nó chạy máy chủ web của mình để tạo chứng chỉ, nghĩa là Nginx phải bị tắt trong quá trình gia hạn. Các lệnh pre_hook và post_hook chạy trước và sau khi gia hạn để tự động đóng và khởi động lại máy chủ Nginx, do đó không cần can thiệp thủ công.
Để 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, bạn đã hoàn tất. Chứng chỉ của bạn sẽ tự động gia hạn.
Sao chép kho lưu trữ Standard Notes Standalone.
Chuyển sang thư mục đã tải xuống.
Tạo các tệp cấu hình mặc định cho máy chủ.
Điều này sẽ tạo các tệp môi trường mặc định mà chúng ta cần cấu hình. Bạn cần tạo sáu khóa bí mật khác nhau. Sử dụng các lệnh sau để tạo chúng.
Đầu tiên, chúng ta phải chỉnh sửa tệp .env trong thư mục chính. Mở tệp để chỉnh sửa.
Thay đổi giá trị của các biến sau.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Tiếp theo, mở tệp docker/auth.env.
Thay đổi giá trị của các biến sau.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Lệnh này sẽ mất vài phút để hoàn tất. Trong thời gian này, quy trình sẽ kéo tất cả các hình ảnh Docker có liên quan và tạo các vùng chứa cho tất cả các dịch vụ. Nó cũng sẽ điền vào cơ sở dữ liệu và thực hiện các lần di chuyển phù hợp.
Bạn có thể kiểm tra nhật ký cho quy trình bằng lệnh sau.
Nhấn Ctrl + C để thoát khỏi nhật ký. Bạn có thể kiểm tra trạng thái của các container đang chạy bằng lệnh sau.
Bạn sẽ nhận được kết quả tương tự.
Bạn có thể kiểm tra tình trạng hoạt động của máy chủ bằng lệnh sau.
Standard Notes sử dụng cổng 3000 theo mặc định. Nếu bạn đã cấu hình một cổng khác trong tệp .env, bạn nên cập nhật cổng đó trong lệnh ở trên.
Thêm dòng sau trước dòng include /etc/nginx/conf.d/*.conf;.
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 /etc/nginx/conf.d/standardnotes.conf để chỉnh sửa.
Dán mã sau vào đó. Thay thế standardnotes.example.com bằng tên miền của bạn. Chúng tôi đã đặt giá trị của client_max_body_size thành 50MB. Bạn có thể thay đổi tùy theo yêu cầu của mình.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Tệp trên dành cho ứng dụng Standard Notes chính. Tiếp theo, chúng ta cần cấu hình một tệp khác cho miền phụ Files.
Dán mã sau vào đó. Thay thế snotes-files.example.com bằng tên miền của bạn. Chúng tôi đã đặt giá trị của biến client_max_body_size thành 50MB. Bạn có thể thay đổi tùy theo yêu cầu của mình.
Xác minh cấu hình Nginx của bạn.
Khởi động lại máy chủ Nginx để kích hoạt các tệp cấu hình.
Điều này có nghĩa là máy chủ của bạn đang hoạt động. Để sử dụng Standard Notes, bạn sẽ cần sử dụng các ứng dụng chính thức. Đối với hướng dẫn của chúng tôi, chúng tôi sẽ sử dụng ứng dụng web của họ nhưng phương pháp sẽ giữ nguyên đối với ứng dụng dành cho máy tính để bàn và thiết bị di động.
Mở URL https://app.standardnotes.com để truy cập ứng dụng web. Nhấp vào liên kết Tạo tài khoản miễn phí ở góc dưới bên trái của trang và điền địa chỉ email và mật khẩu của bạn. Nhấp vào nút Tính năng nâng cao và bỏ chọn tùy chọn Máy chủ đồng bộ tùy chỉnh và điền URL https://standardnotes.example.com vào hộp.
Sau khi đăng nhập, bạn có thể bắt đầu tạo ghi chú và sử dụng ứng dụng.
Đối với ứng dụng lưu trữ trên đám mây, bạn có thể thanh toán trực tiếp để bật các tính năng nâng cao. Nhưng đối với ứng dụng tự lưu trữ, bạn không thể trả tiền cho các tính năng nâng cao vì ứng dụng thanh toán không hoạt động. Tuy nhiên, bạn có thể quyên góp chúng. Nhưng để bật các tính năng trả phí trong ứng dụng tự lưu trữ, bạn cần chạy lệnh sau từ thư mục Standard Notes.
Tải lại ứng dụng web và các tính năng trả phí sẽ được kích hoạt cho tài khoản của bạn.
Bây giờ, Standard Notes đặt số không làm giới hạn tải lên cho mọi người dùng. Điều đó có nghĩa là không người dùng nào có thể tải lên tệp trừ khi được cấp hạn ngạch theo cách thủ công. Do đó, bước cuối cùng để tải tệp lên hoạt động là bật hạn ngạch tệp cho tài khoản người dùng trả phí. Chúng ta có thể thực hiện điều đó bằng cách thực hiện truy vấn SQL bên trong vùng chứa cơ sở dữ liệu.
Đăng nhập vào shell MySQL bên trong vùng chứa Cơ sở dữ liệu.
Khi đã vào bên trong shell MySQL, hãy kiểm tra danh sách cơ sở dữ liệu.
Chuyển sang cơ sở dữ liệu Standard Notes.
Chạy lệnh SQL sau để thêm hạn ngạch tệp 10 GB vào người dùng trả phí đã kích hoạt ở trên.
Ở đây 10737418240 đề cập đến tổng số byte tương đương với 10GB. Bạn có thể sửa đổi số này thành bất kỳ số nào bạn cần.
Thoát khỏi shell MySQL và vùng chứa cơ sở dữ liệu.
Nhấp vào nút Tải tệp lên và chọn tệp bạn muốn tải lên. Tệp sẽ tải lên thành công và bạn có thể thấy tệp được liệt kê bằng cách nhấp lại vào biểu tượng.
Nhấp vào ba dấu chấm trên tên tệp để hiển thị các tùy chọn bổ sung liên quan đến tệp.
Nhấp vào liên kết Đính kèm vào Ghi chú để thêm hình ảnh vào ghi chú. Các tùy chọn còn lại đều tự giải thích.
Trong hướng dẫn này, bạn sẽ học cách tự lưu trữ máy chủ ghi chú tiêu chuẩn của mình trên máy Ubuntu 22.04. Bạn cũng sẽ học cách kích hoạt các tính năng gói trả phí và tải tệp lên phiên bản tự lưu trữ của mình.
Điều kiện tiên quyết
-
Một máy chủ chạy Ubuntu 22.04 với tối thiểu 2 GB RAM.
-
Một người dùng không phải root có quyền sudo.
-
Tường lửa đơn giản (UFW) được bật và đang chạy.
-
Một tên miền đủ điều kiện trỏ đến máy chủ. Đối với hướng dẫn của chúng tôi, chúng tôi sẽ sử dụng tên miền standardnotes.example.com. Bạn sẽ cần một tên miền khác cho máy chủ tệp của mình. Chúng tôi sẽ sử dụng tên miền snotes-files.example.com.
-
Mọi thứ đều được cập nhật.
Mã:
$ sudo apt update && sudo apt upgrade
Bước 1 - Cấu hình Tường lửa
Bước đầu tiên trước khi cài đặt bất kỳ gói nào là cấu hình tường lửa để cho phép kết nối HTTP và HTTPS.Kiểm tra trạng thái của tường lửa.
Mã:
$ sudo ufw status
Mã:
Trạng thái: activeĐến Hành động Từ-- ------ ----OpenSSH CHO PHÉP Mọi nơiOpenSSH (v6) CHO PHÉP Mọi nơi (v6)
Mã:
$ sudo ufw allow http$ sudo ufw allow https
Mã:
$ sudo ufw statusTrạng thái: activeĐến Hành động Từ-- ------ ----OpenSSH ALLOW Anywhere80/tcp ALLOW Anywhere443/tcp ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)80/tcp (v6) ALLOW Anywhere (v6)443/tcp (v6) ALLOW Anywhere (v6)
Bước 2 - Cài đặt Docker và Docker Compose
Thêm khóa GPG chính thức của Docker.
Mã:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg
Mã:
$ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Mã:
$ sudo apt update
Mã:
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Docker chạy với các đặc quyền nâng cao nên bạn sẽ cần sử dụng sudo thường xuyên để chạy lệnh. Tùy chọn tốt hơn là thêm tài khoản người dùng Linux của bạn vào nhóm người dùng docker.
Mã:
$ sudo usermod -aG docker ${USER}
Để đăng ký tư cách thành viên nhóm mới, hãy đăng xuất khỏi máy chủ và đăng nhập lại hoặc sử dụng lệnh sau. Bạn sẽ được nhắc nhập mật khẩu của người dùng.
Mã:
$ su - $(USER)
Bước 3 - Cài đặt Nginx
Ubuntu 22.04 đi kèm với 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 -vphiên bản nginx: nginx/1.22.0
Bước 4 - 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 ta 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 rằng phiên bản Snapd của bạn được cập nhật.
Mã:
$ sudo snap install core
Mã:
$ sudo snap install --classic certbot
Mã:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Mã:
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d standardnotes.example.com
Chúng ta cần làm tương tự cho miền phụ Files.
Mã:
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d snotes-files.example.com
Mã:
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Mã:
$ sudo nano /etc/letsencrypt/renewal/standardnotes.example.com.conf
Mã:
pre_hook = systemctl stop nginxpost_hook = systemctl start nginx
Lặp lại bước tương tự cho tên miền phụ của tệp bằng cách chỉnh sửa tệp /etc/letsencrypt/renewal/snotes-files.example.com.conf.
Chúng tôi đã tạo chứng chỉ SSL bằng tùy chọn độc lập của Certbot. Nó chạy máy chủ web của mình để tạo chứng chỉ, nghĩa là Nginx phải bị tắt trong quá trình gia hạn. Các lệnh pre_hook và post_hook chạy trước và sau khi gia hạn để tự động đóng và khởi động lại máy chủ Nginx, do đó không cần can thiệp thủ công.
Để 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.
Mã:
$ sudo certbot renew --dry-run
Bước 5 - Tải xuống và cấu hình Standard Notes
Đảm bảo bạn đang ở trong thư mục gốc của hệ thống.
Mã:
$ cd ~
Mã:
$ git clone --single-branch --branch main https://github.com/standardnotes/standalone.git
Mã:
$ cd standalone
Mã:
$ ./server.sh setup
Mã:
$ openssl rand -hex 32
Mã:
$ nano .env
Mã:
NODE_ENV=production..AUTH_JWT_SECRET=c0f5bcf6f0f0dcca5b9078c3095e4255a055dfd6376b376733af0e50483cc629..DB_USERNAME=std_notes_userDB_PASSWORD=changeme123..VALET_TOKEN_SECRET=977c978ca1d5ea22fe2fda65058905b191f724e33db6e47d0a41e034a082cb3b..FILES_SERVER_URL=https://snotes-files.example.com
Tiếp theo, mở tệp docker/auth.env.
Mã:
$ nano docker/auth.env
Mã:
JWT_SECRET=54deb1b0b2499e8d875b0d5266dabef9003e13c1787a959a94e339363c10e56eLEGACY_JWT_SECRET=c36aae01803a616213f22422b6d3f998a2beb2cb53af8b95bf578a8a3d046cec..PSEUD O_KEY_PARAMS_KEY=ea09d3f9122b49c653524cd2285a45fee88beb94f9b76d4d25420b521b080fcd..ENCRYPTION_SERVER_KEY=04decf379fbe3bb48cf95dbb5997031418b308e724a25d88cb0b2ed6da725efe
Bước 6 - Khởi động Standard Notes Server
Chạy lệnh sau để khởi động máy chủ.
Mã:
$ ./server.sh start
Bạn có thể kiểm tra nhật ký cho quy trình bằng lệnh sau.
Mã:
$ ./server.sh logs
Mã:
$ ./server.sh status
Mã:
Services State:NAME COMMAND SERVICE STATUS PORTSapi-gateway-standalone "./wait-for.sh auth …” api-gateway running 0.0.0.0:3000->3000/tcp, :::3000->3000/tcpauth-standalone "./wait-for.sh db 33…" auth runningauth-worker-standalone "./wait-for.sh db 33…" auth-worker runningcache-standalone "docker-entrypoint.s…" cache running 6379/tcpdb-standalone "docker-entrypoint.s…" db running 3306/tcpfiles-standalone "./wait-for.sh db 33…" các tệp đang chạy 0.0.0.0:3125->3000/tcp, :::3125->3000/tcpsyncing-server-js-standalone "./wait-for.sh db 33…" syncing-server-js đang chạysyncing-server-js-worker-standalone "./wait-for.sh db 33…" syncing-server-js-worker đang chạy
Mã:
$ curl http://localhost:3000/healthcheckOK
Bước 7 - Cấu hình Nginx
Mở tệp /etc/nginx/nginx.conf để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/nginx.conf
Mã:
server_names_hash_bucket_size 64;
Tạo và mở tệp /etc/nginx/conf.d/standardnotes.conf để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/conf.d/standardnotes.conf
Mã:
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name standardnotes.example.com; client_max_body_size 50M; access_log /var/log/nginx/standardnotes.access.log; error_log /var/log/nginx/standardnotes.error.log; ssl_certificate /etc/letsencrypt/live/standardnotes.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/standardnotes.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/standardnotes.example.com/chain.pem; ssl_session_timeout 5 phút; ssl_session_cache shared:MozSSL:10 phút; ssl_session_tickets tắt; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers bật; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling bật; ssl_stapling_verify bật; ssl_dhparam /etc/ssl/certs/dhparam.pem; location / { proxy_pass http://127.0.0.1:3000; proxy_cache off; }}# enforce HTTPSserver { listen 80; listen [::]:80; server_name standardnotes.example.com; return 301 https://$host$request_uri;}
Tệp trên dành cho ứng dụng Standard Notes chính. Tiếp theo, chúng ta cần cấu hình một tệp khác cho miền phụ Files.
Mã:
$ sudo nano /etc/nginx/conf.d/files-standardnotes.conf
Mã:
máy chủ { lắng nghe 443 ssl http2; lắng nghe [::]:443 ssl http2; tên máy chủ snotes-files.example.com; kích thước thân máy tối đa của máy khách 50M; nhật ký truy cập /var/log/nginx/files-standardnotes.access.log; nhật ký lỗi /var/log/nginx/files-standardnotes.error.log; chứng chỉ ssl /etc/letsencrypt/live/snotes-files.example.com/fullchain.pem; khóa chứng chỉ ssl /etc/letsencrypt/live/snotes-files.example.com/privkey.pem; chứng chỉ ssl đáng tin cậy /etc/letsencrypt/live/snotes-files.example.com/chain.pem; thời gian chờ ssl 5 phút; ssl_session_cache được chia sẻ: MozSSL: 10m; ssl_session_tickets tắt; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers bật; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling bật; ssl_stapling_verify bật; ssl_dhparam /etc/ssl/certs/dhparam.pem; vị trí / { proxy_pass http://127.0.0.1:3125; proxy_cache tắt; }}# thực thi HTTPSmáy chủ { lắng nghe 80; lắng nghe [::]:80; tên máy chủ snotes-files.example.com; trả về 301 https://$host$request_uri;}
Mã:
$ sudo nginx -t
Mã:
$ sudo systemctl restart nginx
Bước 8 - Sử dụng Standard Notes
Nếu bạn mở URL https://standardnotes.example.com trong trình duyệt của mình, bạn sẽ thấy đầu ra sau.Điều này có nghĩa là máy chủ của bạn đang hoạt động. Để sử dụng Standard Notes, bạn sẽ cần sử dụng các ứng dụng chính thức. Đối với hướng dẫn của chúng tôi, chúng tôi sẽ sử dụng ứng dụng web của họ nhưng phương pháp sẽ giữ nguyên đối với ứng dụng dành cho máy tính để bàn và thiết bị di động.
Mở URL https://app.standardnotes.com để truy cập ứng dụng web. Nhấp vào liên kết Tạo tài khoản miễn phí ở góc dưới bên trái của trang và điền địa chỉ email và mật khẩu của bạn. Nhấp vào nút Tính năng nâng cao và bỏ chọn tùy chọn Máy chủ đồng bộ tùy chỉnh và điền URL https://standardnotes.example.com vào hộp.
Sau khi đăng nhập, bạn có thể bắt đầu tạo ghi chú và sử dụng ứng dụng.
Bước 9 - Bật tính năng trả phí
Cho đến nay, chúng tôi đã bật chức năng cơ bản cho ứng dụng Standard Notes. Ứng dụng cung cấp một số tính năng nâng cao như nhiều định dạng ghi chú, lưu trữ đám mây được mã hóa, lịch sử sửa đổi dài hơn, v.v.Đối với ứng dụng lưu trữ trên đám mây, bạn có thể thanh toán trực tiếp để bật các tính năng nâng cao. Nhưng đối với ứng dụng tự lưu trữ, bạn không thể trả tiền cho các tính năng nâng cao vì ứng dụng thanh toán không hoạt động. Tuy nhiên, bạn có thể quyên góp chúng. Nhưng để bật các tính năng trả phí trong ứng dụng tự lưu trữ, bạn cần chạy lệnh sau từ thư mục Standard Notes.
Mã:
$ cd ~/standardnotes$ bash ./server.sh create-subscription [emailprotected]
Bước 10 - Cấu hình Máy chủ để tải tệp lên
Tải tệp lên là tính năng trả phí của Standard Notes. Chúng tôi đã bật URL API tùy chỉnh để tải tệp lên. Nhưng chúng vẫn không hoạt động. Để chúng hoạt động, chúng tôi cần cấp quyền thích hợp cho thư mục uploads. Các tệp tải lên được lưu trữ trong thư mục ~/standardnotes/data/uploads. Chạy các lệnh sau để thay đổi quyền.
Mã:
$ chmod -R 775 data$ mkdir -p data/uploads$ sudo chmod -R 755 data/uploads$ sudo chown -R 1001.1001 data/uploads
Đăng nhập vào shell MySQL bên trong vùng chứa Cơ sở dữ liệu.
Mã:
$ docker exec -it db-standalone mysql -u std_notes_user -pNhập mật khẩu:
Mã:
mysql > show databases;+--------------------+| Cơ sở dữ liệu |+------------------+| information_schema || standard_notes_db |+------------------+2 hàng trong tập hợp (0,00 giây)
Mã:
mysql > use standard_notes_db;
Mã:
mysql> INSERT INTO subscription_settings(uuid, name, value, created_at, updated_at, user_subscription_uuid) VALUES (UUID(), "FILE_UPLOAD_BYTES_LIMIT", 10737418240, FLOOR(UNIX_TIMESTAMP(NOW(6))*1000000), FLOOR(UNIX_TIMESTAMP(NOW(6))*1000000), (SELECT us.uuid FROM user_subscriptions us INNER JOIN users u ON us.user_uuid=u.uuid WHERE u.email="[emailprotected]"));
Thoát khỏi shell MySQL và vùng chứa cơ sở dữ liệu.
Mã:
mysql > exit
Bước 11 - Kiểm tra Tải tệp lên
Đăng nhập vào ứng dụng web Standard Notes và nhấp vào biểu tượng tệp đính kèm ở hàng trên cùng.Nhấp vào nút Tải tệp lên và chọn tệp bạn muốn tải lên. Tệp sẽ tải lên thành công và bạn có thể thấy tệp được liệt kê bằng cách nhấp lại vào biểu tượng.
Nhấp vào ba dấu chấm trên tên tệp để hiển thị các tùy chọn bổ sung liên quan đến tệp.
Nhấp vào liên kết Đính kèm vào Ghi chú để thêm hình ảnh vào ghi chú. Các tùy chọn còn lại đều tự giải thích.