Cách cài đặt Pydio Cells trên AlmaLinux 9

theanh

Administrator
Nhân viên
Pydio Cells là nền tảng cộng tác và chia sẻ tài liệu nguồn mở dành cho tổ chức của bạn. Nó cho phép bạn chia sẻ tài liệu và tệp trên toàn tổ chức và cung cấp cho bạn toàn quyền kiểm soát môi trường chia sẻ tài liệu của mình.

Pydio Cells có hiệu suất nhanh, có thể xử lý kích thước tệp truyền lớn và cung cấp khả năng tự động hóa quy trình làm việc nâng cao.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Pydio Cells trên máy chủ Alma Linux 9. Bạn sẽ cài đặt Pydio Cells với máy chủ cơ sở dữ liệu MariaDB và máy chủ web Httpd.

Đ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ó những điều sau:
  • Máy chủ Alma Linux 9
  • Người dùng không phải root có quyền quản trị viên
  • Tên miền được trỏ đến địa chỉ IP của máy chủ
  • SELinux có trạng thái được bật và cho phép

Cài đặt các phụ thuộc​

Trước khi cài đặt Pydio Cells, bạn cần cài đặt các phụ thuộc trên máy chủ Alma Linux của mình. Điều này bao gồm kho lưu trữ EPEL, máy chủ cơ sở dữ liệu MariaDB, máy chủ web Httpd và một số công cụ hệ thống như wget và nano.

Trước tiên, hãy chạy lệnh 'dnf' bên dưới để thêm kho lưu trữ EPEL và cài đặt máy chủ MariDB và máy chủ web Httpd. Nhập 'Y' để xác nhận cài đặt.
Mã:
sudo dnf install epel-release mariadb-server httpd wget nano

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22239%22%3E%3C/svg%3E


Sau khi cài đặt hoàn tất, hãy chạy lệnh 'systemctl' bên dưới để khởi động, kích hoạt và xác minh dịch vụ 'httpd'. Bạn sẽ thấy dịch vụ 'httpd' đang chạy và được bật.
Mã:
sudo systemctl enable --now httpd
sudo systemctl status httpd

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22256%22%3E%3C/svg%3E


Bây giờ hãy chạy lệnh sau để khởi động và bật dịch vụ 'mariadb'. Sau đó, hãy xác minh để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl enable --now mariadb
sudo systemctl status mariadb
Trong kết quả đầu ra sau, bạn có thể thấy máy chủ MariaDB đang chạy và được bật.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22296%22%3E%3C/svg%3E


Cuối cùng, hãy chạy lệnh 'firewall-cmd' bên dưới để mở cả hai Cổng 'http' và 'https' trên hệ thống của bạn. Sau đó, tải lại các quy tắc tường lửa để áp dụng các thay đổi của bạn.
Mã:
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

Cấu hình máy chủ MariaDB​

Sau khi bạn đã cài đặt các phụ thuộc, bạn cần bảo mật cài đặt máy chủ MariaDB và tạo cơ sở dữ liệu và người dùng mới cho cài đặt máy chủ Pydio Cells. Bạn sẽ bảo mật MariaDB bằng lệnh 'mariadb-secure-installation', sau đó tạo cơ sở dữ liệu và người dùng mới thông qua máy khách 'mariadb'.

Để bảo mật cài đặt máy chủ MariaDB, hãy thực thi lệnh 'mariadb-secure-installation' bên dưới.
Mã:
sudo mariadb-secure-installation
Trong quá trình này, bạn sẽ được hỏi về các cấu hình sau:
  • Chuyển xác thực cục bộ sang unix_socket? Nhập n.
  • Thiết lập mật khẩu gốc MariaDB mới. Nhập y để xác nhận, sau đó nhập mật khẩu mới cho triển khai máy chủ MariaDB của bạn.
  • Xóa người dùng ẩn danh? Nhập y để xác nhận.
  • Xóa kiểm tra cơ sở dữ liệu mặc định khỏi triển khai?. Nhập y để xác nhận.
  • Không cho phép đăng nhập gốc MariaDB từ các kết nối từ xa? Nhập y để xác nhận.
  • Tải lại các đặc quyền của bảng và áp dụng các thay đổi. Nhập y và nhấn ENTER.
Bây giờ máy chủ MariaDB đã được bảo mật, bạn sẽ tạo một cơ sở dữ liệu và người dùng mới cho cài đặt Pydio Cells.

