Seafile là một hệ thống lưu trữ đám mây và lưu trữ tệp nguồn mở với các chức năng nâng cao như đồng bộ hóa từ nhiều nền tảng (hệ thống đa nền tảng), bảo vệ quyền riêng tư với mã hóa tệp tích hợp và hỗ trợ Xác thực hai yếu tố (TFA), kiểm soát phiên bản, khóa tệp, chỉnh sửa trực tuyến và nhiều tính năng khác. Seafile được viết bằng ngôn ngữ lập trình C và Python và cung cấp các tính năng tương tự như Dropbox, mega.co.nz và các tính năng khác.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn từng bước cách cài đặt và cấu hình máy chủ Seafile với máy chủ web Nginx và cơ sở dữ liệu MariaDB. Chúng tôi sẽ cài đặt máy chủ seafile dưới máy chủ web Nginx với HTTPS SSL Letsencrypt được bật, sử dụng MariaDB mới nhất trên hệ thống Ubuntu 20.04.
Trước khi cài đặt bất kỳ gói nào, chúng ta cần cập nhật kho lưu trữ Ubuntu.
Bây giờ hãy cài đặt python 3.x với tất cả các phụ thuộc cần thiết để cài đặt máy chủ seafile bằng cách sử dụng các lệnh apt bên dưới.
Sau đó, cài đặt các gói python bổ sung từ kho lưu trữ PyPI bằng lệnh pip bên dưới.
Kết quả là, tất cả các gói phụ thuộc cho Seafile đã được cài đặt.
Cài đặt máy chủ MariaDB bằng lệnh apt bên dưới.
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ MariaDB và cho phép dịch vụ này khởi chạy mọi lúc khi khởi động hệ thống.
Máy chủ MariaDB đã được cài đặt trên hệ thống Ubuntu, hãy kiểm tra bằng lệnh sau.
Dịch vụ MariaDB đã hoạt động.
Tiếp theo, chúng ta cần cấu hình mật khẩu gốc MariaDB bằng lệnh 'mysql_secure_installation'.
Bây giờ bạn sẽ được hỏi về cấu hình MariaDB và nhập mật khẩu gốc mạnh của bạn cho MariaDB.
Tiếp theo, chúng ta sẽ tạo một cơ sở dữ liệu mới cho máy chủ Seafile. Chúng ta sẽ tạo 3 cơ sở dữ liệu cho mỗi thành phần seafile và tạo một người dùng cơ sở dữ liệu mới. Chúng tôi sẽ tạo một người dùng mới có tên là 'seafile' và người dùng này sẽ có tất cả các đặc quyền đối với cả 3 cơ sở dữ liệu 'ccnet-db', 'seafile-db' và 'seahub-db'.
Đăng nhập vào shell MySQL bằng lệnh bên dưới.
Bây giờ hãy tạo các cơ sở dữ liệu mới 'ccnet-db', 'seafile-db', 'seahub-db' và tạo người dùng mới 'seafile'. Sau đó, cấp tất cả 3 đặc quyền cơ sở dữ liệu cho người dùng 'seafile'.
Chạy các truy vấn MySQL bên dưới.
Máy chủ MariaDB đã được cài đặt, mật khẩu gốc đã được thiết lập và cơ sở dữ liệu để cài đặt seafile đã được tạo.
Tạo một người dùng mới có tên là 'ryujin'.
Bây giờ hãy đăng nhập vào người dùng 'ryujin' và tải xuống phiên bản mới nhất của máy chủ seafile bằng wget.
Giải nén tệp 'seafile-server.tar.gz' và đổi tên thư mục chính thành 'seafile-server'.
Mã nguồn máy chủ seafile đã được tải xuống thư mục '/home/ryujin/seafile-server'.
Đăng nhập với tư cách là người dùng 'ryujin' và đi đến thư mục 'seafile-server'.
Bây giờ hãy chạy tập lệnh 'setup-seafile-mysql.sh'.
Tập lệnh cài đặt sẽ thực hiện python kiểm tra module. Đảm bảo tất cả các phụ thuộc đã được cài đặt và sau đó nhấn Enter.
Bây giờ bạn sẽ vào cấu hình Seafile.
Bây giờ đến cấu hình cơ sở dữ liệu. Bạn sẽ được yêu cầu 2 tùy chọn: để tập lệnh tạo cơ sở dữ liệu cho bạn hoặc sử dụng cơ sở dữ liệu hiện có.
Chọn tùy chọn '2' để sử dụng cài đặt cơ sở dữ liệu hiện có.
Bây giờ hãy nhấn enter một lần nữa để xác nhận cấu hình máy chủ seafile của chúng ta.
Khi quá trình cài đặt hoàn tất, bạn sẽ nhận được kết quả như hiển thị bên dưới.
Quá trình cài đặt và cấu hình máy chủ seafile đã hoàn tất thành công. Và máy chủ tệp seafile sẽ chạy dưới cổng '8082', dịch vụ seahub sẽ chạy dưới cổng '8000'.
Tiếp theo, chúng ta sẽ thử chạy máy chủ seafile và máy chủ seahub bằng tập lệnh bắt đầu.
Là người dùng 'ryujin', hãy chuyển đến thư mục '~/seafile-server-latest'.
Bây giờ hãy khởi động máy chủ seafile bằng cách chạy lệnh bên dưới.
Sau đó chạy máy chủ seahub.
Lần đầu tiên bạn chạy tập lệnh bắt đầu 'seahub.sh', bạn sẽ được yêu cầu tạo người dùng quản trị và mật khẩu cho máy chủ seafile.
Nhập email và mật khẩu quản trị của bạn, sau đó nhấn Enter.
Và người dùng và mật khẩu quản trị đã được tạo - bây giờ hãy kiểm tra các cổng dịch vụ seafile và seahub '8082' và '8080' bằng lệnh netstat.
Và bạn sẽ thấy máy chủ seafile và máy chủ seahub đang hoạt động trên hệ thống Ubuntu 20.04.
Bây giờ hãy dừng máy chủ seafile và seahub.
Đăng nhập vào người dùng 'ryujin' và đi đến thư mục 'conf'.
Chỉnh sửa cấu hình 'ccnet.conf' bằng trình soạn thảo vim.
trên tùy chọn 'SERVICE_URL', hãy thay đổi giá trị bằng tên miền và đảm bảo thay đổi giao thức HTTP mặc định thành giao thức bảo mật HTTPS như bên dưới.
Lưu và đóng.
Tiếp theo, chỉnh sửa cấu hình 'seafile.conf'.
Trên phần '[fileserver]', hãy chỉ định địa chỉ IP 'host' cho dịch vụ seafile. Dịch vụ seafile sẽ chạy trên địa chỉ cục bộ như bên dưới.
Lưu và đóng.
Tiếp theo, chỉnh sửa 'seahub_settings.py' bằng trình soạn thảo vim.
Thêm tùy chọn 'FILE_SERVER_ROOT' như bên dưới vào cuối dòng.
Lưu và đóng.
Và cấu hình Seafile đã hoàn tất, nó sẽ chạy dưới tên miền 'seafile.hakase-labs.io'.
Vào thư mục '/etc/systemd/system' và tạo một tệp dịch vụ mới cho seafile có tên là 'seafile.service'.
Dán cấu hình sau vào đó.
Save and close.
Next, create the file dịch vụ seahub named 'seahub.service'.
Dán cấu hình sau vào đó.
Save and đóng.
Và các tệp dịch vụ seafile và seahub đã được tạo.
Tiếp theo, tải lại trình quản lý systemd và đảm bảo không có lỗi.
Bây giờ hãy khởi động dịch vụ seafile và thêm nó vào hệ thống khởi động.
Sau đó, hãy khởi động và bật dịch vụ seahub.
Dịch vụ seafile và seahub đã hoạt động, hãy kiểm tra bằng lệnh sau.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là, cấu hình Seafile và Seahub dưới dạng dịch vụ systemd đã hoàn tất.
Để tạo SSL Letsencrypt, hãy đảm bảo rằng bạn có tên miền thực và được trỏ đến địa chỉ IP máy chủ của mình.
Cài đặt công cụ certbot vào hệ thống Ubuntu bằng lệnh apt bên dưới.
Sau đó, tạo SSL Letsencrypt cho tên miền seafile 'seafile.hakase-labs.io' bằng lệnh certbot như bên dưới.
Sau khi tất cả quy trình hoàn tất, chứng chỉ của bạn sẽ có tại '/etc/letsencrypt/live/seafile.hakase-labs.io' thư mục.
Tiếp theo, tạo chứng chỉ DHPARAM bằng lệnh openssl như bên dưới.
Chứng chỉ DHAPRAM sẽ được tạo và có sẵn trên '/etc/nginx/dhparam.pem'.
Kết quả là, SSL Letsencrypt cho tên miền Seafile và chứng chỉ DHPARAM đã được tạo.
Cài đặt Nginx vào máy chủ Ubuntu 20.04 bằng lệnh apt bên dưới.
Sau khi hoàn tất quá trình cài đặt, hãy khởi động dịch vụ Nginx và thêm nó vào hệ thống khởi động.
Và dịch vụ Nginx đã hoạt động trên hệ thống Ubuntu.
Tiếp theo, hãy vào thư mục '/etc/nginx/sites-available' và tạo cấu hình máy chủ ảo mới 'seafile' bằng trình soạn thảo vim.
Dán cấu hình sau vào đó.
Lưu và đóng.
Tiếp theo, kích hoạt cấu hình virtualhost cho seafile và kiểm tra cấu hình Nginx.
Đảm bảo không có lỗi, sau đó khởi động lại dịch vụ Nginx.
Kết quả là quá trình cài đặt và cấu hình Nginx làm proxy ngược cho Seafile đã hoàn tất thành công.
Thêm các dịch vụ SSH, HTTP và HTTPS vào tường lửa UFW bằng lệnh sau.
Bây giờ hãy kích hoạt tường lửa UFW và kiểm tra trạng thái cấu hình.
Và bạn sẽ nhận được kết quả như bên dưới.
Tường lửa UFW đã được bật và dịch vụ SSH, HTTP và HTTPS đã được thêm vào.
Bây giờ chúng ta đã sẵn sàng để sử dụng Seafile.
https://seafile.hakase-labs.io/
Bây giờ bạn sẽ được chuyển hướng đến kết nối HTTPS an toàn và sẽ nhận được trang đăng nhập Seafile như bên dưới.
Nhập mật khẩu người dùng seafile mà bạn vừa tạo ở trên cùng và nhấp vào nút 'Đăng nhập'.
Bây giờ bạn sẽ nhận được bảng điều khiển Seafile như bên dưới.
Dưới đây là kết quả sau khi tạo một thư mục mới và tải tệp lên máy chủ Seafile.
Kết quả là quá trình cài đặt và cấu hình Seafile với máy chủ web Nginx và cơ sở dữ liệu MariaDB trên Ubuntu 20.04 đã hoàn tất thành công.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn từng bước cách cài đặt và cấu hình máy chủ Seafile với máy chủ web Nginx và cơ sở dữ liệu MariaDB. Chúng tôi sẽ cài đặt máy chủ seafile dưới máy chủ web Nginx với HTTPS SSL Letsencrypt được bật, sử dụng MariaDB mới nhất trên hệ thống Ubuntu 20.04.
Điều kiện tiên quyết
- Ubuntu 20.04
- Quyền root
Chúng ta sẽ làm gì?
- Cài đặt Seafile Python Dependencies
- Cài đặt và cấu hình MariaDB
- Tải xuống Seafile Server cho máy chủ Linux
- Cài đặt Seafile Server với MariaDB
- Cấu hình Seafile với tên miền
- Chạy Seafile dưới dạng dịch vụ Systemd
- Tạo SSL Letsencrypt và DHPARAM
- Cài đặt và cấu hình Nginx dưới dạng proxy ngược
- Thiết lập tường lửa
- Kiểm tra
Bước 1 - Cài đặt các phụ thuộc Python của Seafile
Bước đầu tiên chúng ta phải thực hiện trước khi cài đặt máy chủ seafile trên hệ thống là cài đặt các phụ thuộc của nó. Seafile là một ứng dụng dựa trên python và yêu cầu python 3.x để chạy trên máy chủ.Trước khi cài đặt bất kỳ gói nào, chúng ta cần cập nhật kho lưu trữ Ubuntu.
Mã:
sudo apt update
Mã:
sudo apt install python3 libpython3.8 python3-setuptools python3-pil python3-ldap python3-urllib3 ffmpeg python3-pip python3-mysqldb python3-memcache python3-requests libmemcached-dev
Mã:
pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy psd-tools django-pylibmc django-simple-captcha python3-ldap
Bước 2 - Cài đặt và cấu hình MariaDB
Seafile hỗ trợ SQLite và máy chủ cơ sở dữ liệu MariaDB. Đối với hướng dẫn này, chúng tôi sẽ sử dụng máy chủ cơ sở dữ liệu MariaDB để cài đặt. Chúng tôi sẽ triển khai máy chủ seafile bằng phiên bản MariaDB mới nhất.Cài đặt máy chủ MariaDB bằng lệnh apt bên dưới.
Mã:
sudo apt install mariadb-server -y
Mã:
systemctl start mariadb
systemctl enable mariadb
Mã:
systemctl status mariadb
Tiếp theo, chúng ta cần cấu hình mật khẩu gốc MariaDB bằng lệnh 'mysql_secure_installation'.
Mã:
mysql_secure_installation
Mã:
Nhập mật khẩu hiện tại cho root (enter nếu không nhập): Nhấn Enter
Đặt mật khẩu root? [Y/n] Y
Xóa người dùng ẩn danh? [Y/n] Y
Không cho phép root đăng nhập từ xa? [Y/n] Y
Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n] Y
Tải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Đăng nhập vào shell MySQL bằng lệnh bên dưới.
Mã:
mysql -u root -p
Chạy các truy vấn MySQL bên dưới.
Mã:
tạo bộ ký tự cơ sở dữ liệu `ccnet-db` = 'utf8';
tạo bộ ký tự cơ sở dữ liệu `seafile-db` = 'utf8';
tạo bộ ký tự cơ sở dữ liệu `seahub-db` = 'utf8';
tạo người dùng 'seafile'@'localhost' được xác định bởi 'Hakase-Seafile01@';
CẤP TẤT CẢ CÁC QUYỀN TRÊN `ccnet-db`.* cho `seafile`@localhost;
CẤP TẤT CẢ CÁC QUYỀN TRÊN `seafile-db`.* cho `seafile`@localhost;
CẤP TẤT CẢ CÁC QUYỀN TRÊN `seahub-db`.* cho `seafile`@localhost;
Máy chủ MariaDB đã được cài đặt, mật khẩu gốc đã được thiết lập và cơ sở dữ liệu để cài đặt seafile đã được tạo.
Bước 3 - Tải xuống Seafile Server cho Linux Server
Trong hướng dẫn này, máy chủ seafile sẽ chạy như một dịch vụ trên hệ thống systemd và sẽ chạy dưới một người dùng không phải root.Tạo một người dùng mới có tên là 'ryujin'.
Mã:
useradd -m -s /bin/bash ryujin
Mã:
su - ryujin
wget -q https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_7.1.3_x86-64.tar.gz
Mã:
tar -xf seafile-server_7.1.3_x86-64.tar.gz
mv seafile-server-*/ seafile-server/
Bước 4 - Cài đặt Seafile Server với MariaDB
Trong bước này, chúng tôi sẽ cài đặt máy chủ seafile bằng tập lệnh thiết lập MariaDB do Seafile cung cấp.Đăng nhập với tư cách là người dùng 'ryujin' và đi đến thư mục 'seafile-server'.
Mã:
su - ryujin
cd seafile-server/
Mã:
./setup-seafile-mysql.sh
Bây giờ bạn sẽ vào cấu hình Seafile.
- tên máy chủ: nhập tên máy chủ seafile của bạn như 'hakase-cloud'.
- tên miền máy chủ: nhập tên miền cho máy chủ seafile của bạn 'cloud.hakase-labs.io'.
- thư mục dữ liệu seafile: giữ nguyên cấu hình mặc định và nhấn enter.
- cổng máy chủ filefile: giữ nguyên cổng mặc định '8082'.
Bây giờ đến cấu hình cơ sở dữ liệu. Bạn sẽ được yêu cầu 2 tùy chọn: để tập lệnh tạo cơ sở dữ liệu cho bạn hoặc sử dụng cơ sở dữ liệu hiện có.
Chọn tùy chọn '2' để sử dụng cài đặt cơ sở dữ liệu hiện có.
- Máy chủ cơ sở dữ liệu: localhost mặc định
- Cổng cơ sở dữ liệu: mặc định trên cổng thông thường mysql '3306'
- Người dùng cơ sở dữ liệu là 'seafile' với mật khẩu 'Hakase-Seafile01@'
- Cơ sở dữ liệu ccnet: 'ccnet-db'
- Cơ sở dữ liệu seafile: 'seafile-db'
- Cơ sở dữ liệu seahub: 'seahub-db'
Bây giờ hãy nhấn enter một lần nữa để xác nhận cấu hình máy chủ seafile của chúng ta.
Khi quá trình cài đặt hoàn tất, bạn sẽ nhận được kết quả như hiển thị bên dưới.
Quá trình cài đặt và cấu hình máy chủ seafile đã hoàn tất thành công. Và máy chủ tệp seafile sẽ chạy dưới cổng '8082', dịch vụ seahub sẽ chạy dưới cổng '8000'.
Tiếp theo, chúng ta sẽ thử chạy máy chủ seafile và máy chủ seahub bằng tập lệnh bắt đầu.
Là người dùng 'ryujin', hãy chuyển đến thư mục '~/seafile-server-latest'.
Mã:
su - ryujin
cd ~/seafile-server-latest/
Mã:
./seafile.sh start
Mã:
./seahub.sh start
Nhập email và mật khẩu quản trị của bạn, sau đó nhấn Enter.
Và người dùng và mật khẩu quản trị đã được tạo - bây giờ hãy kiểm tra các cổng dịch vụ seafile và seahub '8082' và '8080' bằng lệnh netstat.
Mã:
ss -plnt4
Bây giờ hãy dừng máy chủ seafile và seahub.
Mã:
./seafile.sh stop
./seahub.sh stop
Bước 5 - Cấu hình Seafile với Tên miền
Đối với hướng dẫn này, chúng tôi sẽ chạy Seafile với tên miền của mình là 'seafile.hakase-labs.io'. Để thực hiện điều đó, chúng ta cần chỉnh sửa một số cấu hình Seafile.Đăng nhập vào người dùng 'ryujin' và đi đến thư mục 'conf'.
Mã:
su - ryujin
cd conf/
Mã:
vim ccnet.conf
Mã:
SERVICE_URL = https://seafile.hakase-labs.io
Tiếp theo, chỉnh sửa cấu hình 'seafile.conf'.
Mã:
vim seafile.conf
Mã:
[fileserver]
host = 127.0.0.1
port = 8082
Tiếp theo, chỉnh sửa 'seahub_settings.py' bằng trình soạn thảo vim.
Mã:
vim seahub_settings.py
Mã:
FILE_SERVER_ROOT = 'https://seafile.hakase-labs.io/seafhttp'
Và cấu hình Seafile đã hoàn tất, nó sẽ chạy dưới tên miền 'seafile.hakase-labs.io'.
Bước 6 - Chạy Seafile dưới dạng Systemd Dịch vụ
Sau khi cấu hình Seafile với tên miền, chúng ta sẽ thiết lập seafile và seahub như một dịch vụ systemd.Vào thư mục '/etc/systemd/system' và tạo một tệp dịch vụ mới cho seafile có tên là 'seafile.service'.
Mã:
cd /etc/systemd/system/
vim seafile.service
Mã:
[Unit]
Description=Seafile
After=network.target mysql.service nginx.service
[Service]
Type=forking
ExecStart=/home/ryujin/seafile-server-latest/seafile.sh start
ExecStop=/home/ryujin/seafile-server-latest/seafile.sh stop
User=ryujin
Group=ryujin
[Install]
WantedBy=multi-user.target
Next, create the file dịch vụ seahub named 'seahub.service'.
Mã:
vim seahub.service
Mã:
[Unit]
Description=Seafile hub
After=network.target seafile.service
[Service]
Type=forking
ExecStart=/home/ryujin/seafile-server-latest/seahub.sh start
ExecStop=/home/ryujin/seafile-server-latest/seahub.sh stop
User=ryujin
Group=ryujin
[Install]
WantedBy=multi-user.target
Và các tệp dịch vụ seafile và seahub đã được tạo.
Tiếp theo, tải lại trình quản lý systemd và đảm bảo không có lỗi.
Mã:
systemctl daemon-reload
Mã:
systemctl start seafile
systemctl enable seafile
Mã:
systemctl start seahub
systemctl enable seahub
Dịch vụ seafile và seahub đã hoạt động, hãy kiểm tra bằng lệnh sau.
Mã:
systemctl status seafile seahub
Kết quả là, cấu hình Seafile và Seahub dưới dạng dịch vụ systemd đã hoàn tất.
Bước 7 - Tạo SSL Letsencrypt và DHPARAM
Ở bước này, chúng ta sẽ tạo chứng chỉ SSL Letsencrypt và DHPARAM. Chúng tôi sẽ sử dụng công cụ certbot để tạo SSL Letsencrypt và sử dụng lệnh openssl để tạo chứng chỉ dhparam.Để tạo SSL Letsencrypt, hãy đảm bảo rằng bạn có tên miền thực và được trỏ đến địa chỉ IP máy chủ của mình.
Cài đặt công cụ certbot vào hệ thống Ubuntu bằng lệnh apt bên dưới.
Mã:
sudo apt install certbot
Mã:
certbot certonly --agree-tos --no-eff-email --email [emailprotected] -d seafile.hakase-labs.io
Tiếp theo, tạo chứng chỉ DHPARAM bằng lệnh openssl như bên dưới.
Mã:
openssl dhparam -out /etc/nginx/dhparam.pem 2048
Kết quả là, SSL Letsencrypt cho tên miền Seafile và chứng chỉ DHPARAM đã được tạo.
Bước 8 - Cài đặt và cấu hình Nginx làm Proxy ngược
Trong bước này, chúng ta sẽ cài đặt và cấu hình Nginx làm proxy ngược cho dịch vụ Seafile. Máy chủ web Nginx sẽ chạy theo giao thức HTTPS an toàn với chứng chỉ SSL Letsencrypt và DHPARAM được tạo ở trên cùng.Cài đặt Nginx vào máy chủ Ubuntu 20.04 bằng lệnh apt bên dưới.
Mã:
sudo apt install nginx -y
Mã:
systemctl start nginx
systemctl enable nginx
Tiếp theo, hãy vào thư mục '/etc/nginx/sites-available' và tạo cấu hình máy chủ ảo mới 'seafile' bằng trình soạn thảo vim.
Mã:
cd /etc/nginx/sites-available/
vim seafile
Mã:
server {
listen 80;
server_name seafile.hakase-labs.io;
rewrite ^ https://$http_host$request_uri? vĩnh viễn;
server_tokens tắt;
}
máy chủ {
lắng nghe 443 ssl http2;
tên máy chủ seafile.hakase-labs.io;
chứng chỉ ssl /etc/letsencrypt/live/seafile.hakase-labs.io/fullchain.pem;
khóa chứng chỉ ssl /etc/letsencrypt/live/seafile.hakase-labs.io/privkey.pem;
thời gian chờ ssl_session 5 phút;
bộ nhớ đệm ssl_session được chia sẻ: SSL: 5 phút;
ssl_dhparam /etc/nginx/dhparam.pem;
#Bảo mật SSL
giao thức ssl TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_ecdh_curve secp384r1;
ssl_prefer_server_ciphers bật;
server_tokens tắt;
ssl_session_tickets tắt;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $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 1200 giây;
# được sử dụng để xem/sửa tệp Office qua Office Online Server
client_max_body_size 0;
access_log /var/log/nginx/seahub.access.log;
nhật ký lỗi /var/log/nginx/seahub.error.log;
}
vị trí /seafdav {
proxy_pass http://127.0.0.1:8080/seafdav;
proxy_set_header Máy chủ $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_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 1200 giây;
client_max_body_size 0;
nhật ký truy cập /var/log/nginx/seafdav.access.log;
error_log /var/log/nginx/seafdav.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 36000 giây;
proxy_read_timeout 36000 giây;
proxy_send_timeout 36000 giây;
send_timeout 36000 giây;
}
location /media {
root /home/ryujin/seafile-server-latest/seahub;
}
}
Tiếp theo, kích hoạt cấu hình virtualhost cho seafile và kiểm tra cấu hình Nginx.
Mã:
ln -s /etc/nginx/sites-available/seafile /etc/nginx/sites-enabled/
nginx -t
Mã:
systemctl restart nginx
Bước 9 - Thiết lập tường lửa
Đối với hướng dẫn này, chúng tôi sẽ chạy Seafile với tường lửa UFW được bật. Và chúng ta cần thêm các dịch vụ SSH, HTTP và HTTPS vào cấu hình tường lửa UFW.Thêm các dịch vụ SSH, HTTP và HTTPS vào tường lửa UFW bằng lệnh sau.
Mã:
for svc in ssh http https
do
ufw allow $svc
done
Mã:
ufw enable
ufw status numbered
Tường lửa UFW đã được bật và dịch vụ SSH, HTTP và HTTPS đã được thêm vào.
Bây giờ chúng ta đã sẵn sàng để sử dụng Seafile.
Bước 10 - Kiểm tra
Mở trình duyệt web của bạn và nhập tên miền cài đặt Seafile vào thanh địa chỉ.https://seafile.hakase-labs.io/
Bây giờ bạn sẽ được chuyển hướng đến kết nối HTTPS an toàn và sẽ nhận được trang đăng nhập Seafile như bên dưới.
Nhập mật khẩu người dùng seafile mà bạn vừa tạo ở trên cùng và nhấp vào nút 'Đăng nhập'.
Bây giờ bạn sẽ nhận được bảng điều khiển Seafile như bên dưới.
Dưới đây là kết quả sau khi tạo một thư mục mới và tải tệp lên máy chủ Seafile.
Kết quả là quá trình cài đặt và cấu hình Seafile với máy chủ web Nginx và cơ sở dữ liệu MariaDB trên Ubuntu 20.04 đã hoàn tất thành công.