You are on page 1of 14

Hướng dẫn cài đặt Object Storage Server

dùng MinIO trên Ubuntu 22.04


Storage Ubuntu

Giới thiệu

MinIO là giải pháp mã nguồn mở dùng để thiết lập Object Storage, là một server lưu trữ

dạng phân tán với hiệu năng cao, giúp bạn dễ dàng upload file, download file như

amazon, google drive, mediafire..vv. MinIO tương thích với API của dịch vụ lưu trữ đám

mây Amazon S3.

Yêu cầu
Máy chủ Ubuntu 22.04.

Một tên miền và trỏ nó đến địa chỉ IP của máy chủ của chúng ta.

Cài đặt và Cấu hình allow firewall


Cập nhật hệ thống

Để đảm bảo rằng tất cả các phụ thuộc của MinIO đều được cập nhật, chúng ta hãy thực

thi lệnh bên dưới.

bash (root)

apt-get update && apt-get upgrade

_
Chuẩn bị cho cài đặt CSF

Chúng ta cần cài đặt các phụ thuộc cho CSF.

bash (root)

apt install -y perl zip unzip dnsutils libwww-perl liblwp-protocol-https-perl sendmail-bin

Cài đặt CSF

Chúng ta điều hướng đến /usr/src

bash (root)

cd /usr/src

Chúng ta sẽ tải xuống bản phân phối CSF, bằng cách sử dụng lệnh sau.

bash (root)

wget https://download.configserver.com/csf.tgz

Chúng ta giải nén CSF.

bash (root)

tar -xzf csf.tgz

Sau đó, chúng ta điều hướng đến /usr/src/csf

bash (root)

cd csf
_

Sau đó, chúng ta chạy lệnh sau để cài đặt CSF.

bash (root)

sh install.sh

Xác minh các mô-đun iptables cần thiết cho CSF có sẵn.

bash (root)

perl /usr/local/csf/bin/csftest.pl

Chúng ta sẽ nhận thấy kết quả dưới đây.

Kết quả

RESULT: csf should function on this server

Xác minh trạng thái CSF sau khi cài đặt.

bash (root)

csf -v

Chúng ta sẽ thấy một kết quả tương tự như.

Kết quả

csf: v14.16 (generic)

*WARNING* TESTING mode is enabled - do not forget to disable it in the configuration

Cấu hình CSF


Mặc định CSF chạy ở chế độ THỬ NGHIỆM. Chỉnh sửa /etc/csf/csf.conf để tắt chế độ THỬ

NGHIỆM

Chúng ta xác định vị trí dòng TESTING = "1" và thay đổi giá trị thành "0"

/etc/csf/csf.conf

TESTING = "0"

Chúng ta xác định vị trí dòng RESTRICT_SYSLOG = "0" và thay đổi giá trị thành "3". Điều

này có nghĩa là chỉ các thành viên của RESTRICT_SYSLOG_GROUP mới có thể truy cập

các tệp syslog / rsyslog

/etc/csf/csf.conf

RESTRICT_SYSLOG = "3"

Chúng ta xác định vị trí các dòng sau và thêm các cổng cần thiết 80, 443, 9000, 9001

/etc/csf/csf.conf

# Allow incoming TCP ports

TCP_IN = "80,443,9000,9001"

Sau đó chúng ta lưu tệp cấu hình.

Dừng và tải lại CSF với tùy chọn -ra

bash (root)

csf -ra

_
Cài đặt MinIO
Chúng ta tải xuống file minio từ trang web chính thức của MinIO.

bash (root)

wget https://dl.min.io/server/minio/release/linux-amd64/minio

Chúng ta cấp quyền thực thi cho tệp.

bash (root)

chmod +x minio

Sau đó chúng ta di chuyển MinIO vào thư mục /usr/local/bin

bash (root)

mv minio /usr/local/bin

Xác minh cài đặt.

bash (root)

minio --version

Kết quả

minio version RELEASE.2022-07-08T00-05-23Z (commit-id=ed0cbfb31e00644013e6c2073310a2268c04a381)

Runtime: go1.18.3 linux/amd64

License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>

Copyright: 2015-2022 MinIO, Inc.


Cấu hình MinIO
Chúng ta sẽ tạo người dùng, nhóm cho MinIO.

