对由兴趣驱动的小站长来说,COS 和 OSS 虽然不算贵但容易被刷而产生额外费用,所以借此本咕记录用自己的服务器建立对象存储的过程,作为分享和个人备忘用。
以下内容均以无 Docker 环境下的 Ubuntu 24.04.1 amd64 系统演示,其它系统食用方法类似。附件可在 博客 #17 附件 查收。
#部署旧版 MinIO
由于官网提供下载文档的链接为商业版,且 2025 年 5 月的一次更新把 WebUI 管理界面几乎砍废了,故此处下载最后一个未被阉割 WebUI 界面的版本。
如果使用官方提供的 deb 包,则需要:
# 下载旧版本deb包
wget https://dl.minio.org.cn/server/minio/release/linux-amd64/archive/minio_20250422221226.0.0_amd64.deb -O minio.deb
sudo dpkg -i minio.deb
但是这样操作必须使用 sudo 提权,也可以下载单文件二进制,运行无需 root 权限。以下都以独立文件的方法进行演示。
wget https://dl.minio.org.cn/server/minio/release/linux-amd64/archive/minio.RELEASE.2025-04-22T22-12-26Z -O minio
chmod +x ./minio
然后,通过环境变量设置后台用户名和密码启动 MinIO。
export MINIO_ROOT_USER=【用户名】
export MINIO_ROOT_PASSWORD=【密码】
./minio server 【用于存储的路径】
如果不想要默认端口,也可以使用 --address :<访问存储端口号> 和 --console-address :<访问后台端口号> 参数进行更换。
如果有 BT 或 1Panel 之类的面板,也可以直接像这样添加项目,保证持续运行而不被清理。
进入 console-address 指定的端口,登录后即可进入后台。
点击 Buckets → Create a New Bucket 即可创建新的存储桶了!
注意:如果将存储桶 Access Policy 设置为 Public,则会展示其目录下所有文件。如果不希望列出文件,那么可以添加自定义策略。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": {
"AWS": ["*"]
},
"Action": ["s3:GetObject"],
"Resource": ["arn:aws:s3:::存储桶名称/*"]
}
]
}
#使用非官方 MinIO 版本
虽然 MinIO 官方关闭了控制台 WebUI,但我们仍然可以通过其他用户对此前代码的存档,单独构建控制台 WebUI。此处比较推荐的是 openmaxio-object-browser,不过值得注意的是,需要用 v1.7.6 这个标签。
由于以上项目的依赖项已由 MinIO 开发团队转为闭源,无法完整构建,而主线分支跟已阉割的官方 MinIO 控制台完全一致,故删除相关构建章节。
此处咕咕使用的是第三方维护的 MinIO 版本:pgsty/minio
用法同上,不再赘述。此版本除了使用未阉割的控制台,还修复了一些 CVE。
https://blog.crrashh.com/posts/17-deploy-full-minio.html
除特殊声明转载之外,本文由博主云萧原创且非 AI 生成内容,依据 CC BY-SA 4.0 许可协议授权,若需转载请注明出处及本声明。
尚未开启评论功能,敬请期待