TwoNav
TwoNav 是一款开源的书签(导航)管理程序,界面简洁,安装简单,使用方便,基础功能免费。TwoNav可帮助你将浏览器书签集中式管理,解决跨设备、跨平台、跨浏览器之间同步和访问困难问题,做到一处部署,随处访问。
* **演示站** : [http://two.lm21.top](http://two.lm21.top/)
* **仅供体验,定期清理数据** 账号密码`admin`
### [作者声明](https://docs.twonav.cn/#/?id=%e4%bd%9c%e8%80%85%e5%a3%b0%e6%98%8e)
* 本程序没有二开版、除了下面的项目地址均为盗版。
* 使用盗版软件存在法律风险且没有任何保障。
* 未经许可禁止用于商业用途、转载请保留作品出处。
### [项目由来](https://docs.twonav.cn/#/?id=%e9%a1%b9%e7%9b%ae%e7%94%b1%e6%9d%a5)
起初只是搭建一个自己的书签站、网上找了一圈看中了小z的OneNav。
因功能无法满足我,开始基于ONeNav各种魔改、然后就有了OneNav Extend、这个名字还是小z给取的。
后来和小z都开始收费后、由于用户容易搞混等各种原因、于是我重写代码并改名为TwoNav。
其中一些OneNav的特色依旧是保留下来、并兼容OneNav的一些插件。
### [项目地址](https://docs.twonav.cn/#/?id=%e9%a1%b9%e7%9b%ae%e5%9c%b0%e5%9d%80)
* [https://gitee.com/tznb/TwoNav](https://gitee.com/tznb/TwoNav)
* [https://github.com/tznb1/TwoNav](https://github.com/tznb1/TwoNav)
### [技术支持](https://docs.twonav.cn/#/?id=%e6%8a%80%e6%9c%af%e6%94%af%e6%8c%81)
* 技术支持QQ: 271152681
* 授权版QQ群: 695720839
* 免费版QQ群: 621815595
### [运行环境](https://docs.twonav.cn/#/?id=%e8%bf%90%e8%a1%8c%e7%8e%af%e5%a2%83)
* PHP: 7.3 - 8.2
* 数据库: SQLite3 或 MySQL > 5.6.0
# [下载安装](https://docs.twonav.cn/#/books/start-02?id=%e4%b8%8b%e8%bd%bd%e5%ae%89%e8%a3%85)
---
### [环境要求](https://docs.twonav.cn/#/books/start-02?id=%e7%8e%af%e5%a2%83%e8%a6%81%e6%b1%82)
* Web:`Nginx` `Apache`
* PHP:`PHP ≥7.3`
* 数据库:`SQLite` `MySQL ≥ 5.6.0` `MariaDB ≥ 10.1`
* 推荐环境: `Nginx` `PHP 8.2` `SQLite`
### [项目地址](https://docs.twonav.cn/#/books/start-02?id=%e9%a1%b9%e7%9b%ae%e5%9c%b0%e5%9d%80)
* [国内] Gitee:[https://gitee.com/tznb/TwoNav](https://gitee.com/tznb/TwoNav)
* [国外] GitHub:[https://github.com/tznb1/TwoNav](https://github.com/tznb1/TwoNav)
### [如何下载](https://docs.twonav.cn/#/books/start-02?id=%e5%a6%82%e4%bd%95%e4%b8%8b%e8%bd%bd)
1. 进入[TwoNav - 发行版本](https://gitee.com/tznb/TwoNav/releases) (也可以从项目地址进入)
2. 点击 `TwoNav_v2.X.X-2024XXXX.zip` (以实际版本为准、在这下载不需要登录Gitee)
### [如何安装](https://docs.twonav.cn/#/books/start-02?id=%e5%a6%82%e4%bd%95%e5%ae%89%e8%a3%85)
1. 将下载安装包解压到你的网站根目录,如`/www/wwwroot/example.com/` (以实际为准)
2. 访问您的域名会自动进入安装页面,如`http://example.com` (以实际为准)
3. 输入你喜欢的账号密码和邮箱,配置好数据库 (SQLite则不需要配置)
4. 点击开始安装即可,如有遇到问题则根据提示解决
5. 此为免费版系统,授权用户填写授权信息即可更新到对应的授权版
### [数据库选择](https://docs.twonav.cn/#/books/start-02?id=%e6%95%b0%e6%8d%ae%e5%ba%93%e9%80%89%e6%8b%a9)
* SQLite 轻量化/基于文件/方便迁移/内存占用低/兼容好,并发性能较弱/适合个人轻量化使用
* MySQL 性能更强/对内存的消耗也更大/需额外安装,适合数据较多访问量较大的时使用
* **安装后不支持更改数据库类型**
### [注意事项](https://docs.twonav.cn/#/books/start-02?id=%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a1%b9)
* 安装的时的初始信息储存在您的服务器上,密码是加密储存
* 账号默认为站长权限,请妥善保存 ( 遗忘可使用ATool工具箱重置 )
* 域名请自行解析到您的服务器,此为基础知识不展开说明
* 确保相关端口是放行状态,此为基础知识不展开说明
* 权限问题导致无法安装/无法更新等 `宝塔、Oneinstack、LNMP的站点用户均为www权限为755,可通过ls -l 查看`
### [宝塔安装](https://docs.twonav.cn/#/books/start-02?id=%e5%ae%9d%e5%a1%94%e5%ae%89%e8%a3%85)
1. 安装好宝塔面板,安装Nginx 1.2,安装PHP-8.2 `若只是安装本程序则无需安装数据库和FTP服务`
2. 在左侧菜单栏点击网站>添加站点>输入您的域名>点击提交 `FTP和数据库默认不创建,PHP版本选择PHP-82`
3. 点击您站点的根目录>将安装包上传到根目录>双击压缩包或右键选择解压>点击解压
4. 检查权限/所有者是否为 `755/www`,若不是则全选将权限设为755/www/应用到子目录并确定
5. 访问您的域名在页面上完成安装即可
6. [伪静态配置](https://docs.twonav.cn/#/books/start-04)
### [1Panel安装](https://docs.twonav.cn/#/books/start-02?id=_1panel%e5%ae%89%e8%a3%85)
1. 安装好1Panel面板 `以下步骤未提及的参数保持默认即可`
2. 应用商店 > (全部)Web服务器> 安装OpenResty > 确认
3. 网站 > 运行环境 > 创建运行环境 > 名称输入PHP82 > 应用选择PHP8 8.2.X > 扩展输入`intl` 回车 `gd`回车 > 确认
4. 网站 > 创建网站 > 运行环境 > 在主域名输入您的域名 > 确认 `类型:PHP | 环境:PHP82`
5. 点击网站目录的文件夹图标可进入站点目录 > 进入index目录 > 上传安装包并解压 `右侧操作点击解压>确认`
6. 重要: 1Panel解压后默认的运行用户/组为ROOT, 会导致权限问题,按7步设置
7. 回到网站 > 点击对应网站的配置 > 网站目录 >点击保存 `用户和用户组默认即可`
8. 主机 > 防火墙 > 创建端口规则 > 端口输入`80` > 确认
9. 访问您的域名在页面上完成安装即可
### [Docker安装](https://docs.twonav.cn/#/books/start-02?id=docker%e5%ae%89%e8%a3%85)
```
docker run -d --name=twonav --restart=always \
-p 8088:80 \
-v /www/docker/twonav:/www \
tznb/twonav:latest
```
* `--name=twonav` 为容器指定名称为`twonav`
* `--restart=always` 当容器退出时,总是重新启动容器
* `8088` **外部访问端口** 可替换成未被占用的端口
* `80` 内部端口,**请勿修改**
* `/docker/twonav` **挂载目录,请替换成您的路径**`注意大小写!`
* `/www` 是容器内目录 **请勿修改**
* Docker内环境: `Nginx 1.18` `PHP 7.3`
* **部署后访问您的站点即可在线安装**
### [无法拉取镜像 ?](https://docs.twonav.cn/#/books/start-02?id=%e6%97%a0%e6%b3%95%e6%8b%89%e5%8f%96%e9%95%9c%e5%83%8f-)
* 受限于国内的政策和网络问题可能会导致您无法成功拉取镜像
* 1.尝试使用下方命令部署
* 2.自行配置镜像加速地址
* 3.联系技术支持提供离线镜像包
```
docker run -d --name=twonav --restart=always \
-p 8088:80 \
-v /www/docker/twonav:/www \
docker.ketches.cn/tznb/twonav:latest
```
### [Docker-compose安装](https://docs.twonav.cn/#/books/start-02?id=docker-compose%e5%ae%89%e8%a3%85)
```
version: '3'
services:
twonav:
image: tznb/twonav:latest
container_name: twonav
restart: always
ports:
- "8088:80"
volumes:
- /www/docker/twonav:/www
```
### [群晖 Docker安装](https://docs.twonav.cn/#/books/start-02?id=%e7%be%a4%e6%99%96-docker%e5%ae%89%e8%a3%85)
* 视频教程 [https://www.bilibili.com/video/BV1oASMY2EYo/](https://www.bilibili.com/video/BV1oASMY2EYo/)
1. 套件中心安装 `Container Manager` 如已安装请忽略
2. 打开 `Container Manager` > `注册表` > 搜索 `tznb/twonav` > 双击下载 > 应用 `默认latest标签即可`
3. 若注册表无法正常使用/下载可以尝试使用SSH链接到群晖 执行拉取镜像 `docker pull tznb/twonav:latest`
4. 返回映像 > 找到刚下载的映像 > 运行
5. 容器名称自己定义,如`twonav` > 勾选 `启用自动重新启动` > 下一步
6. 本地端口输入一个未被使用的端口,如 `8088` > 添加文件夹 > 选择用于存放程序的目录, 如`/docker/twonav`
7. 挂载目录输入 `/www` > 下一步 > 完成
8. 访问 `http://IP:8088` `改成您群晖的IP和第6步输入的端口`
9. 若网络正常会显示在线安装按钮 > 点击在线安装 > 选择主线路或备线路
10. 下载完成后会自动跳转到安装页面,输入初始信息完成安装即可
* 无法在线安装时可以手动下载安装包上传并解压到挂载目录
* 你可以通过反代或Web Station门户来实现域名访问和部署HTTPS
* 若无法完成映像下载则可能需要魔法或者使用Web Station安装
* 群晖的安装方式比较多样化,这里不展开细说
### [群晖 Web Station安装](https://docs.twonav.cn/#/books/start-02?id=dsm)
* 不推荐使用此环境运行、容易遇到权限问题
1. 套件中心安装 `Web Station` 和 `PHP 8.2`
2. 控制面板 > 共享文件夹 > web > 编辑 > 权限 > 将本地用户改成本地群组 > 将http改为可读写 > 保存
3. 控制面板 > 用户与群组 > 编辑当前账号 > 用户群组 > 勾选http > 保存
4. 在web目录创建twonav目录 > 将下载的安装包上传到此 > 右键选择`解压缩` > `解压缩至此目录`
5. 打开 `Web Station` > `脚本语言设置` > 编辑`Default Profile` > 扩展名勾选: `curl、gd、intl、openssl、pdo_sqlite、phar、sqlite3、zlib` > 保存 `也可以全选`
6. 在`Web Station` > `网页服务` > `新增` > `本机脚本语言网站` > `PHP 8.2 / Default Profile` > 下一步
7. 名称和描述输入 `twonav` > 文档根目录 > `浏览` > `web/twonav` > 后端服务器 > `Nginx` > 下一步 > 新增 `权限提示点确定`
8. 在文件管理对`web/twonav` > 右键属性 > `权限` > `高级选项` > `使继承权限显式化` > http组编辑 > `勾选全部权限` > 完成 > `应用到这个文件夹、子文件夹及文件` > 保存
9. 回到`网络门户` > `新增` > `网页服务门户` > 服务选择刚创建的`twonav`
10. 门户类型按需选择、这里以基于端口为例、勾选HTTP > 端口输入`8088` > `新增`
11. 访问您的域名或IP加端口号、如`http://192.168.1.100:8088`
* 如果需要使用伪静态则需将后端服务器改为Apache
* 更新时提示: `释放更新包失败,请检查权限` 如何解决:
* 严格安装上叙步骤操作,重复第8步操作
* 将PHP扩展名全选保存、将`web/twonav`的`拥有者改成http`勾选下面的`应用到这个文件夹、子文件夹及文件`保存
* 如果还是不行, 建议改用docker安装
### [视频教程](https://docs.twonav.cn/#/books/start-02?id=%e8%a7%86%e9%a2%91%e6%95%99%e7%a8%8b)
* 从安装宝塔面板开始到安装TwoNav [https://www.bilibili.com/video/BV1g7yrYUEcd/](https://www.bilibili.com/video/BV1g7yrYUEcd/)
* 从安装1panel面板开始到安装TwoNav [https://www.bilibili.com/video/BV1S7yrYmEsg/](https://www.bilibili.com/video/BV1S7yrYmEsg/)
### [在线安装方法](https://docs.twonav.cn/#/books/start-02?id=%e5%9c%a8%e7%ba%bf%e5%ae%89%e8%a3%85%e6%96%b9%e6%b3%95)
* 用于无法正确设置权限时使用、例如威联通自带的Web服务实际运行进程是httpdusr用户(组)、但权限设置里却没有这个用户(组)
* 下载安装脚本: [http://n1.lm21.top/install/install.php](http://n1.lm21.top/install/install.php)
* 将脚本上传到站点根目录下并访问 `http://您的域名/install.php` 根据页面指引进行在线安装
> https://docs.twonav.cn/#/