• vinye

    1panel的安装教程有吗?

    主题标签1Panel安装教程
    主楼
  • one

    正在部署1Panel。
    PHP+MySQL就可以了

    #1
  • vinye

    下载一个安装包丢到网站目录?让域名访问?

    #3
  • one

    你得先装环境啊。至少PHP吧+SQLite吧
    问下AI,几分钟

    #5
  • flinthub

    不懂的就问ai

    #2
  • bbs1org

    1Panel(非 Docker)手动部署 bbs1.org(bbs1org)完整教程

    bbs1org 是极简 PHP 论坛,PHP8.1+,支持 SQLite / MySQL / PostgreSQL,无 Composer 依赖,不需要 docker 容器,直接使用 1Panel 的 PHP 运行时 + OpenResty (Nginx) 部署。
    官方开发文档:https://bbs1.org/dev_docs

    ⚠️说明:1Panel 本体安装会自带 docker 组件,本教程只是不使用 docker 容器运行 bbs1org 程序,使用原生 PHP 网站运行时部署,不是卸载 docker。

    一、前置环境准备(1Panel 后台操作)

    1. 安装基础组件【应用商店】

    1. 登录你的 1Panel 后台
    2. 进入「应用商店」
    • 安装 OpenResty(web 服务 Nginx),保持默认配置
    • 数据库三选一:
    • 方案 A:MySQL/MariaDB(推荐生产使用)
    • 方案 B:PostgreSQL(官方完整支持)
    • 方案 C:SQLite,不需要额外安装数据库服务(适合测试,文件型数据库)
    1. 创建 PHP 运行时:菜单【网站】→【PHP 运行时】→【创建运行时】
    • PHP 版本:必须选择 PHP 8.1 / 8.2(bbs1org 最低要求 PHP8.1)
    • 扩展模板:选择【自定义】,务必勾选下面扩展:

    pdo_mysql / pdo_pgsql / pdo_sqlite、mbstring、curl、zip、gd、fileinfo、opcache

    • 内存限制建议设置 128M,执行时间 120s,确认创建。

    SQLite 不需要数据库服务,只要开启pdo_sqlitePHP 扩展即可。

    2. 数据库准备(MySQL / PostgreSQL 才需要;SQLite 跳过本节)

    1. 左侧菜单【数据库】,进入对应数据库(MySQL/PostgreSQL)
    2. 点击【创建数据库】
    • 数据库名:bbs1org
    • 字符集:utf8mb4,排序规则utf8mb4_unicode_ci
    • 创建独立数据库账号,只赋予本库权限,保存数据库名、账号、密码。

    ⚠️数据库监听地址保持127.0.0.1,不要对外开放 3306/5432 公网端口。

    二、创建网站站点

    1Panel 菜单【网站】→【网站】→【创建网站】

    • 网站类型:PHP 运行时(重点!不要选容器)
    • 域名:填写你的域名(例如 bbs.example.com,没有域名填服务器公网 IP)
    • PHP 运行时:选择刚才创建好的 PHP‑8.1 运行实例
    • 网站根目录:/www/wwwroot/bbs1org
    • SSL:有域名建议后续申请 Let’s Encrypt 证书开启 HTTPS。
    • 点击确认创建站点。

    进入网站设置,PHP 设置确认所有需要的扩展全部启用。

    三、下载 bbs1org 源码,上传到网站目录

    方式 1:1Panel 终端命令下载(推荐)

    点击网站右侧【终端】,进入站点根目录 /www/wwwroot/bbs1org

    #下载源码(以官方main分支为例)
    curl -L -o bbs1org-main.zip https://github.com/bbs1org/bbs1org/archive/refs/heads/main.zip
    unzip bbs1org-main.zip
    #把文件全部移动到网站根目录
    mv bbs1org-main/* ./
    rm -rf bbs1org-main bbs1org-main.zip

    方式 2:本地下载后通过 1Panel【文件】管理器上传

    1. github 下载 zip 源码包:https://github.com/bbs1org/bbs1org
    2. 上传 zip 到网站根目录,面板内解压,将内部所有文件移到根目录,不要套一层子文件夹。

    设置目录权限(关键,否则读写报错)

    在网站终端执行:

    chown -R www:www /www/wwwroot/bbs1org
    chmod -R 755 /www/wwwroot/bbs1org
    # data目录必须可写,存放sqlite数据库、缓存、插件数据
    chmod -R 770 /www/wwwroot/bbs1org/data

    data目录是程序数据目录,sqlite 数据库文件、插件缓存全部存这里,禁止浏览器直接访问 data 文件夹,源码自带 nginx 规则会拦截。

    四、Nginx 伪静态配置(1Panel 网站设置)

    打开网站 →【配置】→【Nginx 配置】,把下面伪静态规则放到 server { } 内部,替换原有 location 规则。

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    location ~ ^/data/ {
        deny all;
        return 403;
    }
    
    location ~ \.php$ {
        fastcgi_pass php;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    保存配置,重载 OpenResty 配置,检查配置无报错。

    入口文件是index.php,不要修改文件名,不要把程序放在子目录。

    五、访问网页完成安装向导

    浏览器访问你的域名 / IP,进入安装向导页面 https://bbs.example.com

    1. 环境检测页面:确认全部绿色通过,PHP 版本 >=8.1,所有 PDO 扩展、目录可写全部 ok。
    2. 数据库配置:
    • SQLite 模式:直接选 SQLite,无需账号密码,数据库文件自动生成在data/db.sqlite
    • MySQL 模式:数据库地址填127.0.0.1,数据库名、用户名、密码填写 1Panel 数据库创建的信息,端口默认 3306
    • PostgreSQL 模式:地址127.0.0.1,端口 5432,填写库名账号密码
    1. 设置超级管理员账号密码、站点名称、站点访问 URL(完整带 https)。
    2. 提交执行安装,程序自动生成数据表。
    3. 安装完成,记录后台管理地址,登录后台。

    ✅安装完成后,后台进入「插件」页面,点击【同步插件】,系统扫描app/plugins目录插件。

    六、计划任务 Cron 配置(重要,队列 / 采集 / 定时任务)

    bbs1org 依赖定时任务执行 cron 钩子、消息队列、清理缓存,不要依赖网页访问触发任务。
    1Panel 菜单【计划任务】→【创建任务】

    • 任务类型:Shell 脚本
    • 执行周期:每 1 分钟
    • 脚本内容(替换路径为你的真实网站目录):
    cd /www/wwwroot/bbs1org
    /usr/bin/php index.php cron

    保存启用任务。

    确认 php 路径,你可以在终端执行which php获取真实 php 路径,替换脚本中的/usr/bin/php。

    七、安全与后续优化清单

    1. 网站后台:设置站点 URL,确认DATA_DIR、PLUGIN_DIR常量正常,全部数据写在data目录,不要硬编码路径。
    2. 文件管理器确认data目录不能被公网下载,Nginx 已经 deny /data。
    3. 开启 HTTPS,全部访问跳转 https。
    4. PHP 开启 opcache,提升性能。
    5. 定期在 1Panel 设置网站目录备份(备份整个网站目录 + MySQL 数据库)。
    6. 更新程序:下载新版本源码覆盖文件,访问后台插件页面同步插件。

    常见排错

    1. 500 错误:查看网站日志,确认 PHP 版本是 8.1+;目录属主是www:www;data 目录可写。
    2. 数据库连接失败:MySQL 确认账号 host 是127.0.0.1,不要用%;确认数据库用户有对应库权限。
    3. 定时任务不工作:核对 php 的绝对路径;确认脚本 cd 进入网站根目录执行index.php cron。
    4. 插件安装不生效:安装插件后,后台插件页面必须点【同步插件】;插件目录权限 www 可读写;plugin.php 头部必须有if (!defined('APP_ROOT')) exit;。
    5. SQLite 大数据性能差,正式运营建议切换 MySQL。

    开发插件提示

    插件目录位置:/www/wwwroot/bbs1org/app/plugins/你的插件id/,插件开发规范参考官方文档 https://bbs1.org/dev_docs,禁止循环内数据库查询 N+1 问题,插件 id 全部小写,资源全部带插件 ID 前缀避免冲突。

    #4

发表回复

登录后回复