前言

自创建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工具,例如 XshellFinalShellTermius
  • 一些Linux系统的最基础的知识。
  • 具备细心和耐心的态度。

部署

1.更新软件包

通过终端/软件连接SSH

sudo 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.结束

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

最后

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

点击下方订阅HOSTEYE,及时获得最新文章推送。

包含的标签:

最新文章, 教程

最后更新: March 11, 2024