Seafile là một hệ thống lưu trữ tệp nguồn mở được viết bằng nền tảng web Django. Đây là phần mềm đa nền tảng cung cấp một bộ tính năng lưu trữ đám mây và cho phép người dùng lưu trữ, quản lý và chia sẻ tệp trong hệ sinh thái Seafile.
Trong Seafile, các tệp được lưu trữ trên máy chủ trung tâm và có thể được đồng bộ hóa với các máy khách trên nhiều thiết bị và điện thoại di động. Seafile là một giải pháp thay thế cho các dịch vụ lưu trữ tệp như Google Drive, Dropbox và Mega.nz. Với Seafile, bạn có thể xây dựng giải pháp chia sẻ tệp cho các ứng dụng đám mây riêng của mình.
Bài viết này sẽ hướng dẫn bạn cài đặt Seafile trên máy chủ Debian 12 với MariaDB làm cơ sở dữ liệu, Nginx làm proxy ngược và HTTPS thông qua Letsencrypt và UFW (Tường lửa đơn giản) để bảo mật Seafile.
Trước tiên, hãy chạy lệnh bên dưới để cập nhật chỉ mục gói Debian của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22149%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để cài đặt các phần phụ thuộc như Python3, máy chủ MariaDB, máy chủ web Nginx, Memcached và một số thư viện bổ sung vào hệ thống của bạn.
Nhập 'Y' để xác nhận cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22347%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy kiểm tra máy chủ MariaDB bằng lệnh bên dưới.
Trong kết quả đầu ra sau, bạn có thể thấy máy chủ MariaDB đã được bật và đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22210%22%3E%3C/svg%3E
Bây giờ hãy kiểm tra dịch vụ Nginx bằng lệnh sau.
Bạn có thể thấy máy chủ web Nginx bên dưới đang chạy và được bật.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22185%22%3E%3C/svg%3E
Cuối cùng, hãy kiểm tra dịch vụ Memcached để đảm bảo dịch vụ này đang chạy. Dịch vụ Memcached phải đang chạy và được bật.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22184%22%3E%3C/svg%3E
Thực hiện lệnh 'mariadb-secure-installation' bên dưới để bảo mật cài đặt máy chủ MariaDB của bạn.
Bây giờ bạn sẽ được hỏi về các cấu hình sau:
Chạy lệnh 'mariadb' bên dưới để đăng nhập vào máy chủ MariaDB. Nhập mật khẩu gốc MariaDB của bạn khi được nhắc.
Tạo người dùng mới 'seafile' bằng truy vấn sau. Hãy đảm bảo thay đổi mật khẩu sau bằng mật khẩu an toàn mới.
Chạy các truy vấn sau để tạo cơ sở dữ liệu mới 'ccnet_db', 'seafile_db' và 'seahub_db'.
Tiếp theo, chạy các truy vấn bên dưới để cho phép người dùng 'seafile' để truy cập cơ sở dữ liệu Seafile.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22388%22%3E%3C/svg%3E
Bây giờ hãy kiểm tra các đặc quyền cho người dùng 'seafile' để đảm bảo quyền truy cập và các đặc quyền cho cơ sở dữ liệu 'ccnet_db', 'seafile_db' và 'seahub_db'.
Cuối cùng, nhập 'quit' để thoát khỏi máy chủ MariaDB.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22286%22%3E%3C/svg%3E
Trước tiên, hãy thêm một người dùng mới 'seafile' bằng lệnh sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22703%22%20height=%22421%22%3E%3C/svg%3E
Bây giờ hãy tạo một thư mục cài đặt mới '/opt/seafile' và di chuyển vào đó.
Chạy lệnh bên dưới để tạo môi trường ảo Python 'venv' và kích hoạt nó. Sau khi kích hoạt, shell của bạn sẽ có dạng như sau '(venv) user@hostname #'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22573%22%20height=%22204%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh 'pip3' bên dưới để cài đặt các phụ thuộc Python cho Seafile. Các gói đó phải được cài đặt bên trong môi trường ảo 'venv'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22343%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy thay đổi quyền sở hữu thư mục '/opt/seafile' thành người dùng 'seafile' bằng lệnh bên dưới.
Thực hiện lệnh sau để đăng nhập với tư cách là người dùng 'seafile' và đi đến thư mục '/opt/seafile'.
Tải xuống mã nguồn Seafile và giải nén bằng lệnh sau. Trong ví dụ này, bạn sẽ cài đặt Seafile 11, hãy đảm bảo kiểm tra trang tải xuống Seafile để tải phiên bản mới nhất.
Bây giờ hãy kích hoạt môi trường ảo 'venv' bằng sau đây:
Đi tới thư mục 'seafile-server-11.0.12' và thực thi tập lệnh 'setup-seafile-mysql.sh'. Với lệnh này, bạn sẽ cài đặt Seafile trên hệ thống của mình với MariaDB làm cơ sở dữ liệu.
Bây giờ, bạn sẽ được yêu cầu cấu hình Seafile sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22545%22%20height=%22750%22%3E%3C/svg%3E
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22605%22%20height=%22467%22%3E%3C/svg%3E
Sau khi cấu hình hoàn tất, bạn sẽ sửa đổi cấu hình Seafile để chạy nó dưới proxy ngược Nginx.
Đi đến thư mục '/opt/seafile/conf' và mở tệp 'seahub_settings.py' bằng trình chỉnh sửa 'nano'.
Thêm tên miền của bạn vào tùy chọn 'SERVICE_URL' và đảm bảo bao gồm 'https' trong bắt đầu.
Thêm tùy chọn 'FILE_SERVER_ROOT' như sau với tên miền của bạn.
Cuối cùng, thêm cài đặt 'CACHES' để tích hợp Seafile với bộ đệm Memcached hệ thống.
Khi hoàn tất, hãy lưu tệp và thoát khỏi trình chỉnh sửa.
Bây giờ hãy quay lại thư mục '/opt/seafile/seafile-server-latest/' và chạy các tập lệnh 'seafile.sh' và 'seahub.sh' để chạy Seafile.
Khi Seafile khởi động, bạn sẽ thấy thông báo 'Máy chủ Seafile đã khởi động'. Bạn cũng sẽ được yêu cầu thiết lập người dùng quản trị cho Seafile, vì vậy hãy đảm bảo nhập tên người dùng, email và mật khẩu của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22682%22%3E%3C/svg%3E
Tạo cấu hình khối máy chủ Nginx mới '/etc/nginx/sites-available/seafile' bằng trình soạn thảo 'nano' sau.
Chèn cấu hình bên dưới và đảm bảo thay đổi tùy chọn 'server_name' bằng tên miền của bạn.
Lưu và thoát khỏi tệp khi hoàn tất.
Bây giờ hãy chạy lệnh bên dưới để kích hoạt khối máy chủ 'seafile' và xác minh cú pháp Nginx của bạn. Bạn sẽ thấy đầu ra 'cú pháp ok - thử nghiệm thành công' khi bạn đã cấu hình Nginx đúng.
Cuối cùng, hãy chạy lệnh bên dưới để khởi động lại máy chủ web Nginx và áp dụng các thay đổi của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22163%22%3E%3C/svg%3E
Đầu tiên, hãy chạy lệnh bên dưới để cài đặt các gói 'ufw' và 'certbot'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22344%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh bên dưới để kích hoạt cấu hình 'OpenSSH' và 'Nginx Full'. Hồ sơ 'OpenSSH' sẽ mở cổng SSH mặc định '22' và hồ sơ 'Nginx Full' sẽ cho phép cả kết nối HTTP và HTTPS đến máy chủ.
Tiếp theo, chạy lệnh sau để khởi động và kích hoạt UFW. Nhập 'y' để xác nhận và bạn sẽ thấy thông báo 'Tường lửa đang hoạt động và được bật khi khởi động hệ thống'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22208%22%3E%3C/svg%3E
Cuối cùng, giờ đây bạn có thể tạo chứng chỉ SSL và bảo mật cài đặt Seafile của mình bằng Lệnh 'certbot' bên dưới. Đảm bảo thay đổi tên miền và địa chỉ email bằng thông tin của bạn.
Sau khi quá trình hoàn tất, Seafile của bạn sẽ được bảo mật bằng HTTPS và chứng chỉ của bạn sẽ có sẵn tại thư mục '/etc/letsencrypt/live/domain.com'.
Nhập địa chỉ email và mật khẩu quản trị của bạn, sau đó nhấp vào 'Đăng nhập'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22622%22%20height=%22509%22%3E%3C/svg%3E
Nếu bạn có thông tin đăng nhập quản trị chính xác, bạn có thể thấy bảng điều khiển Seafile sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22210%22%3E%3C/svg%3E
Bây giờ bạn có thể thử tải tệp lên Seafile để đảm bảo cài đặt thành công.
Trong Seafile, các tệp được lưu trữ trên máy chủ trung tâm và có thể được đồng bộ hóa với các máy khách trên nhiều thiết bị và điện thoại di động. Seafile là một giải pháp thay thế cho các dịch vụ lưu trữ tệp như Google Drive, Dropbox và Mega.nz. Với Seafile, bạn có thể xây dựng giải pháp chia sẻ tệp cho các ứng dụng đám mây riêng của mình.
Bài viết này sẽ hướng dẫn bạn cài đặt Seafile trên máy chủ Debian 12 với MariaDB làm cơ sở dữ liệu, Nginx làm proxy ngược và HTTPS thông qua Letsencrypt và UFW (Tường lửa đơn giản) để bảo mật Seafile.
Điều kiện tiên quyết
Để bắt đầu với hướng dẫn này, hãy đảm bảo bạn có các yêu cầu sau:- Máy chủ Debian 12
- Người dùng không phải root có quyền quản trị viên
- Tên miền trỏ đến địa chỉ IP của máy chủ
Cài đặt các phần phụ thuộc
Seafile được viết bằng nền tảng web Django, dựa trên Python. Để cài đặt Seafile, bạn phải đảm bảo Python đã được cài đặt. Ngoài ra, bạn sẽ cần các phần phụ thuộc như MariaDB/MySQL làm cơ sở dữ liệu, Nginx làm proxy ngược và Memcached hoặc Redis để quản lý phiên và bộ nhớ đệm. Trong phần này, bạn sẽ cài đặt các gói đó thông qua trình quản lý gói APT.Trước tiên, hãy chạy lệnh bên dưới để cập nhật chỉ mục gói Debian của bạn.
Mã:
sudo apt update
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22149%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để cài đặt các phần phụ thuộc như Python3, máy chủ MariaDB, máy chủ web Nginx, Memcached và một số thư viện bổ sung vào hệ thống của bạn.
Mã:
sudo apt install mariadb-server nginx python3 python3-dev python3-setuptools python3-pip libmariadb-dev-compat ldap-utils libldap2-dev libsasl2-dev python3.11-venv memcached libmemcached-dev
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22347%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy kiểm tra máy chủ MariaDB bằng lệnh bên dưới.
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22210%22%3E%3C/svg%3E
Bây giờ hãy kiểm tra dịch vụ Nginx bằng lệnh sau.
Mã:
sudo systemctl is-enabled nginx
sudo systemctl status nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22185%22%3E%3C/svg%3E
Cuối cùng, hãy kiểm tra dịch vụ Memcached để đảm bảo dịch vụ này đang chạy. Dịch vụ Memcached phải đang chạy và được bật.
Mã:
sudo systemctl is-enabled memcached
sudo systemctl status memcached
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22184%22%3E%3C/svg%3E
Thiết lập máy chủ MariaDB
Bây giờ bạn đã cài đặt MariaDB, bước tiếp theo bạn sẽ cấu hình và bảo mật triển khai máy chủ MariaDB. Sau đó, bạn sẽ tạo một người dùng MariaDB mới với nhiều cơ sở dữ liệu sẽ được Seafile sử dụng. Bạn sẽ bảo mật MariaDB bằng lệnh 'mariadb-secure-installation' và sử dụng máy khách 'mariadb' để tạo người dùng và cơ sở dữ liệu mới.Thực hiện lệnh 'mariadb-secure-installation' bên dưới để bảo mật cài đặt máy chủ MariaDB của bạn.
Mã:
sudo mariadb-secure-installation
- Đối với cài đặt máy chủ MariaDB mặc định không có mật khẩu gốc, hãy nhấn ENTER khi được hỏi về mật khẩu.
- Xác thực cục bộ cho người dùng gốc MariaDB được bảo mật theo mặc định, hãy nhập 'n' khi được yêu cầu thay đổi phương thức xác thực thành 'unix_socket'.
- Nhập 'Y' để tạo mật khẩu gốc MariaDB mới. Sau đó, nhập mật khẩu mạnh cho người dùng gốc MariaDB của bạn và lặp lại.
- Khi được yêu cầu tắt xác thực từ xa cho người dùng gốc MariaDB, hãy nhập 'Y' để đồng ý.
- Nhập 'Y' để xóa 'test' cơ sở dữ liệu mặc định và xóa đặc quyền ẩn danh.
- Cuối cùng, nhập 'Y' để xác nhận tải lại đặc quyền bảng.
Chạy lệnh 'mariadb' bên dưới để đăng nhập vào máy chủ MariaDB. Nhập mật khẩu gốc MariaDB của bạn khi được nhắc.
Mã:
sudo mariadb -u root -p
Mã:
create user 'seafile'@'localhost' identified by 'password';
Mã:
create database ccnet_db character set = 'utf8';
create database seafile_db character set = 'utf8';
create database seahub_db character set = 'utf8';
Mã:
GRANT ALL PRIVILEGES ON ccnet_db.* to seafile@localhost;
GRANT ALL PRIVILEGES ON seafile_db.* to seafile@localhost;
GRANT ALL PRIVILEGES ON seahub_db.* to seafile@localhost;
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22388%22%3E%3C/svg%3E
Bây giờ hãy kiểm tra các đặc quyền cho người dùng 'seafile' để đảm bảo quyền truy cập và các đặc quyền cho cơ sở dữ liệu 'ccnet_db', 'seafile_db' và 'seahub_db'.
Mã:
SHOW GRANTS FOR seafile@localhost;
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22286%22%3E%3C/svg%3E
Cài đặt các phụ thuộc Python
Trong phần này, bạn sẽ tạo một người dùng hệ thống mới để chạy Seafile, tạo một thư mục cài đặt và môi trường ảo Python, sau đó cài đặt các phụ thuộc Python bằng lệnh 'pip'.Trước tiên, hãy thêm một người dùng mới 'seafile' bằng lệnh sau.
Mã:
sudo adduser seafile
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22703%22%20height=%22421%22%3E%3C/svg%3E
Bây giờ hãy tạo một thư mục cài đặt mới '/opt/seafile' và di chuyển vào đó.
Mã:
mkdir -p /opt/seafile; cd /opt/seafile
Mã:
python3 -m venv venv
source venv/bin/activate
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22573%22%20height=%22204%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh 'pip3' bên dưới để cài đặt các phụ thuộc Python cho Seafile. Các gói đó phải được cài đặt bên trong môi trường ảo 'venv'.
Mã:
pip3 install --timeout=3600 django==4.2.* future==0.18.* mysqlclient==2.1.* pymysql pillow==10.0.* pylibmc captcha==0.4 markupsafe==2.0.1 jinja2 sqlalchemy==2.0.18 psd-tools django-pylibmc django_simple_captcha==0.5.* djangosaml2==1.5.* pysaml2==7.2.* pycryptodome==3.16.* cffi==1.15.1 lxml python-ldap==3.4.3
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22343%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy thay đổi quyền sở hữu thư mục '/opt/seafile' thành người dùng 'seafile' bằng lệnh bên dưới.
Mã:
sudo chown -R seafile: /opt/seafile
Tải xuống và cài đặt Seafile
Lúc này, bạn đã sẵn sàng cài đặt Seafile. Bây giờ, bạn sẽ tải xuống mã nguồn Seafile, cài đặt nó bằng MariaDB và Memcached, thêm tên miền Seafile thông qua cấu hình mặc định, sau đó bắt đầu quy trình Seafile theo cách thủ công.Thực hiện lệnh sau để đăng nhập với tư cách là người dùng 'seafile' và đi đến thư mục '/opt/seafile'.
Mã:
su seafile
cd /opt/seafile
Mã:
wget https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_11.0.12_x86-64.tar.gz
tar xf seafile-server_11.0.12_x86-64.tar.gz
Mã:
source venv/bin/activate
Mã:
cd seafile-server-11.0.12
./setup-seafile-mysql.sh
- Nhập tên máy chủ Seafile của bạn.
- Nhập tên miền của bạn để cài đặt Seafile.
- Nhập '2' để tích hợp Seafile với cơ sở dữ liệu MySQL/MariaDB hiện có và người dùng
- Nhập thông tin chi tiết về máy chủ MariaDB, cổng, người dùng và mật khẩu
- Nhập cơ sở dữ liệu cho ccnet là 'ccnet_db', seafile là 'seafile_db' và seahub dưới dạng 'seahub_db'
- Nhấn ENTER để xác nhận cài đặt và hoàn tất cấu hình
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22545%22%20height=%22750%22%3E%3C/svg%3E
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22605%22%20height=%22467%22%3E%3C/svg%3E
Sau khi cấu hình hoàn tất, bạn sẽ sửa đổi cấu hình Seafile để chạy nó dưới proxy ngược Nginx.
Đi đến thư mục '/opt/seafile/conf' và mở tệp 'seahub_settings.py' bằng trình chỉnh sửa 'nano'.
Mã:
cd /opt/seafile/conf
nano seahub_settings.py
Mã:
SERVICE_URL = 'https://seafile.howtoforge.local'
Mã:
FILE_SERVER_ROOT = 'https://seafile.howtoforge.local/seafhttp'
Mã:
CACHES = {
'default': {
'BACKEND': 'django_pylibmc.memcached.PyLibMCCache',
'LOCATION': '127.0.0.1:11211',
},
}
Bây giờ hãy quay lại thư mục '/opt/seafile/seafile-server-latest/' và chạy các tập lệnh 'seafile.sh' và 'seahub.sh' để chạy Seafile.
Mã:
cd /opt/seafile/seafile-server-latest/
./seafile.sh start
./seahub.sh start
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22682%22%3E%3C/svg%3E
Thiết lập Nginx làm proxy ngược
Bây giờ Seafile đã hoạt động với MariaDB và Memcached, bước tiếp theo là thiết lập Nginx làm proxy ngược cho Seafile. Vì vậy, hãy đảm bảo rằng bạn đã có tên miền sẵn sàng và được trỏ đến địa chỉ IP máy chủ của mình.Tạo cấu hình khối máy chủ Nginx mới '/etc/nginx/sites-available/seafile' bằng trình soạn thảo 'nano' sau.
Mã:
sudo nano /etc/nginx/sites-available/seafile
Mã:
log_format seafileformat '$http_x_forwarded_for $remote_addr [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $upstream_response_time';
server {
listen 80;
server_name seafile.howtoforge.local;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_read_timeout 1200s;
# used for view/edit office files via Office Online Server
client_max_body_size 0;
access_log /var/log/nginx/seahub.access.log seafileformat;
error_log /var/log/nginx/seahub.error.log;
}
location /seafhttp {
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass http://127.0.0.1:8082;
client_max_body_size 0;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
send_timeout 36000s;
access_log /var/log/nginx/seafhttp.access.log seafileformat;
error_log /var/log/nginx/seafhttp.error.log;
}
location /media {
root /opt/seafile/seafile-server-latest/seahub;
}
}
Bây giờ hãy chạy lệnh bên dưới để kích hoạt khối máy chủ 'seafile' và xác minh cú pháp Nginx của bạn. Bạn sẽ thấy đầu ra 'cú pháp ok - thử nghiệm thành công' khi bạn đã cấu hình Nginx đúng.
Mã:
sudo ln -s /etc/nginx/sites-available/seafile /etc/nginx/sites-enabled/
sudo nginx -t
Mã:
sudo systemctl restart nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22163%22%3E%3C/svg%3E
Bảo mật Seafile bằng UFW và HTTPS
Sau khi bạn đã cấu hình Nginx làm proxy ngược, bạn sẽ bảo mật Seafile bằng HTTPS và UFW (Tường lửa đơn giản). Bạn sẽ cài đặt UFW và Certbot, mở các dịch vụ như SSH, HTTP và HTTPS, sau đó tạo chứng chỉ SSL mới bằng Certbot từ Letsencrypt.Đầu tiên, hãy chạy lệnh bên dưới để cài đặt các gói 'ufw' và 'certbot'.
Mã:
sudo apt install ufw certbot -y
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22344%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh bên dưới để kích hoạt cấu hình 'OpenSSH' và 'Nginx Full'. Hồ sơ 'OpenSSH' sẽ mở cổng SSH mặc định '22' và hồ sơ 'Nginx Full' sẽ cho phép cả kết nối HTTP và HTTPS đến máy chủ.
Mã:
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
Mã:
sudo ufw enable
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22208%22%3E%3C/svg%3E
Cuối cùng, giờ đây bạn có thể tạo chứng chỉ SSL và bảo mật cài đặt Seafile của mình bằng Lệnh 'certbot' bên dưới. Đảm bảo thay đổi tên miền và địa chỉ email bằng thông tin của bạn.
Mã:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [emailprotected] -d seafile.howtoforge.local
Truy cập Seafile
Mở trình duyệt web của bạn và truy cập tên miền Seafile của bạn như https://seafile.howtoforge.local. Nếu cài đặt thành công, bạn sẽ được nhắc đến trang đăng nhập Seafile.Nhập địa chỉ email và mật khẩu quản trị của bạn, sau đó nhấp vào 'Đăng nhập'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22622%22%20height=%22509%22%3E%3C/svg%3E
Nếu bạn có thông tin đăng nhập quản trị chính xác, bạn có thể thấy bảng điều khiển Seafile sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22210%22%3E%3C/svg%3E
Bây giờ bạn có thể thử tải tệp lên Seafile để đảm bảo cài đặt thành công.