Đăng nhập vào máy chủ MariaDB bằng lệnh 'mariadb' bên dưới. Nhập mật khẩu gốc MariaDB của bạn khi được nhắc.
Mã:
sudo mariadb -u root -p
Chạy các truy vấn sau để tạo cơ sở dữ liệu mới 'cells' và người dùng mới 'pydio' với mật khẩu 'p4ssw0rd'. Bạn có thể điều chỉnh thông tin chi tiết của cơ sở dữ liệu như cần thiết.
Mã:
CREATE DATABASE cells;
CREATE USER 'pydio'@'localhost' IDENTIFIED BY 'p4ssw0rd';
GRANT ALL PRIVILEGES ON cells.* to 'pydio'@'localhost';
FLUSH PRIVILEGES;

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22267%22%3E%3C/svg%3E


Bây giờ hãy kiểm tra các đặc quyền cho người dùng 'pydio' để đảm bảo quyền và đặc quyền đối với cơ sở dữ liệu 'cells'.
Mã:
SHOW GRANTS FOR 'pydio'@'localhost';
Bạn có thể thấy bên dưới rằng cơ sở dữ liệu 'cells' có thể truy cập được thông qua người dùng 'pydio'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22740%22%20height=%22300%22%3E%3C/svg%3E


Nhập 'quit' để thoát khỏi máy chủ MariaDB.

Tải xuống Pydio Cells​

Sau khi cấu hình cơ sở dữ liệu MariaDB, bạn đã sẵn sàng tải xuống Pydio Cells. Trong phần này, bạn sẽ thiết lập người dùng 'pydio', tải xuống Pydio Cells, thiết lập thư mục cài đặt và biến môi trường, đồng thời cho phép Pydio Cells chạy trên các cổng đặc quyền.

Tạo người dùng và nhóm mới 'pydio' bằng lệnh sau.
Mã:
sudo useradd -m -s /bin/bash pydio
Tạo các thư mục mới '/opt/pydio/bin' và '/var/cells' bằng lệnh bên dưới. Sau đó thay đổi quyền sở hữu của cả hai thư mục thành người dùng 'pydio'.
Mã:
sudo mkdir -p /opt/pydio/bin /var/cells
sudo chown -R pydio:pydio /opt/pydio/bin /var/cells
Bây giờ hãy tạo một tệp env mới '/etc/profile.d/cells-env.sh' bằng trình soạn thảo 'nano'.
Mã:
sudo nano /etc/profile.d/cells-env.sh
Nhập tập lệnh sau để thiết lập biến môi trường cho Pydio Cells. Đảm bảo thay đổi địa chỉ 'CELLS_EXTRERNAL' để khớp với tên miền cài đặt Pydio của bạn.
Mã:
export CELLS_WORKING_DIR=/var/cells
export CELLS_BIND=127.0.0.1:8080
export CELLS_EXTERNAL=https://cells.howtoforge.local
Khi hoàn tất, hãy lưu và thoát tệp.

Bây giờ hãy chạy lệnh bên dưới để tạo tệp env '/etc/profile.d/cells-env.sh' có thể thực thi.
Mã:
sudo chmod +x /etc/profile.d/cells-env.sh
Tiếp theo, chạy lệnh bên dưới để tải tệp nhị phân Pydio Cells cho Linux xuống '/opt/pydio/bin/cells'.
Mã:
export distribId=cells
wget -O /opt/pydio/bin/cells https://download.pydio.com/latest/${distribId}/release/{latest}/linux-amd64/${distribId}
Sau khi tải xuống, hãy chạy lệnh sau để làm cho tệp nhị phân 'cells' có thể thực thi và cho phép nó liên kết với đặc quyền ports.
Mã:
sudo chmod a+x /opt/pydio/bin/cells
sudo setcap 'cap_net_bind_service=+ep' /opt/pydio/bin/cells
sudo ln -s /opt/pydio/bin/cells /usr/local/bin/cells
Bây giờ hãy đăng nhập với tư cách là người dùng 'pydio' bằng lệnh sau:
Mã:
su - pydio
Kiểm tra các biến môi trường cho Pydio Cells bằng lệnh sau - Đảm bảo đầu ra khớp với tệp env '/etc/profile.d/cells-env.sh'.
Mã:
echo $CELLS_WORKING_DIR
echo $CELLS_BIND
echo $CELLS_EXTERNAL

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22302%22%3E%3C/svg%3E


