使用 Chevereto 自建图床

看着图床挂了之后博客中满眼的Chevereto 404图片,内心的崩溃的。为啥不好好做备份呢

最早博客图床用的是七牛云,每个月有免费的10G HTTP流量对于这个根本没人看的站来说绰绰有余。后来上了 HTTPS 之后就只好给七牛交几毛钱使用费。然而近几年域名备案政策严格。未备案的域名已经无法使用国内的云服务了。只好选择自己搭建图床系统。其中Chevereto应该算是最好用的了。之前好像用的 Docker 安装。这次尝试了下直接安装。因为不熟悉 PHP 网站部署踩了一点坑……

Chevereto 部署

首先安装依赖(不含Nginx 和 Mysql)

1
sudo apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-zip

对于怎么启动一个 PHP 服务,可以参考 DigitalOcean 的文章How To Install Linux, Nginx, MySQL, PHP (LEMP stack) on Ubuntu 18.04

安装 Chevereto 的话,比起网上的下载源码安装。我更推荐使用官网的在线安装脚本 https://chevereto.com/free

1
2
3
mkdir chevereto
wget -O chevereto/index.php -c https://chevereto.com/download/file/installer
chmod 777 -R chevereto

然后添加 Nginx 配置文件。

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
server  {

listen 443;

server_name chevereto.kdwycz.com;
access_log /var/log/nginx/chevereto.access.log kd_access_log;
error_log /var/log/nginx/chevereto.error.log;

index index.php index.html index.htm index.nginx-debian.html;
root /home/kdwycz/chevereto/;

location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}

#Chevereto: Pretty URLs
location / {
index index.php;
try_files $uri $uri/ /index.php?$query_string;
}

#Chevereto: Disable access to sensitive files
location ~* /(app|content|lib)/.*\.(po|php|lock|sql)$ {
deny all;
}

#Chevereto: 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;
}

# 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 "*";
}

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 60m;

ssl_session_tickets on;

# ssl_stapling on;
# ssl_stapling_verify on;
# ssl_trusted_certificate;

ssl_certificate /home/kdwycz/certs/cert.pem;
ssl_certificate_key /home/kdwycz/certs/privkey.pem;

}

server {
listen 80;
server_name chevereto.kdwycz.com;
if ($request_method = GET) {
return 301 https://$server_name$request_uri;
}
return 308 https://$server_name$request_uri;
}

Nginx 配置生效后,就可以打开网址。配置站点名,数据库,初始超级用户,等待自动安装完成了。


使用 Chevereto 自建图床
https://blog.kdwycz.com/archives/chevereto/
作者
kdwycz
发布于
2019年1月9日
许可协议