前言
前段时间申请了个免费十年的空间服务器,免费十年,容量只有3G,想着能做点什么呢,突然想起部署个免费的简单图床程序,平台看到喜欢的图片就丢上去,再不定时备份一下,这样在很多不支持上传图片的讨论区就能使用图床链接来显示图片了。如果你对免费虚拟主机服务器有兴趣,可以参考本文《申请免费十年的空间服务器CT8.PL》
选择
目前常用的图床程序有
- 兰空
- 简单图床
- Telegraph-Image
- chevereto
- Lychee
最终使用了简单图床,以前使用过chevereto,感觉功用太多,用不上,最重要的是简单图床对服务器要求极简单,甚至不需要数据库就能跑起来。不用安装程序也可以正常使用。Telegraph-Image免费且无限容量,也能绑定自己域名,但上传的图片不能使用原命,对于备份或迁移不利,后面介绍备份方案会提到。
安装
直接SSH登录到CT8服务器,下载最新压缩包,下载地址: wget https://github.com/icret/EasyImages2.0/archive/refs/tags/2.8.4.zip
再解压到对应域名,浏览域名,自动进入检测服务器环境
这里有一个错误,目录权限问题,有两个解决办法
一,给public_html递归分配755权限
二,直接删除install跳过安装页面
这里给public_html分配递归755权限
注意我这里使用的命令与安装向导提示的命令不大一样,应该是先-R,再755 chmod -R 755 public_html
再刷新,所有检测都通过了。
下一步,填写相关信息就完成了。
错误
刚以为装好就能使用了,却看到一个警告错误 Warning: is_dir(): open_basedir restriction in effect. File(/i/2024/04/11/) is not within the allowed path(s): (/usr/home/yourdomain/domains/img.yourdomain.net/public_html:/tmp:/usr/share:/usr/local/share:/dev) in /usr/home/yourdomain/domains/img.yourdomain.net/public_html/app/function.php on line 248 Warning: is_writable(): open_basedir restriction in effect. File(/i/2024/04/11/) is not within the allowed path(s): (/usr/home/yourdomain/domains/img.yourdomain.net/public_html:/tmp:/usr/share:/usr/local/share:/dev) in /usr/home/yourdomain/domains/img.yourdomain.net/public_html/app/function.php on line 252 Warning: is_dir():
这个提示是以下目录不是被允许的运的PHP程序池
File(/i/2024/04/11/) is not within the allowed path
然后查看CT8的配置,发现被允许的目录有open_basedir
解决办法有两个,一个是添加允许目录,一个是修改上传图片到已被允许的目录。
我修改上传图片配置到被允许的目录
(/usr/home/yourdomain/domains/img.yourdomain.net/public_html:/tmp:/usr/share:/usr/local/share:/dev)
从日志里可以看出,这些目录都可以,我选择了/urs/share
目录
将默认的/i/
修改成被允许的基本一个目录/usr/share/
要加上最后的/
可以看到已成功上传了,至此,CT8就能正常使用简单图床了
总结
主要应该是简单图床配置里的路径/i/
在CT8服务器里判断为根目录下了,并不是当前目录下,所以超出了open_basedir允许的范围,替换成open_basedir已存在的目录便可以了。
暂无评论