前言
自创建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成功!
在购买的时候,国家选择中国之后,记得点击继续,才能更新价格。
我也邀请他来NodeSeek注册个账户,发送一些专属优惠。
这里是老板在NS的官方号。大家多多私信老板,可能会有NodeSeek专属优惠哦~
准备
- 一台使用全新的系统环境操作的服务器,可以是VPS,可以是独立服务器,但是配置最低要1C1G10G。本文以debian 11为例;
- 域名一个,并且已经提前设置一个有效的 DNS A 记录,指向服务器的 IP 地址。必须提前完成此操作。
- SSH工具,例如 Xshell、FinalShell、Termius 等
- 一些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.添加站点
我们在左侧找到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;
}
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,及时获得最新文章推送。