bash (root)

groupadd -r minio-user

useradd -M -r -g minio-user minio-user

Chúng ta tạo một thư mục để lưu trữ tệp cấu hình.

bash (root)

mkdir /etc/minio

Chúng ta cấp quyền sở hữu thư mục cho người dùng và nhóm MinIO.

bash (root)

chown minio-user:minio-user /etc/minio

Tiếp theo chúng ta tạo thư mục dữ liệu nơi minio sẽ lưu trữ tất cả các tệp.

bash (root)

mkdir /mnt/data

Chúng ta cấp quyền sở hữu thư mục cho người dùng và nhóm MinIO.

bash (root)

chown minio-user:minio-user /mnt/data


_

Chúng ta sẽ tạo, mở tệp môi trường của minio /etc/default/minio và thêm nội dung sau.

/etc/default/minio

MINIO_VOLUMES="/mnt/data"

MINIO_OPTS="-C /etc/minio --address your_server_ip:9000 --console-address :9001"

MINIO_ROOT_USER=minioadmin

MINIO_ROOT_PASSWORD=Rc3OzCzpQbk$

MINIO_VOLUMES: Chỉ định thư mục lưu trữ cho dữ liệu.

MINIO_OPTS: đặt các tùy chọn khác nhau cho máy chủ Minio. -C khai báo nơi sẽ chứa

các file config của minIO, --address khai báo IP của server/VPS chạy minIO và cổng để

liên kết đến. Nếu Chúng ta không chỉ định địa chỉ IP, Minio sẽ liên kết với mọi địa chỉ IP

trên máy chủ, bao gồm cả localhost hoặc bất kỳ địa chỉ IP nào liên quan đến Docker.

Cổng mặc định là 9000. và cổng 9001 cho bảng điều khiển web của Minio. -C--

address--console-address

MINIO_ROOT_USER: Tên người dùng để truy cập giao diện người dùng Minio. Nó phải

có độ dài tối thiểu là 3 ký tự.

MINIO_ROOT_PASSWORD: Mật khẩu để truy cập vào giao diện Minio. Nó phải có độ

dài tối thiểu là 8 ký tự. Chọn một khóa bí mật mạnh mẽ và phức tạp.

Cài đặt dịch vụ MinIO

Chúng ta tải xuống tệp minio.service vào thư mục /etc/systemd/system


bash (root)

curl --url https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service -o

/etc/systemd/system/minio.service

Chúng ta sẽ load lại service của hệ thống.

bash (root)

systemctl daemon-reload

Chúng ta bật MinIO khởi động cùng hệ thống.

bash (root)

sudo systemctl enable minio

Kết quả

Created symlink /etc/systemd/system/multi-user.target.wants/minio.service → /etc/systemd/system/minio.service.

Sau đó chúng ta khởi động máy chủ MinIO.

bash (root)

systemctl start minio

Mở URL trong trình duyệt và chúng ta sẽ thấy màn hình sau. http://your_server_ip:9001
Cài đặt và cấu hình SSL miễn phí
Cài đặt Snap

Certbot yêu cầu chứng chỉ HTTPS từ Let's Encrypt cho máy chủ web của Chúng ta.

Certbot yêu cầu Snap, hãy chạy lệnh sau để cài đặt Snap.

bash (root)

apt install -y snapd

Cài đặt Certbot

Chúng ta cài đặt Certbot với Snap với lệnh sau.

bash (root)

snap install core

snap refresh core


snap install --classic certbot

ln -s /snap/bin/certbot /usr/bin/certbot

Chúng ta tạo chứng chỉ SSL

bash (root)

certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -d

minio.example.com -m admin@example.com

Lệnh trên sẽ tải chứng chỉ xuống thư mục trên máy chủ của chúng

ta. /etc/letsencrypt/live/minio.example.com

Chúng ta sẽ sao chép các tệp và vào thư mục thư mục cấu hình của MinIO.

bash (root)

cp /etc/letsencrypt/live/minio.example.com/privkey.pem /etc/minio/certs/private.key

cp /etc/letsencrypt/live/minio.example.com/fullchain.pem /etc/minio/certs/public.crt

Chúng ta thay đổi quyền sở hữu tệp đã sao chép.

bash (root)