Cuối cùng, hãy kiểm tra phiên bản 'cells' bằng lệnh bên dưới.
Mã:
cells version
Trong đầu ra sau, bạn có thể thấy phiên bản Pydio Cells.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22595%22%20height=%22195%22%3E%3C/svg%3E

Cài đặt Pydio Cells thông qua lệnh dòng​

Bây giờ bạn sẽ bắt đầu cài đặt Pydio Cells từ dòng lệnh. Với lệnh 'cells', bạn sẽ thiết lập cài đặt Pydio Cells với cơ sở dữ liệu MariaDB, thiết lập người dùng và mật khẩu quản trị viên và thiết lập vị trí lưu trữ để lưu trữ dữ liệu người dùng.

Để bắt đầu, hãy chạy lệnh bên dưới để cấu hình cài đặt Pydio Cells từ thiết bị đầu cuối.
Mã:
cells configure --cli
Bây giờ bạn sẽ được nhắc với các cấu hình sau:
  • Kết nối cơ sở dữ liệu: chọn qua TCP, sau đó nhập thông tin chi tiết về máy chủ cơ sở dữ liệu MariaDB, cổng, người dùng và mật khẩu của bạn.
  • Cấu hình MongoDB: Nhập n cho số.
  • Cấu hình người dùng quản trị: nhập tên người dùng và mật khẩu quản trị viên của bạn cho Pydio Cells.
  • Vị trí lưu trữ mặc định: nhấn ENTER để sử dụng mặc định và tiếp tục.
Sau khi quá trình hoàn tất, bạn sẽ thấy đầu ra sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22746%22%3E%3C/svg%3E

Thiết lập tệp dịch vụ systemd cho Pydio Cells​

Từ bước trước, bạn có thể khởi động Pydio Cells bằng lệnh 'cells start'. Để thực hiện dễ dàng hơn, thay vào đó, bạn sẽ sử dụng systemd 'systemctl' để quản lý dịch vụ Pydio Cells. Bây giờ bạn sẽ tạo một tệp dịch vụ systemd mới.

Tạo tệp '/etc/systemd/system/cells.service' mới bằng trình soạn thảo 'nano'.
Mã:
sudo nano /etc/systemd/system/cells.service
Chèn cấu hình bên dưới để chạy Pydio Cells dưới dạng dịch vụ systemd. Đảm bảo thay đổi 'CELLS_EXTERNAL' bằng tên miền của bạn.
Mã:
[Unit]
Description=Pydio Cells
Documentation=https://pydio.com
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/opt/pydio/bin/cells

[Service]
User=pydio
Group=pydio
PermissionsStartOnly=true
AmbientCapabilities=CAP_NET_BIND_SERVICE
ExecStart=/opt/pydio/bin/cells start
Restart=on-failure
StandardOutput=journal
StandardError=inherit
LimitNOFILE=65536
TimeoutStopSec=5
KillSignal=INT
SendSIGKILL=yes
SuccessExitStatus=0
WorkingDirectory=/home/pydio

# Add environment variables
Environment=CELLS_WORKING_DIR=/var/cells
Environment=CELLS_BIND=127.0.0.1:8080
Environment=CELLS_EXTERNAL=https://cells.howtoforge.local

[Install]
WantedBy=multi-user.target
Lưu tệp và thoát khỏi trình chỉnh sửa.

Bây giờ hãy chạy lệnh bên dưới để tải lại trình quản lý systemd.
Mã:
sudo systemctl daemon-reload
Cuối cùng, hãy thực hiện lệnh 'systemctl' bên dưới để bắt đầu, bật và xác minh dịch vụ 'cells'.
Mã:
sudo systemctl enable --now cells
sudo systemctl status cells
Trong đầu ra này, bạn có thể thấy dịch vụ 'cells' đang chạy ở chế độ nền như một dịch vụ systemd.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22289%22%3E%3C/svg%3E

Cấu hình Httpd làm proxy ngược​

Lúc này, Pydio Cells đang chạy trên máy chủ Alma Linux của bạn trên cổng '8080'. Để máy khách có thể truy cập được, bạn sẽ tạo tệp máy chủ ảo Httpd làm proxy ngược cho máy chủ Pydio Cells. Bạn cũng sẽ tạo chứng chỉ SSL/TLS từ Letsencrypt để bảo mật việc truyền dữ liệu giữa máy khách và máy chủ Pydio Cells.

