Contents
1. Chevereto图床简介
图床:也就是专门提供存储图片的地方,我们上传好图片,就可以通过外链/API等方式访问了。图床分为公共图床和自建图床。
- 公共图床,会用各种技术帮我们做图片相关的优化和服务,比如CDN 加速、图片处理、图片鉴黄、文本识别等等,我们不需要担心硬盘空间不足等问题。
-
而下文介绍的Chevereto属于私有图床,将其建立在国内服务器或者套上合适的CDN,都可以为我们访问照片加速,大大加快打开网页的速度。除了储存、处理、分发照片外,Chevereto还可以作为个人分享和收集优秀图片的平台。
2. 在VPS上搭建Chevereto
2.1 准备工作
1)买vps,并使用Xshell通过ssh远程连接 Bandwagon host【如果使用国内服务器需要备案】
2)买域名,并将域名绑定至vps的IP上 NameSilo
2.2 安装宝塔面板
以下以我所使用过的Debian9和Centos7为例,其余发行版的安装方式参见:宝塔Linux面板安装教程
Debian 9:
1 |
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh |
Centos 7:
1 |
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh |
最后得到了宝塔面板的登陆信息,将其保存下来
1 2 3 |
Bt-Panel: http://IP/******** username: ******** password: ******** |
2.3 安装网站环境
1)安装LNMP环境
使用刚刚获得到的信息,浏览器访问你的后台,登陆宝塔面板,首次登陆宝塔面板后台,会弹出一键安装环境
- 选择LNMP环境,节省资源
- 调整Mysql和PHP版本(Mysql5.5,PHP 7.1)
- 安装方式选择为编译安装
2)新建站点
网站——添加网站——提交(这里面的密码记不记无所谓,可以随时查看)
3)域名解析
NameSilo域名解析:
[1] 打开NameSilo官网,依次完成下图所示的三步操作
[2] 修改如下:
[3] 一般十分钟左右 DNS 解析记录会生效(可以直接在cmd里ping域名验证是否解析成功)
网站绑定域名:
宝塔Linux面板——网站——设置——域名管理——添加域名
2.4 安装Chevereto
懒人部署方式如下:[“Docker部署”与“传统压缩包安装”见“参考文献[1]”]
1)下载Github官方提供的Chevereto Installer:传送门
2)登录宝塔面板,将 installer.php上传到网站根目录 /www/wwwroot/域名
3)浏览器访问:
http://域名//installer.php
确认以上详细信息与您要安装Chevereto的位置相匹配,并且没有安装其他软件。
4)按要求“将以下服务器规则添加到您的nginx.conf服务器块中。重新启动服务器以应用更改。完成后,回到这里继续进行。”【不配置会出现“执行HTTP请求时出错”报错】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# Chevereto nginx generated rules for http://chevereto.blackcat.monster/ ## Disable access to sensitive files location ~* /(app|content|lib)/.*\.(po|php|lock|sql)$ { deny all; } ## CORS headers location ~* /.*\.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js) { add_header Access-Control-Allow-Origin "*"; } ## Upload path for image content only and set 404 replacement location ^~ /images/ { location ~* (jpe?g|png|gif) { log_not_found off; error_page 404 /content/images/system/default/404.gif; } return 403; } ## Pretty URLs location / { index index.php; try_files $uri $uri/ /index.php?$query_string; } # END Chevereto nginx rules |
添加步骤:宝塔Linux面板——网站——设置——配置文件——以上服务器规则放入server{}代码块中
5)跳过-免费使用Chevereto(个人用户免费版就够用)——跳过cPanel——输入数据库的相关配置
- “主机”填:localhost,“端口”填3306,“数据库名称、用户、用户密码”去宝塔面板查看
6)输入“邮箱、用户名、密码”(记下来),设置管理员
2.5 给Chevereto配置https
Chrome一直在推动https网站,所有的http协议网站被标记为不安全,如果再不对网站进行https改造的话,那么可能会对信任度造成一定的影响,所以说对一个面向用户的网站来说,开启https是非常有必要的。
操作步骤:
1)宝塔Linux面板——网站——设置——SSL——选择 Let’s Encrypt,输入邮箱,并在两个域名前边打钩,确认没问题后点击申请
2)稍等一下就会看到开启成功,勾选强制https(这样即使有用户访问http网页也会自动跳转到https格式)
2.6 Chevereto成品
URL: https://域名/ 样式与配置自行设置,下图为我搭建好的成品
注:如果你的Chevereto网站加载速度极慢,禁用chevereto自动更新会有效缓解此问题
头像——仪表盘——设置——系统——“自动更新检查”、“显示可用的更新通知”设置成禁用
主要功能:屏幕截图,文件共享和生产力工具:ShareX官网
我的用途:利用其“截图-打模糊-上传Chevereto-复制图像url”等一系列功能写Markdown文档(有一部分会用于直接发表Wordpress博客),以解决默认的imgur图床在墙内无法显示的问题。
[1] Chevereto——仪表盘——设置——API——复制该API
[2] ShareX——上传至——上传目标设置——chevereto——填写上传URL和API密钥
说明:上传URL要严格按照示例的格式来填,即后面的 /api/1/upload要填上
[3] ShareX——上传至——图片上传,选择chevereto
至此,以访客形式上传至chevereto的配置已完成,如果要以用户的形式上传,继续下面的配置:
说明:API V1没有办法上传与给定用户相关联的图像,但是你可以覆盖默认的API,以实现以用户的形式上传
[4] 宝塔Linux面板——文件——将 app/routes/route.api.php文件复制到 app/routes/overrides文件夹,然后在此编辑该文件,保存即可。
- 将 CHV\Image::uploadToWebsite($source);改为 CHV\Image::uploadToWebsite($source, 'Logistic');
- 说明:该代码段在105行附近,Logistic处填写自己的用户名
[5] 重要说明:上传Chevereto图床的图片一定要在本地留有备份,以防不测。(ShareX设置好本地的存储路径即可)
[1] 上传文件到网盘(我用的Nextcloud)
1)ShareX——上传至——上传目标设置——填写Nextcloud的登录信息
2)ShareX——上传至——图片上传,选择Chevereto
[2] 截图后可以直接编辑图片(包括标记、裁剪、模糊、马赛克等功能)再上传
[3] 还有很多其他的实用功能,自行寻找。相关设置配置好了可以将其导出备份(应用程序设置——导入/导出)
4. 参考资料
[1] Chevereto-搭建私人图片外链库 from Newlearnerの小站
[3] Chevereto-中文文档-上传到用户的解决方案 from Chevereto API