chown minio-user:minio-user /etc/minio/certs/private.key

chown minio-user:minio-user /etc/minio/certs/public.crt

Sau đó chúng ta mở tệp cấu hình Minio /etc/default/minio và thêm dòng sau ở dưới cùng.

/etc/default/minio
MINIO_SERVER_URL="https://minio.example.com:9000"

Mặc dù console được truy cập thông qua cổng 9001, URL máy chủ SSL sử dụng cổng

9000 để truy cập API MinIO.

Chúng ta khởi động lại Máy chủ MinIO.

bash (root)

systemctl restart minio

Chúng ta có thể truy cập console MinIO thông qua URL trong trình duyệt của mình.

https://minio.example.com:9001

Cài đặt MinIO client


Tiếp theo chúng ta sẽ cài ứng dụng client dòng lệnh của MinIO. Chúng ta sẽ tải xuống

tệp mc bằng lệnh sau.

bash (root)

wget https://dl.min.io/client/mc/release/linux-amd64/mc

Chúng ta sẽ thêm quyền thực thi cho tệp mc.

bash (root)

chmod +x mc

Sau đó, chúng ta di chuyển tệp mc vào thư mục /usr/local/bin


bash (root)

mv mc /usr/local/bin

Chúng ta sẽ xác minh cài đặt bằng lệnh sau.

bash (root)

mc --version

mc version RELEASE.2022-07-06T14-54-36Z (commit-id=81c4a5ad6ee47ff2fc264b9811d884984ae05f6e)

Runtime: go1.18.3 linux/amd64

Copyright (c) 2015-2022 MinIO, Inc.

License GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>

Tiếp theo chúng ta sẽ đặt bí danh cho máy chủ MinIO của chúng ta để chúng ta có thể

truy cập bằng cách sử dụng một tên dễ nhận dạng.

bash (root)

mc alias set myminio https://minio.example.com:9000 minioadmin Rc3OzCzpQbk$

Thay thế tên người dùng và mật khẩu của chúng ta đã đặt cho máy

chủ: minioadmin và Rc3OzCzpQbk$

Tên sau alias set chúng ta có thể được đặt thành bất cứ thứ gì. Trong trường hợp này

được đặt là myminio

Chúng ta sẽ nhận được kết quả sau.


Kết quả

mc: Configuration written to `/<user>/.mc/config.json`. Please update your access credentials.

mc: Successfully created `/<user>/.mc/share`.

mc: Initialized share uploads `/<user>/.mc/share/uploads.json` file.

mc: Initialized share downloads `/<user>/.mc/share/downloads.json` file.

Added `myminio` successfully.

MinIO client lưu trữ tất cả các cấu hình trong thư mục. /user/.mc

Tạo User và Service Account bằng mc


Tạo User

Chúng ta sử dụng lệnh mc admin user add để tạo user mới trong MinIO.

bash (root)

mc admin user add myminio userdemo BwebE025Ux6L

Chúng ta hãy thay thế myminio bằng tên ALIAS của chúng ta, userdemo là tên user

mới, BwebE025Ux6L là mật khẩu user

Sau khi tạo người dùng, chúng ta sử dụng mc admin policy set để liên kết Kiểm soát truy

cập dựa trên chính sách MinIO với người dùng mới.

bash (root)

mc admin policy set myminio readwrite user=userdemo

Policy `readwrite` is set on user `userdemo`

_
Tạo Service Account

Tiếp theo chúng ta sẽ tạo Service Account liên kết với người dùng được chỉ định, ở đây

là tài khoản userdemo.

bash (root)

mc admin user svcacct add \

--access-key "p86DC2sf29sMq97u" \

--secret-key "9eBwebE025Ux6LPphPOTShfB3Mq9jwIJ" \

myminio userdemo

Chúng ta hãy thay thế access-key và secret-key bằng key của chúng ta

Kết quả

Access Key: p86DC2sf29sMq97u

Secret Key: 9eBwebE025Ux6LPphPOTShfB3Mq9jwIJ

Tổng kết
Như vậy chúng ta vừa hoàn thành hướng dẫn Cài đặt Object Storage Server dùng MinIO

trên Ubuntu 22.04, Hy vọng bài viết này sẽ giúp các bạn cài đặt thành công.

You might also like