Đầu tiên, hãy chạy lệnh 'dnf' bên dưới để cài đặt 'certbot' vào hệ thống của bạn.
Mã:
sudo dnf install certbot -y
Bây giờ, hãy tạo một thư mục gốc web giả mới và thay đổi quyền sở hữu thành 'apache' người dùng.
Mã:
sudo mkdir -p /var/www/html/cells/public_html
sudo chown -R apache:apache /var/www/html/cells/public_html
Chạy lệnh 'certbot' bên dưới để tạo chứng chỉ SSL/TLS cho Pydio Cells. Hãy đảm bảo thay đổi địa chỉ email và tên miền bằng thông tin của bạn.
Mã:
sudo certbot certonly --agree-tos --email [emailprotected] --no-eff-email --webroot -w /var/www/html/cells/public_html -d cells.howtoforge.local
Tiếp theo, tạo cấu hình máy chủ ảo Httpd mới '/etc/httpd/conf.d/pydio.conf' bằng trình chỉnh sửa 'nano'.
Mã:
sudo nano /etc/httpd/conf.d/pydio.conf
Chèn cấu hình bên dưới và đảm bảo thay đổi tùy chọn 'ServerName' với tên miền của bạn.
Mã:
ServerName cells.howtoforge.local

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteCond %{SERVER_NAME} =cells.howtoforge.local
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]



ServerName cells.howtoforge.local
AllowEncodedSlashes On
RewriteEngine On

# be aware of this
# Allow reverse proxy via self-signed certificates
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off

## The order of the directives matters.
# If Cells is not running with https, consider using ws instead of wss
ProxyPassMatch "/ws/(.*)" wss://localhost:8080/ws/$1 nocanon

## This rewrite condition is required if using Cells-Sync
# RewriteCond %{HTTP:Content-Type} =application/grpc [NC]
# RewriteRule /(.*) h2://localhost:8080/$1 [P,L]

ProxyPass "/" "https://127.0.0.1:8080/"
ProxyPassReverse "/" "https://127.0.0.1:8080/"

ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined

SSLCertificateFile /etc/letsencrypt/live/cells.howtoforge.local/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/cells.howtoforge.local/privkey.pem
#Include /etc/letsencrypt/options-ssl-apache.conf
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.

Bây giờ hãy chạy lệnh 'apachectl' bên dưới để xác minh cú pháp Apache của bạn. Nếu bạn cấu hình Apache đúng, bạn sẽ thấy thông báo đầu ra là 'Cú pháp ổn'.
Mã:
sudo apachectl configtest
Cuối cùng, hãy chạy lệnh 'systemctl' bên dưới để khởi động lại máy chủ web 'httpd' và áp dụng các thay đổi của bạn. Với thao tác này, quá trình cài đặt Pydio Cells của bạn sẽ hoàn tất và có thể truy cập được.
Mã:
sudo systemctl restart httpd

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22601%22%20height=%22217%22%3E%3C/svg%3E

Truy cập Pydio Cells​

Mở trình duyệt web của bạn và truy cập tên miền cài đặt Pydio Cells của bạn như https://cells.howtoforge.local. Nếu cài đặt thành công, bạn sẽ thấy trang đăng nhập Pydio Cells.

Nhập tên người dùng và mật khẩu quản trị viên để đăng nhập.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22630%22%3E%3C/svg%3E


Nếu bạn có thông tin xác thực chính xác, bạn sẽ thấy bảng điều khiển người dùng Pydio Cells như sau.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22384%22%3E%3C/svg%3E


Từ đây, bây giờ bạn có thể thử tải tệp từ máy tính cục bộ của mình lên máy chủ Pydio Cells. Trong ảnh chụp màn hình sau, tôi đã tải các tệp lên Pydio Cells và đã thành công.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22380%22%3E%3C/svg%3E

Kết luận​

Xin chúc mừng! Bạn đã hoàn tất cài đặt Pydio Cells trên máy chủ Alma Linux 9. Bạn đã chạy Pydio Cells với máy chủ cơ sở dữ liệu MariaDB và máy chủ web Httpd. Trên hết, bạn cũng đã bảo mật cài đặt Pydio Cells bằng HTTPS thông qua Certbot và Letsencrypt.
 
Back
Bên trên