1panel 面板怎么部署 OneNav
照这篇做完,你能在 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 端口在安全组里放行,否则验证会失败。
第五步:出问题先查这三处
- 打不开页面:先看容器/运行环境是不是「已启动」,再看云厂商安全组和 1Panel「防火墙」里端口有没有放行。
- 报 500 或提示扩展缺失:回到运行环境里补勾
sqlite3、pdo_sqlite,改完点「重启」。 - 后台登录后样式错乱:多半是伪静态没生效,重新检查「配置」→「伪静态」里的规则是否保存成功。
小结
- 1Panel 装 OneNav 两条路:应用商店一键装最省事,手动「PHP 运行环境 + 网站」更可控。
- PHP 版本用 7.4 或 8.0,扩展必须有
sqlite3、pdo_sqlite。 - 应用商店安装时勾「端口外部访问」;手动部署时执行
chown -R 1000:1000改权限。 - 域名解析到位、80 端口放行,才能申请 Let's Encrypt 证书并强制 HTTPS。
- 打不开先查容器状态,再查安全组和防火墙,最后看伪静态。
原文链接:https://www.gj0.com/thread-227.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。