Chevereto V4 自托管图床完全搭建教程
55°
  • 发布时间
    资源描述
    站长太懒了,没填写
    资源大小
    未知
    资源分类
当前位置:首页IT技术Chevereto V4 自托管图床完全搭建教程

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

准备

· 一台使用全新的系统环境操作的服务器,可以是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中下载对应的环境。

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

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

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

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

4.添加站点

记得做好DNS解析哦~

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

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

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

5.添加一个数据库

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

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

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

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

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

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

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

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

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

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

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

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

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

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

完成。

7.修改目录文件权限

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

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

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

完成。

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

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

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

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

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

11.Cron

ssh中,运行下面代码

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

 

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

12.结束

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

配置真实连接 IP

如果未配置真实连接IP,Chevereto将无法检测真实访问者的IP,从而无法执行基于IP的限制和防滥用控制。

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

当我们建立网站,并且如果你套上CloudFlare的CDN之后,会获取不到真实IP。

我们回到之前的AAPanel,找到网站,点开nginx配置文件。(URL rewrite)

location / {
    index index.php;
    try_files $uri $uri/ /index.php$is_args$query_string;

找到之前设置的这一行代码。在下面添加上以下代码。
    set_real_ip_from 103.21.244.0/22;
    set_real_ip_from 103.22.200.0/22;
    set_real_ip_from 103.31.4.0/22;
    set_real_ip_from 104.16.0.0/13;
    set_real_ip_from 104.24.0.0/14;
    set_real_ip_from 108.162.192.0/18;
    set_real_ip_from 131.0.72.0/22;
    set_real_ip_from 141.101.64.0/18;
    set_real_ip_from 162.158.0.0/15;
    set_real_ip_from 172.64.0.0/13;
    set_real_ip_from 173.245.48.0/20;
    set_real_ip_from 188.114.96.0/20;
    set_real_ip_from 190.93.240.0/20;
    set_real_ip_from 197.234.240.0/22;
    set_real_ip_from 198.41.128.0/17;
    set_real_ip_from 2400:cb00::/32;
    set_real_ip_from 2606:4700::/32;
    set_real_ip_from 2803:f800::/32;
    set_real_ip_from 2405:b500::/32;
    set_real_ip_from 2405:8100::/32;
    set_real_ip_from 2a06:98c0::/29;
    set_real_ip_from 2c0f:f248::/32;

    #use any of the following two
    real_ip_header CF-Connecting-IP;
    #real_ip_header X-Forwarded-For;
这样就可以了。

用其他CDN一个道理。参考

Module ngx_http_realip_module

set_real_ip_from  192.168.1.0/24;
set_real_ip_from  192.168.2.1;
set_real_ip_from  2001:0db8::/32;
real_ip_header    X-Forwarded-For;
real_ip_recursive on;

根据自己的实际情况进行修改配置

文件系统

为了更加安全,可能需要修改文件系统权限。

运行的用户php必须位于安装目录的所有者组中,并且 Chevereto 需要对该目录的递归读取访问权限。除此之外,以下路径需要递归读/写访问:

Session path
Temp folder
./content
./images
./importing
用户生成的内容存储在:

./images
./content/images/users
./content/pages

PHP 配置

建议 Chevereto 安装使用以下值。

Property 描述 示例
upload_max_filesize 最大上传大小 64M 表示 64 MB
post_max_size 最大POST大小 同上
max_execution_time 软件执行的最大时间,以秒为单位 30 表示 30 秒
memory_limit 分配的最大内存 512M 表示 512 MB

你在根据官方文档进行网站的自定义的时候,发现了某些错误,不知道如何排查修复怎么办?

比如这样的报错。

打开调试开关

在管理员仪表盘中,导航至系统按钮并点击,接着找到调试错误选项。
Chevereto V4 自托管图床完全搭建教程

 

启用调试错误后,Chevereto将在屏幕上显示错误信息。

通常在生产环境中,建议关闭此选项,因为在出现错误时,所有访问网站的用户都能看到,这可能会显著增加网站的安全风险.

修改页面时报错

我们在进行网站自定义的时候,可能会修改隐私政策、服务条款的页面内容,甚至可能会增加一些额外页面。

但是在4.0.11版本中(我不知道其他版本是不是这样,我只测试了4.0.11版本是这样)修改内容并保存的时候,会出现这个错误
4.0.12版本已经修复此bug
4.0.12版本已经修复此bug
4.0.12版本已经修复此bug

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

这直接导致我们无法修改隐私政策和其他额外页面的内容。

错误信息表明hash_equals()函数期望第一个参数($known_string)是一个字符串,但实际上传递了一个整数。

解决办法:

我们打开网站目录,找到/app/legacy/routes目录下的dashboard.php文件,定位到1504行,找到这一行代码

if (hash_equals($page[$v] ?? '', $postPage ?? '')) {

修改这一行代码,比如:

if (hash_equals(strval($page[$v] ?? ''), strval($postPage ?? ''))) {

通过使用strval()函数,将变量强制转换为字符串,确保传递给hash_equals()的参数是字符串类型。这应该能够解决你遇到的类型错误问题。

常见解决方法:

网站->网站目录->防跨站攻击      #关闭放跨站攻击

PHP管理->FPM配置文件    #添加  env[PATH] = /usr/local/bin:/usr/bin:/bin

附chevereto4.14企业绿色版

下载权限
查看
  • 免费下载
    评论并刷新后下载
    登录后下载
  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余
温馨提示:

文章标题:Chevereto V4 自托管图床完全搭建教程

文章链接:https://jssnd.com.cn/3530.html

更新时间:2024年10月09日

本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:3607845@qq.com我们将第一时间处理!

资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。

                               

所有资源仅限于参考和学习,版权归原作者所有,更多请阅读SND网络服务协议

给TA打赏
共{{data.count}}人
人已打赏
IT技术技术教程

Xray-core/sing-box 一键脚本客户端使用教程

2024-9-29 12:05:37

IT技术技术教程

科达录播、直播设备使用教程

2024-10-10 15:19:29

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
  • SND办公网对文章OneNav一为主题v4.0510源码+开心方法发布评论!