1panel 安装 LskyPro 企业版 v2 - PostgreSQL 版教程

# 前言

花了点时间摸索了一下,一个比较能利用好 1panel 功能的方式。部分配置来自企业版自带的文档。我使用的系统为 Debian 12,所以部分命令可能需要自行根据系统进行修改。

如果你还没购买兰空图床,你也可以走 我的 AFF 链接 购买。

# 安装

# 安装自定义PHP

步骤1

  1. 下载离线包 https://github.com/zhengkunwang223/php/blob/main/php8.zip
  2. 将 php8.zip 上传到 /opt/1panel/resource/apps/local 并解压。
  3. 回到应用商店,同步应用列表。

这份离线包可能有一些问题,需要自己解决。例如,shell脚本使用的是 #!/bin/sh 而非 #!/bin/bash,需要修改。否则扩展会安装失败。

需要安装的扩展有(未去重):

1
mbstring,xml,curl,zip,imagick,fileinfo,intl,bcmath,gd,opcache,tokenizer,soap,ftp,pdo_pgsql,pcntl

# 宿主机调用PHP

由于我们的 PHP 是在 Docker 容器中运行的,因此需要先添加一下环境变量,否则可能会出现找不到 PHP 的情况。 编辑 ~/.bashrc 文件:

1
2
3
4
# 添加别名
alias php='docker exec -it -w /www/sites/<YourSite>/index <1Panel-php8> php'
# /www/sites/<YourSite>/index 是 1panel 中的映射地址
# <1Panel-php8> 是 PHP 镜像的名称,名称可以从 容器 里面找到,使用 ID 也可以

source ~/.bashrc 刷新以启用这个别名。这样就可以在宿主机使用 php 命令了。

如果需要在脚本中生效,则可能需要修改lsky的安装脚本 install.sh,添加以下内容:

1
2
3
4
#!/bin/bash

shopt -s expand_aliases  # 启用别名扩展
source ~/.bashrc         # 加载别名定义

# 创建数据库

在数据库中创建一个新的数据库,例如 lskypro。记得给用户赋予相关权限,如public schema。如果怕麻烦的话就勾选上管理权限。

# 安装LskyPro

在网站中创建新的网站,选择自定义PHP,选择刚刚安装的PHP。

在火花后台下载LskyPro企业版v2的离线包。修改 database/migrations 文件夹内所有的文件,将 json 改为 jsonb,然后重新打包压缩包。

进入网站目录,上传打包好的压缩包并解压。

登录 SSH,进入站点根目录

1
cd /opt/1panel/apps/openresty/openresty/www/sites/<YourSite>/index

执行以下命令:

1
2
chmod +x install.sh
./install.sh

按照提示输入相关信息。

数据库配置:

  • 数据库类型:PostgreSQL 10+
  • 数据库地址:172.18.0.1 / 1Panel-postgresql-XXXX(1panel PgSQL容器地址或者容器名称。推荐使用容器名称)
  • 数据库端口:5432
  • 数据库名称:lskypro(你之前创建的数据库名)

然后脚本会检测运行用户。基本不会出错,直接回车即可。怕出错可以查看ID,例如,id debian,检查是否是1000。

# 配置伪静态

在 1panel 的网站设置界面,将运行目录设置为 /public ,顺带重新保存一下用户组为1000,确保文件权限正常。

如图:

设置好这两项
设置好这两项

然后配置伪静态2:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
location / {
    try_files $uri $uri/ /index.php?$query_string;
}

location ~ ^/livewire {
    expires off;
    try_files $uri $uri/ /index.php?$query_string;
}

location ~ .*\.(jpg|jpeg|webp|avif|bmp|gif|png|tif|tiff|jp2|j2k|jpf|jpm|jpg2|j2c|jpc|jpx|heic|heif)$ {
    try_files $uri $uri/ /index.php?$query_string;
}

# 配置队列

进入PHP根目录,一般是 /opt/1panel/apps/local/php8/<sitename> 。进入 supervisor/supervisor.d 目录,创建一个新的配置文件,例如 lskypro.ini,内容如下3

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
[program:lsky-pro-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /www/sites/<YourSite>/index/artisan queue:work
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/www/sites/<YourSite>/index/storage/logs/queue.log
stopwaitsecs=3600

相关配置解释:

  • command:执行的命令,确保路径正确。
  • user:运行用户,这里设置为 www-data,你可以根据实际情况修改。
  • stdout_logfile:日志文件路径,确保路径正确。

保存后,执行以下命令重新加载配置:

1
2
3
4
5
6
7
# 进入PHP容器
docker exec -it <1Panel-php8> bash

# 重启 Supervisor
supervisorctl reread \
&& supervisorctl update \
&& supervisorctl start "lsky-pro-worker:*"

# 完成

如此,就完成了 LskyPro 企业版 v2 的安装和配置。直接访问网站即可。

# 参考

使用 Hugo 构建
主题 StackJimmy 设计