这次的Chevereto图床搭建可以算是我利用闲置VPS资源的一次有意义的尝试,目的在于建立一个可以share的图片库,和大多数人建立图床的目的不太一样。
图床,也就是专门提供存储图片的地方,我们上传好图片,就可以通过外链/API等方式访问了。图床分为公共(成品)图床和自建图床。公共图床,会用各种技术帮我们做图片相关的优化和服务,比如CDN 加速、图片处理、图片鉴黄、文本识别等等,我们不需要担心硬盘空间不足等问题。
而今天介绍的Chevereto属于私人图床,将其建立在国内服务器或者套上合适的CDN,都可以为我们访问照片加速,大大加快打开网页的速度。除了储存、处理、分发照片外,Chevereto还可以作为个人分享和收集优秀图片的良好platform。
tg交流群:Newlearnerの水群
配置要求
- Apache / NGINX web server
- PHP 5.5.0 (standard libraries)
- MySQL 5.0 (ALL PRIVILEGES)
实际上lnmp直接解决所有问题,你要是觉得编译太慢直接用二进制安装这个环境也是可以的。
多说一句,这个平台有收费版和免费版,如果不想要支持一下付费版,请不要使用网上流传的河蟹版。如果你把这样的河蟹版部署到国外主机上面,有被停机的风险。
站主采用的是免费版,开源项目地址:Chevereto-Free。
后端搭建
环境配置好之后,我们准备开始部署Chevereto。Apache直接从根目录开始入手,如果用lnmp一键包先来建立一个虚拟主机:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
+-------------------------------------------+ | Manager for LNMP, Written by Licess | +-------------------------------------------+ | https://lnmp.org | +-------------------------------------------+ Please enter domain(example: www.lnmp.org): yourdomain Your domain: yourdomain Enter more domain name(example: lnmp.org *.lnmp.org): Please enter the directory for the domain: yourdomain Default directory: /home/wwwroot/yourdomain Virtual Host Directory: /home/wwwroot/yourdomain Allow Rewrite rule? (y/n) n You choose rewrite: none Enable PHP Pathinfo? (y/n) n Disable pathinfo. Allow access log? (y/n) n Disable access log. Create database and MySQL user with same name (y/n) y Enter current root password of Database (Password will not shown): OK, MySQL root password correct. Enter database name: database Your will create a database and MySQL user with same name: database Please enter password for mysql user databaseuser: passwd Add SSL Certificate (y/n) y 1: Use your own SSL Certificate and Key 2: Use Let's Encrypt to create SSL Certificate and Key Enter 1 or 2: 2 It will be processed automatically. Press any key to start create virtul host... |
1、懒人部署
使用官方gayhub提供的Chevereto Installer,得到php文件后上传至网站根目录,浏览器访问domain/xxx.php即可傻瓜式安装。
2、Docker部署
Chevereto-Docker,官网安装界面有详细的教程。
3、传统压缩包安装
从Release里面获取连接下载到相应的网站目录,解压赋予权限。完成后重新打开网页,就会出现安装页面了,把事先建好的数据库的地址、用户名、密码依次填入就可以了,下一步中是一些用户和邮箱的设置,填好后点击完成就完成了Chevereto的安装了。
1 2 3 4 5 6 7 |
wget https://github.com/Chevereto/Chevereto-Free/archive/1.1.1.tar.gz tar -zxvf 1.1.1.tar.gz mv Chevereto-Free-1.1.1/* /根目录/ chown -R www:www . |
如果用的是nginx,我们还要部署伪静态规则,否则会404。
在nginx配置中加入以下内容,注意找对位置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# Image not found replacement location ~* (jpe?g|png|gif) { log_not_found off; error_page 404 /content/images/system/default/404.gif; } # CORS header (avoids font rendering issues) location ~ \.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ { add_header Access-Control-Allow-Origin "*"; } # Pretty URLs location / { try_files $uri $uri/ /index.php?$query_string; } |
前端设置
- 虽然是免费版,但是Chevereto自带的dashboard功能蛮强大的。进入之后第一件事就是修改language(不改也没什么影响),你可以自定义网站的标题、网站描述、首页图片,修改上传文件大小设置等等。
- 我将Chevereto作为一个图片存储/分享平台,因此开放注册并且设置仅注册的用户可以查看和下载本站的图片资源。这里需要设置一个邮件SMTP服务,方便自动发送激活邮件给注册用户。因为站很小,站主选择使用Gmail自带的SMTP服务。
SMTP服务器:smtp.gmail.com
端口:587
用户名:Gmail邮箱
密码:Gmail邮箱密码
加密:Tls
- Chevereto还有防洪设置和ip ban,估计站主流量太小基本用不到。此外,“关于”一项中的几个页面也是可以自定义的,我写了TOS、Private等简陋的几个页面,可以在dashboard中写,也可以直接去服务器后端。
- 把站做的大概像点样子之后,我们就可以愉快地上传图片了,保存在Chevereto中的图片会自动生成完整图片、中等图片和缩略图的URL链接和HTML、markdown等形式的嵌入代码,十分方便。
附:其他类似的平台和工具
参考链接:Chevereto-Free
chevereto 怎么修改上传图片大小的限制? 默认只有2M实在太小了
到 Chevereto 的「仪表盘」——「设置」——「图片上传」中,将"最大文件大小 (MB)"这一项改为你想要的值即可
可能我没有描述清楚 就是这一项“最大文件大小”设置 最大只能设置2MB 且下面有注释“服务器最大允许上传2 MB.因为参数upload_max_filesize = 2M和post_max_size = 8M(文件:php.ini)” 但我的php.ini文件里的两项配置都为50M 而且我发现您搭建的chevereto主页显示是最大可上传50M的图片大小 是有修改其他的配置文件吗?
是的,您这么一说我想起来曾经因为 wordpress 上传文件大小有限制,修改过php配置文件,具体可以参考这里 https://www.jianshu.com/p/0256e1ebeb61
请问如何修改PHP 限制的图片挡案大小,谢谢