1. 简介
云服务器有比较大的空间,想自己搭建一个个人云盘,做大文件的转存。
其他百度云盘等的下载速度感人,不想充值会员。
查询了一轮之后 Alist,Nextcloud,Cloudreve,ownCloud,Seafile等等
看到了不少,但是很多都需要各种配置安装。要么是通过宝塔可以快速安装,
但是我的服务器一开始就没有安装宝塔,又不想弄那些复杂的安装过程。
然后通过Alist的最简单的一键式脚本完成了安装。
2. 安装
2.1 一键安装
通过官网:Alist 一键安装脚本 可以在所有Linux系统中实现安装,
脚本帮我们区别了Ubuntu,CentOs等版本。支持x86_64/arm64 的系统安装。#Install 安装
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install
#update 更新
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s update
#Uninstall 卸载
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s uninstall
执行完毕后:Alist 安装成功!
访问地址:http://YOUR_IP:5244/
配置文件路径:/opt/alist/data/config.json
$查看管理员信息,请执行
cd /opt/alist
./alist admin
查看状态:systemctl status alist
启动服务:systemctl start alist
重启服务:systemctl restart alist
停止服务:systemctl stop alist
温馨提示:如果端口无法正常访问,请检查 服务器安全组、本机防火墙、Alist状态
[root@xxxxx ~]#
就会出现上面的内容输出了。到这里安装就完毕了。
2.2 配置域名解析
我已经通过阿里云购买过域名了,那么我现在在该域名前面加字段,进行一个二级域名解析即可。
例如:xxx.com 访问的就是服务器地址。
通过阿里云服务器控制台,访问云解析DNS ---> 域名解析 ---> 解析设置
我在zinyan.com域名的解析配置中再添加一个A记录就可以了 。
主机记录 | 记录类型 | 解析线路(isp) | 记录值 | TTL | 状态 | 备注 | 操作 | |
alist | A | 默认 | 服务器的真实ip地址 | 10 分钟 | 正常 |
主机记录:这个值就是你的二级域名,例如我写的是alist,也可以写其他的
记录值:填写你的服务器实际ip地址。
填写完毕后,点击保存。
我们就可以通过浏览器:alist.xxx.com 访问了。例如我的访问完毕后
会出现下面的内容,因为我配置了nginx代理。Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
For online documentation and support please refer to [nginx.org](http://nginx.org/).
Commercial support is available at [nginx.com](http://nginx.com/).
*Thank you for using nginx.*
我们现在需要配置第二步通过nginx
将该域名和本机的5244端口绑定。
2.3 nginx 代理
打开我们的nginx.conf
配置文件。nginx
新版本,会将conf
文件存储在/etc/nginx/conf.d/
文件夹下。
如果我们在上一级目录的nginx.conf
文件中看到有:include /etc/nginx/conf.d/*.conf;
那么,我们就可以在conf.d
文件夹下,创建一个alist.conf
的配置文件了。因为nginx会自动扫描并引用该文件夹下的所有后缀为.conf
的文件
配置项参考:
server {
listen 80;
server_tokens off;
server_name alist.xxx.com; # 这个地方的域名根据你的需求进行修改
return 301 https://$server_name$request_uri; # 重定向到https请求
}
server {
listen 443 ssl;
server_tokens off;
ssl_protocols TLSv1.2 TLSv1.3;
keepalive_timeout 300;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_certificate 你的ssl证书.pem;
ssl_certificate_key 你的ssl证书.key;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_prefer_server_ciphers on;
server_name alist.xxx.com; # 这个地方的域名根据你的需求进行修改
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
proxy_redirect off;
proxy_pass http://127.0.0.1:5244;
# the max size of file to upload
client_max_body_size 20000m;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
}
然后执行 nginx -t
检测一下配置项是否正确。然后再执行nginx -s reload
刷新配置。
这个时候我们请求域名后就会打开alit了。
2.4 申请https 证书
在阿里云服务器控制台中访问:数字证书管理服务,找到SSL证书。然后申请免费证书。填写完整的域名服务。
申请完毕后,很快就会签发。然后进行下载部署到nginx中就可以了。
证书 | 品牌/算法 | 状态 | 绑定域名 | 有效期限 | 已部署 | 操作 |
---|---|---|---|---|---|---|
cert-8223020DigiCert 免费版 SSL资源ID: cas-ivauto-QYuUin标签:未设置标签 | RSA | 已签发 | alist.xxx.com | 1年2023-10-09 | -- | 部署下载部署服务 |
下载的时候,选择nginx类型的进行下载哦。
配置正确的https证书后,浏览器就不会出现不安全的https标注了。
3. 配置AList
通过执行下面的命令cd /opt/alist
./alist admin
你将会得到Alist的管理员账户和密码。然后通过浏览器访问登录,进行操作即可了。
可以修改密码,配置logo,管理用户,管理存储等等。
最关键的配置就是存储空间的配置了。
例如,我配置驱动为本机存储,在本地~
目录下创建了一个alist
文件夹,作为根目录
那,我配置挂载路径就可以写为:/root/alist
根文件夹路径也配置为:/root/alist
。
那么首页打开的时候就会访问该文件夹了。
然后,我们就可以试试上传文件了。这个时候你会发现,没有密码也能上传。
4. 配置
我们可以通过admin账户登录之后,配置站点的标题,分页加载的效果,以及每次访问时的公共文案。
通过设置-站点:配置基本信息。
通过样式可以配置网页LOGO。布局宽度,颜色。
4.1 预览
在预览中标注了,文本类型,音频类型,视频类型,图片类型等。
这些类型决定了:1.资源的图标样式,2.是否能够自动播放(音视频)。
这块我们不建议做太多修改
4.2 全局
可以配置全局的一些样式信息,以及下载时是否默认打包。
其他需要关注的内容就没啥了。
5. 任务
这里面就是展示一些当前正在进行的复制,下载,上传等任务。你可以主动关闭某些耗时的操作哦。
6. 用户
默认系统有两个用户admin
和guest
。而且这两个用户不允许删除。
其他没有账户访问Alist的时候,系统自动给它分配了Guest浏览者账户。
我们要注意,给guest账户配置一个基本路径,否则它就会和admin路径是一样的了。
就能看到所有的目录了,给它配置一个空文件夹,然后保存。
这样游客访问的时候,就只能访问那个开放的目录,同时没有删除,复制上传等权限了。
6.1 添加账户
Alist没有账户注册功能和修改密码功能。全部依赖管理员进行创建。
管理员可以进行账户的修改,密码的修改,目录的调整。以及基本权限的配置。
7. 存储
我们可以依赖阿里云存储,也可以加载各个云盘的内容
8. 元信息
其实默认情况下。可以不用配置元信息。
特别是其中的写入功能,一旦开启之后。那么所有用户包括游客都可以对云盘进行文件创建和上传了。
而我们如果想将制定路径下的文件分享给知道密码的人访问。类似各网盘链接分享
没有邀请码就无法看到内容的情况,可以给指定文件夹添加元信息并设置访问密码。这样任何人访问该链接的时候都需要输入密码访问了。
但是如果在用户管理中配置用户权限为无需密码访问。那么他会突破元信息的密码限制权限。