自建 Chevereto 图床相册服务

什么是图床?

图床,也就是专门提供存储图片的地方,我们只要通过图床提供的 API 接口,把图片上传上去,就可以通过外链访问了,根本不用操心图片是怎么存的,硬盘空间不够了,硬盘坏了,访问速度比较慢等等问题,这些图床都会帮我们搞定,他们会用各种技术帮我们做图片相关的优化和服务,比如多机互备、CDN 加速、图片处理、图片鉴黄、文本识别等等。

目前图床可以分为两种,一种是公共图床,一种是自建图床

公共图床也就是利用公共服务的图片上传接口,来提供图片外链的服务,比如新浪微博(现在不太好用了)。

常见的公共图床:

Imgur:https://imgur.com/
SM.MS:https://sm.ms/
阿里云OSS:https://www.aliyun.com/price/product#/oss/detail
又拍云OSS:https://www.upyun.com/products/file-storage
七牛云OSS:https://developer.qiniu.com/kodo

自建图床,也就是利用各大云服务商提供的存储空间或者自己在 VPS 上使用开源软件来搭建图床,存储图片,生成外链提供访问。

开源的自建图床:

Chevereto: https://chevereto.com/free
Lychee: https://lychee.electerious.com/

本文介绍的是 Chevereto 开源图床的安装流程。

下载安装文件

首先,确保服务器已经装有如下环境和服务:

PHP 7 (PHP 5.6 min) # 本人的版本为 7.4
MySQL 8 / MariaDB 10 (ALL PRIVILEGES) # 本人的版本为 MySQL 5.7
Apache / NGiNX # 本人的服务为 Nginx 1.18
URL rewriting

装有以上环境和服务后,预设好相关环境配置:

Nginx 配置文件中加入以下代码:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

MySQL 中创建好 Chevereto 的数据库。

然后下载 Chevereto 的安装文件:

https://chevereto.com/download/file/installer

会下载一个 installer.php 的 php 文件,将这个文件上传到服务器站点目录下,然后在浏览器输入网址 http://localhost/installer.php,接下来根据指引一步步操作即可。

image-20200812170323381

image-20200812170513504

image-20200812170635325

image-20200812170818786

image-20200812171042313

image-20200812171138820

image-20200812171217925

常见错误提示和解决方案

如果安装好后打开图床主页提示以下信息:

Unparenthesized `a ?: b ? c : d` is deprecated. Use either `(a ?: b) ? c : d` or `a ?: (b ? c : d)` in /Chevereto-Free/app/loader.php on line 481

是由于 PHP 版本不同导致代码格式不规范的错误提示,可以将 loader.php 文件 第481行 的代码替换为下面这句:

$handler::setCond('explore_enabled', Login::isAdmin() ?: (getSetting('website_explore_page') ? (Login::getUser() ?: getSetting('website_explore_page_guest')) : false));

如果图床主页提示以下错误:

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /localhost/lib/G/functions.php on line 254

则可以将 functions.php 代码中的 第254行 尝试以下2种修复方案(我用的第2种):

# 方案1:将254行的 continue; 改为
break;
# 方案2:将 continue; 改为
continue 2;

以上都改好后,刷新图床主页后错误提示就消失了。


参考阅读:

https://www.moerats.com/archives/390/
https://merlinblog.xyz/wiki/chevereto.html
https://xiaoyou66.com/archives/774

发表评论

电子邮件地址不会被公开。 必填项已用*标注