1panel 面板怎么部署 OneNav

liulian
liulian 正式会员超兽战士
发布于 2026-10-07 10:20 ·0 浏览 ·0 回复

照这篇做完,你能在 1Panel 面板上把 OneNav 书签导航跑起来,并绑定自己的域名、开启 HTTPS 正常访问。

OneNav 是一个 PHP 写的开源书签导航程序,默认用 SQLite 存数据,不需要单独装数据库。1Panel v1.x(本文界面以 v1.10 为例)部署它有两种路子:应用商店一键装,或者用「PHP 运行环境 + 网站」手动装。下面两种都写清楚,建议先试第一种。

第一步:登录 1Panel 并确认版本

这一步要拿到面板地址并进到首页,后面所有操作都在里面完成。

安装 1Panel(已装可跳过):

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

脚本跑完会打印「面板地址」「安全入口」「用户名」「密码」。浏览器打开形如 http://服务器IP:目标端口/安全入口字符串,用打印的账号登录。

注意:安全入口那串随机字符不能丢,丢了要在服务器上执行 1pctl user-info 重新查看。云服务器记得在厂商安全组放行面板端口。

第二步:方式一,应用商店一键安装 OneNav

这一步让 1Panel 自动拉镜像、建容器,几分钟后就能访问 OneNav 初始化页。

左侧菜单点「应用商店」,顶部搜索框输入 onenav,找到 OneNav 卡片,点右下角「安装」。弹窗里填:

  • 名称:onenav(自定义)
  • 版本:选列表里的最新版
  • PHP 版本:8.0 或 7.4(OneNav 要求 PHP 7.4 以上)
  • 数据库:默认 SQLite 即可,想用 MySQL 就先在「数据库」菜单里建好库再回来选
  • 端口:外部端口填 8088,并勾选「端口外部访问」

点「确认」,等状态变成「已启动」。浏览器访问 http://服务器IP:8088,出现 OneNav 初始化向导,设置管理员账号密码、站点名称,点「保存」即可进入后台。

注意:「端口外部访问」不勾选,容器端口不会映射到宿主机,外面永远打不开,这是新手最常踩的坑。

第三步:方式二,PHP 运行环境 + 网站手动部署

如果应用商店里搜不到 OneNav,或者你想自己控制源码目录,就走这条路。

先在「网站」→「运行环境」→「创建运行环境」建 PHP 环境:名称 onenav-php,应用选 PHP,版本 8.0,扩展里勾上 sqlite3、pdo_sqlite、fileinfo、mbstring,点「确认」等它变成「已启动」。

再建站:「网站」→「网站」→「创建网站」,类型选「运行环境」,主域名填你的域名(如 nav.example.com),运行环境选刚建的 onenav-php,点「确认」。1Panel 会自动生成目录 /opt/1panel/www/sites/nav.example.com/index。

然后把 OneNav 源码放进去。到 OneNav 的 GitHub Releases 页复制最新版 zip 链接(下面以 0.9.35 为例,换成你看到的最新版本号):

cd /opt/1panel/www/sites/nav.example.com/index
wget https://github.com/helloxz/onenav/releases/download/0.9.35/onenav-0.9.35.zip
unzip onenav-0.9.35.zip
chown -R 1000:1000 /opt/1panel/www/sites/nav.example.com/index

回到 1Panel,在这个网站那一行点「配置」→「伪静态」,粘进 Nginx 规则(具体以 OneNav 官方文档为准,通用写法如下),保存:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

然后浏览器打开域名,走一遍初始化向导,数据库类型选 SQLite,填管理员账号。

注意:chown -R 1000:1000 这步不能省,1Panel 的 PHP 容器以 uid 1000 运行,目录属主不对会一直报「无写入权限」。

第四步:绑域名、开 HTTPS

这一步把网站从 IP 访问升级成 https 访问。

在「网站」列表找到该站点,点「配置」→「域名管理」补全域名;再到「配置」→「HTTPS」,选「Let's Encrypt」,勾选自动续签,点「申请」。申请成功后打开「强制 HTTPS」。

注意:申请证书前域名必须已经解析到这台服务器,并且 80 端口在安全组里放行,否则验证会失败。

第五步:出问题先查这三处

  1. 打不开页面:先看容器/运行环境是不是「已启动」,再看云厂商安全组和 1Panel「防火墙」里端口有没有放行。
  2. 报 500 或提示扩展缺失:回到运行环境里补勾 sqlite3、pdo_sqlite,改完点「重启」。
  3. 后台登录后样式错乱:多半是伪静态没生效,重新检查「配置」→「伪静态」里的规则是否保存成功。

小结

  • 1Panel 装 OneNav 两条路:应用商店一键装最省事,手动「PHP 运行环境 + 网站」更可控。
  • PHP 版本用 7.4 或 8.0,扩展必须有 sqlite3、pdo_sqlite。
  • 应用商店安装时勾「端口外部访问」;手动部署时执行 chown -R 1000:1000 改权限。
  • 域名解析到位、80 端口放行,才能申请 Let's Encrypt 证书并强制 HTTPS。
  • 打不开先查容器状态,再查安全组和防火墙,最后看伪静态。
版权声明:本文来自 GJ站长论坛《1panel 面板怎么部署 OneNav》
原文链接:https://www.gj0.com/thread-227.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~