Код: Выделить всё
sudo apt update
Код: Выделить всё
wget https://dl.min.io/server/minio/release/linux-amd64/minio
Код: Выделить всё
sudo chmod +x minio
Код: Выделить всё
sudo mv minio /usr/local/bin
5. По соображениям безопасности рекомендуется избегать запуска сервера Minio с правами root. Это позволит ограничить ущерб, который может быть нанесен системе при нарушении безопасности. Поскольку скрипт systemd, который вы будете использовать в шаге 2, ищет учетную запись и группу с именем minio-user, создайте нового пользователя с этим именем:
Код: Выделить всё
sudo useradd -r minio-user -s /sbin/nologin
6. Далее передайте право владения для двоичного файла Minio пользователю minio-user:
Код: Выделить всё
sudo chown minio-user:minio-user /usr/local/bin/minio
Код: Выделить всё
sudo mkdir /usr/local/share/minio
Код: Выделить всё
sudo chown minio-user:minio-user /usr/local/share/minio
Код: Выделить всё
sudo mkdir /etc/minio
Код: Выделить всё
sudo chown minio-user:minio-user /etc/minio
Код: Выделить всё
sudo nano /etc/default/minio
Так же дополнительно можете добавить строкиMINIO_ACCESS_KEY="minio"
MINIO_VOLUMES="/usr/local/share/minio/"
MINIO_OPTS="-C /etc/minio --console-address :34283 --address :9000"
MINIO_SECRET_KEY="miniostorage"
MINIO_REGION = "ru-test-01"
MINIO_DOMAIN= "your_domain.com"
Давайте рассмотрим эти переменные и значения, которые вы задали:
Сохраните и закройте файл среды после внесения изменений.MINIO_ACCESS_KEY: данная переменная задает ключ доступа, который вы будете использовать для доступа к пользовательскому интерфейсу браузера Minio.
MINIO_SECRET_KEY: данная переменная задает закрытый ключ, который вы будете использовать для передачи учетных данных для входа в интерфейс Minio. В этом обучающем модуле мы будем использовать значение miniostorage, но мы рекомендуем выбрать другой, более сложный пароль для обеспечения безопасности вашего сервера.
MINIO_VOLUMES: данная переменная определяет директорию хранения, которую вы создали для ваших бакетов.
MINIO_OPTS: эта переменная определяет, где и как сервер обслуживает данные. Флаг -C указывает Minio каталог конфигурации, который следует использовать, а флаг --address указывает IP-адрес и порт для привязки. Если IP-адрес не указан, Minio будет привязываться к любому адресу, заданному на сервере, включая localhost и любые связанные с Docker IP-адреса, поэтому мы рекомендуем напрямую указать IP-адрес здесь. Если хотите, вы можете изменить используемый по умолчанию порт 9000.
Вы установили Minio и задали значения для ряда важных переменные среды. Далее вам нужно настроить запуск сервера в качестве системной услуги.
Установка скрипта запуска Systemd Minio
На этом шаге вы настроите сервер Minio для управления им в качестве службы systemd.
1. Во-первых, загрузите официальный файл дескриптора службы Minio с помощью следующей команды:
Код: Выделить всё
curl -O https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service
Код: Выделить всё
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local/
User=minio-user
Group=minio-user
ProtectProc=invisible
EnvironmentFile=/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not s>
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
# Let systemd restart this service always
Restart=always
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=1048576
# Specifies the maximum number of threads this process can create
TasksMax=infinity
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
# Built for ${project.name}-${project.version} (${project.name})
Чтобы проверить содержимое файла minio.service перед применением, откройте его в текстовом редакторе:
nano minio.service
Этот юнит-файл службы запускает сервер Minio с помощью пользователя minio-user, которого вы создали ранее. Также он имплементирует переменные среды, которые вы задали на последнем шаге, и настраивает автоматический запуск сервера. Дополнительную информацию о юнит-файлах systemd можно найти в нашем руководстве Знакомство с юнитами Systemd и юнит-файлами.
После изучения содержания скрипта закройте текстовый редактор.
3. Systemd требует, чтобы юнит-файлы хранились в каталоге конфигурации systemd, поэтому нужно переместить файл minio.service в этот каталог:
Код: Выделить всё
sudo mv minio.service /etc/systemd/system
Код: Выделить всё
sudo systemctl daemon-reload
Код: Выделить всё
sudo systemctl enable minio
Запуск сервера Minio
На этом шаге вы запустите сервер и измените настройки брандмауэра, чтобы разрешить доступ через интерфейс браузера.
1. Запустите сервер Minio:
Код: Выделить всё
sudo systemctl start minio
Код: Выделить всё
sudo systemctl status minio
3. Добавьте правило:
Код: Выделить всё
sudo ufw allow 9000
Код: Выделить всё
sudo ufw enable
Нажмите y и ENTER для подтверждения. Вы получите следующий результат:Output
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Теперь Minio готов принимать трафик!Output
Firewall is active and enabled on system startup