Chevereto V4 自托管图床完全搭建教程

Chevereto V4 自托管图床完全搭建教程二——管理员和其他配置设置
Chevereto V4 自托管图床完全搭建教程三——一些BUG的修复
本文也同步发布在我的小站上,由于篇幅限制,部分无关紧要的图片省略,想看全部点击这里

前言

自创建HOSTEYE网站以来,我一直致力于构建一个完善的图床程序。尽管公有图床具有稳定性,但我难以忍受非VIP服务的限制和广告。为了弘扬追求卓越的精神,同时提升自身在小型项目维护方面的经验,我最终决定搭建自己的图床系统。
选择Chevereto的原因之一是其最近更新的订阅模式。在作者的博客中,他提到:“我确信以一次性支付的方式提供软件会严重危害软件产品,并损害长期用户的利益。一次性授权带来的负面影响包括(1)高昂的许可定价,(2)淡化的发布周期,(3)停滞不前的开发,(4)缺乏引人注目的功能,以及(5)高昂的支持费用。” 这使我相信这个付费程序可以持续得到维护。

借助我自己的经验,本教程将为初学者提供一个极为详尽的指南,以帮助他们完整地搭建这个程序。
本文使用AAPanel面板来搭建,你也可以安装官方的安装脚本,使用Apache作为HTTP Web server在全新的机器上进行安装。
官方推荐的环境是Php版本在8.0以上,Mysql支持5.7和8。
本文的安装环境是Php 8.2 Nginx 1.24 Mysql 8.0

购买

在上个月,Chevereto作者刚刚变更付费方式的时候,我试着向作者PY个地区优惠。

最终,PY成功!
在购买的时候,国家选择中国之后,记得点击继续,才能更新价格。


国区一年订阅仅需233.33元!
我也邀请他来NodeSeek注册个账户,发送一些专属优惠。
这里是老板在NS的官方号。大家多多私信老板,可能会有NodeSeek专属优惠哦~

准备

· 一台使用全新的系统环境操作的服务器,可以是VPS,可以是独立服务器,但是配置最低要1C1G10G。本文以debian 11为例;
· 域名一个,并且已经提前设置一个有效的 DNS A 记录,指向服务器的 IP 地址。必须提前完成此操作。
· SSH工具,例如 Xshell、FinalShell、Termius 等
· 一些Linux系统的最基础的知识。
· 具备细心和耐心的态度。

部署

1.更新软件包

通过终端/软件连接SSHsudo apt update && apt upgrade -y

2.安装AAPanel

到此处,复制安装脚本到服务器上,运行。或者复制下面代码。

URL=https://www.aapanel.com/script/install_6.0_en.sh && if [ -f /usr/bin/curl ];then curl -ksSO "$URL" ;else wget --no-check-certificate -O install_6.0_en.sh "$URL";fi;bash install_6.0_en.sh aapanel

安装完成后,会有如下所示的提示,保存aapanel的地址、用户名和密码。

==================================================================
Congratulations! Installed successfully!
aaPanel Internet Address: https://*****/14****
aaPanel Internal Address: https://*****/14****
username: ********
password: ********

3.环境配置

我前面已经说过了,本文将以Php 8.2 Nginx 1.24 Mysql 8.0的环境作为演示。
当你安装好aapanel并且成功登录进去之后,就开始配置环境吧。你可以在提示框中快速配置LNMP,或者在左侧找到App Store中下载对应的环境。

安装完php之后,我们还需要安装一些php扩展。
在上面安装好的PHP-8.2的右侧,找到Setting并点击。
我们需要安装fileinfo、imagemagick 和 exif 这三个 PHP 扩展。在Install extensions选项中找到对应的扩展并点击Install安装就好了。如下图所示。

到此,所有的准备工作已经做好了。

4.添加站点

记得做好DNS解析哦~

我们在左侧找到Website选项,点击,然后点击Add site按钮添加一个新网站,并根据自己实际情况填写相关信息。
下面是示例。

5.添加一个数据库

我们在左侧找到Databases选项,点击,然后点击Add Database按钮添加一个新数据库,并根据自己实际情况填写相关信息。
下面是示例。

6.上传最新的完整的源码

当你购买后,你可以在此找到付费源码。点击下载。我这里下载的是文章发布时的最新版本,4.0.11。

然后,我们回到Website,点击下面示例的地方,进入你的网站根目录。我们准备上传Chevereto程序。

然后,我们勾选所有文件并删除。这里一定要删除干净

然后我们点击上传文件,把下载好的zip文件上传到网站根目录。

选中上传的zip文件,右键,解压。


完成。

7.修改目录文件权限

接下来,我们修改目录文件权限为 777 。
先到上一级目录,然后选中网站文件,找到右侧的PMSN选项,点击并修改权限。


完成。

8.修改网站伪静态配置

我们回到Website选项,点击我们的网站,然后找到URL rewrite选项并点击,然后根据官方文档,填入以下内容。

# Disable access to sensitive application files
    location ~* (app|content|lib)/.*\.(po|php|lock|sql)$ {
        return 404;
    }
    location ~* composer\.json|composer\.lock|.gitignore$ {
        return 404;
    }
    location ~* /\.ht {
        return 404;
    }

    # Image not found replacement
    location ~* \.(jpe?g|png|gif|webp)$ {
        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 "*";
    }

    # PHP front controller
    location / {
        index index.php;
        try_files $uri $uri/ /index.php$is_args$query_string;
    }

    # Single PHP-entrypoint (disables direct access to .php files)
    location ~* \.php$  {
        internal;
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    }

注意,针对 Nginx 1.12.2 的新变化,官方文档提供的Single PHP-entrypoint这一部分需要修改

sites-enabled 和 sites-available 与其一起使用;而且它还有一种不同的 PHP CGI 设置。

这是一个官方文档,详细说明了如何操作:https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/

顺便说一下、你还应该将 fastcgi.conf 替换为 fastcgi_params。

并且添加一行:

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
修改后的完整的代码如下:

# Disable access to sensitive application files
    location ~* (app|content|lib)/.*\.(po|php|lock|sql)$ {
        return 404;
    }
    location ~* composer\.json|composer\.lock|.gitignore$ {
        return 404;
    }
    location ~* /\.ht {
        return 404;
    }

    # Image not found replacement
    location ~* \.(jpe?g|png|gif|webp)$ {
        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 "*";
    }

    # PHP front controller
    location / {
        index index.php;
        try_files $uri $uri/ /index.php$is_args$query_string;
    }
    # Single PHP-entrypoint (disables direct access to .php files)
    location ~ \.php$ {
    #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    include fastcgi_params;                
    fastcgi_intercept_errors on;
    fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}

9.设置SSL

我们在同样的窗口,找到SSL申请并安装Let's Encrypt证书就好了。

10.安装Chevereto

在浏览器中输入你的域名并进入。
安装前面你设置的数据库,填入对应的信息。


最后,点击Install。大功告成!

11.Cron

ssh中,运行下面代码

cat >/etc/cron.d/chevereto <<EOM
* * * * * www php /site/app/bin/legacy -C cron
EOM

根据实际情况更改权限和目录

12.结束

安装完成后记得把网站权限再改回755

最后

这只是Chevereto的部署教程。后面我会继续更新Chevereto的详细的设置教程。

点赞
  1. emgh说道:

    权限777。你可真是个勇士。

  2. kenny说道:

    太贵,用不起

  3. FOXCOO说道:

    @emgh #1
    忘记加一条了,已更新

发表回复

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

×
订阅图标按钮