Linux系统之安装OneNav个人书签管理器
Linux系统之安装OneNav个人书签管理器
- 一、OneNav介绍
- 1.OneNav简介
- 2.OneNav特点
- 二、本地环境介绍
- 2.1 本地环境规划
- 2.2 本次实践介绍
- 三、检查本地环境
- 3.1 检查本地操作系统版本
- 3.2 检查系统内核版本
- 3.3 检查本地yum仓库状态
- 四、安装httpd服务
- 4.1 安装httpd
- 4.2 启动httpd服务
- 4.3 设置防火墙和selinux
- 4.4 测试httpd服务
- 五、安装SQLite3
- 5.1 安装SQLite3
- 5.2 检查SQLite3版本
- 六、安装php服务
- 6.1 安装remi的yum源
- 6.2 安装php工具
- 6.3 编辑info.php测试文件
- 6.3 重启hhtpd服务
- 6.4 查看php安装状态
- 七、安装OneNav
- 7.1 下载OneNav源码包
- 7.2 设置目录权限
- 7.3 重启httpd服务
- 八、访问OneNav后台
- 8.1 设置登录密码
- 8.2 登录OneNav后台
- 九、添加自定义网址
- 9.1 添加网址
- 9.2 访问前台页面
- 9.3 测试访问添加网址
一、OneNav介绍
1.OneNav简介
OneNav是一款使用PHP + SQLite 3开发的导航/书签管理器,支持Material Design风格,界面简洁,使用方便。
2.OneNav特点
- 支持后台管理
- 支持私有链接
- 支持多种主题风格(默认内置2套模板)
- 支持链接信息自动识别
- 支持API
- 支持右键菜单管理
二、本地环境介绍
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为centos7.6。
hostname | IP地址 | 操作系统版本 | 内核版本 | PHP版本 |
---|---|---|---|---|
jeven | 192.168.3.166 | centos 7.6 | 3.10.0-957.el7.x86_64 | 7.4.33 |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境;
2.在centos7.6环境下部署OneNav个人书签管理器。
三、检查本地环境
3.1 检查本地操作系统版本
检查本地操作系统版本
[root@jeven ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
3.2 检查系统内核版本
检查系统内核版本
[root@jeven ~]# uname -r
3.10.0-957.el7.x86_64
3.3 检查本地yum仓库状态
- 配置阿里云的镜像源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
- 检查本地yum仓库状态
[root@jeven yum.repos.d]# yum repolist all |grep enable
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com enabled: 10,072
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com enabled: 515
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com enabled: 4,996
四、安装httpd服务
4.1 安装httpd
使用使用yum安装httpd
yum install httpd -y
4.2 启动httpd服务
- 启动httpd服务并使开机自启
systemctl enable --now httpd
- 检查httpd服务状态
[root@jeven ~]# systemctl status httpd
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)Active: active (running) since Tue 2023-08-22 20:02:24 CST; 6s agoDocs: man:httpd(8)man:apachectl(8)Main PID: 21710 (httpd)Status: "Processing requests..."Tasks: 6Memory: 2.9MCGroup: /system.slice/httpd.service├─21710 /usr/sbin/httpd -DFOREGROUND├─21711 /usr/sbin/httpd -DFOREGROUND├─21712 /usr/sbin/httpd -DFOREGROUND├─21713 /usr/sbin/httpd -DFOREGROUND├─21714 /usr/sbin/httpd -DFOREGROUND└─21715 /usr/sbin/httpd -DFOREGROUNDAug 22 20:02:24 jeven systemd[1]: Starting The Apache HTTP Server...
Aug 22 20:02:24 jeven systemd[1]: Started The Apache HTTP Server.
4.3 设置防火墙和selinux
- 防火墙设置,关闭防火墙。
systemctl stop firewalld && systemctl disable firewalld
- 防火墙设置,当需要开启防火墙的时候,可以放行80端口。
firewall-cmd --zone=public --permanent --add-port=80/tcpfirewall-cmd --reload
- 关闭selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
getenforce
4.4 测试httpd服务
在本地浏览器,访问http://192.168.3.166/,实际请将IP替换为自己服务器的IP地址。
网站内容可以正常打开,表示httpd服务是正常的。
五、安装SQLite3
5.1 安装SQLite3
使用yum安装SQLite3
sudo yum install sqlite sqlite-devel
5.2 检查SQLite3版本
检查SQLite3版本
[root@jeven ~]# sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
六、安装php服务
6.1 安装remi的yum源
安装remi的yum源
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
6.2 安装php工具
直接yum安装php7.4版本及其模块组件。
yum install -y --showduplicate --enablerepo=remi --enablerepo=remi-php74 php-fpm php php-cli php-bcmathphp-gd php-json php-mbstring php-mcrypt php-mysqlnd php-opcache php-pdo php-pecl-crypto php-pecl-mcrypt php-pecl-geoip php-recode php-snmp php-soap php-xml php-pecl-zip
6.3 编辑info.php测试文件
编辑info.php测试文件
[root@jeven ~]# cat /var/www/html/info.php
<?php
phpinfo();
?>
6.3 重启hhtpd服务
重启hhtpd服务
systemctl restart httpd
6.4 查看php安装状态
在浏览器,http://192.168.3.166/info.php,将IP地址替换为自己服务器IP地址。
出现以下页面,表示php安装正常。
七、安装OneNav
7.1 下载OneNav源码包
- 下载OneNav源码包
git clone https://github.com/helloxz/onenav.git
- 复制OneNav内容到/var/www/html/
cp -r ./onenav/* /var/www/html/
7.2 设置目录权限
设置网站目录权限
chown -R apache:apache /var/www/html/
7.3 重启httpd服务
再次重启httpd服务
systemctl restart httpd
八、访问OneNav后台
8.1 设置登录密码
访问地址:http://192.168.3.166/,将IP地址替换为自己服务器IP地址。
自定义设置用户名密码,这里设置admin账号。
8.2 登录OneNav后台
访问地址:http://192.168.3.166/index.php?c=login
将以上访问地址替换为自己服务器地址,填写自己设置的用户名密码。
九、添加自定义网址
9.1 添加网址
在后台管理页面,链接管理中,选择添加链接。
填写网址信息
9.2 访问前台页面
访问前台页面:http://192.168.3.166/
将IP地址替换为自己服务器的IP地址
9.3 测试访问添加网址
打开刚才添加的网址,正常打开网址,表示部署成功。
相关文章:

Linux系统之安装OneNav个人书签管理器
Linux系统之安装OneNav个人书签管理器 一、OneNav介绍1.OneNav简介2.OneNav特点 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本3.3 检查本地yum仓库状态 四、安装httpd服务4.1 安装httpd4.2 启动httpd服务4…...

主程技术分享: 游戏项目帧同步,状态同步如何选
网络游戏开发项目中帧同步,状态同步如何选? 网络游戏的核心技术之一就是玩家的网络同步,主流的网络同步有”帧同步”与”状态同步”。今天我们来分析一下这两种同步模式。同时教大家如何在自己的项目中采用最合适的同步方式。接下来从以下3个方面来阐述: 对啦&…...

ChatGPT-4: 半年的深度使用思考
几个月的时间一直在使用 ChatGpt-4,以口述语音转文字的形式说一下自己的体会。 1、选择版本 大前提:我使用的都是 GPT4 的版本。也就是说至少每个月要付费20$。 因为 3.5 的版本,实际上使用体验是非常差的,主要体现在答非所问上。…...

【健康医疗】Axure用药提醒小程序原型图,健康管理用药助手原型模板
作品概况 页面数量:共 20 页 兼容软件:Axure RP 9/10,不支持低版本 应用领域:健康管理,用药助手 作品申明:页面内容仅用于功能演示,无实际功能 作品特色 本作品为「用药提醒」小程序原型图…...
ERROR in static/js/xxx.js from UglifyJs
老项目用的webpack3,打包的时候遇到**ERROR in static/js/xxx.js from UglifyJs**这个报错, UglifyJS是个包含JS解释器、代码最小化、压缩、美化的工具集,是前端开发打包的最常用工具之一,只支持ES5,不支持ES6&#x…...

阿里云ECS服务器安装PostgreSQL
1. 概述 PostgreSQL是一个功能强大的开源数据库,它支持丰富的数据类型和自定义类型,其提供了丰富的接口,可以自行扩展其功能,支持使用流行的编程语言编写自定义函数 PostgreSQL数据库有如下优势: PostgreSQL数据库时…...

【核磁共振成像】傅里叶重建
目录 一、傅里叶重建二、填零三、移相四、数据窗函数五、矩形视野六、多线圈数据重建七、图像变形校正八、缩放比例九、基线校准 长TR,长TE,是T2加权像; 短TR,短TE,是T1加权像; 长TR,短TE&#…...
Camunda 工作流节点跳转 - 多实例节点判断和跳转
在多种工作流引擎中,Camunda框架对流程的处理控制更为强大、灵活。 在应对流程节点按业务需要进行自由跨节点跳转的需求时,通过代码自由控制节点的跳转在Camunda中是支持的,并且提供了编码方法,其中多实例的处理上有一些区别要特…...

MySQL不停重启问题
MySQL不停的自动杀掉自动重启 看一下log日志 my.cnf 里配置的 log_error /var/log/mysqld.log vim /var/log/mysqld.log 报的错误只是 [ERROR] Cant start server: Bind on TCP/IP port: Address already in use [ERROR] Do you already have another mysqld server …...

ol-cesium 暴露 Cesium viewer 对象以及二三维切换、viewer 添加点功能示例
ol-cesium 暴露 Cesium viewer 对象以及二三维切换、viewer 添加点功能示例 核心代码完整代码在线示例 二三维一体化的概念一直都比较火热,虽然大多数都是狭义的概念,但是很多需求方也想要这样的功能。 Openlayers 官方出了一个二三维一体化的工具&…...

国产化-达梦数据库安装2
目录 DM8数据库下载地址 安装一路狂飙next 启动服务 随着国家政府的推广、越来越多的政府项目、在系统部署需要采购国产服务器、数据库等 DM8数据库下载地址 https://eco.dameng.com/download/ 安装一路狂飙next windos安装比较简单直接next即可 仅仅记录几个关键疑问地方k…...

延长OLED透明屏的使用寿命:关键因素与有效方法分享
OLED透明屏作为一项创新的显示技术,具备透明度和高清晰度的特点,在各个领域得到了广泛应用。 然而,为了确保OLED透明屏的持久性和稳定性,延长其使用寿命是至关重要的。根据最新的研究和数据报告, 在这篇文章中&#…...
域名是指哪一部分?
域名是指互联网中用于识别和定位网站的地址。它是由多个部分组成的,每个部分都具有特定的含义和功能。下面是有关域名各个部分的解释。 顶级域名(Top-Level Domain,TLD): 顶级域名是域名的最高级别部分,通常…...

MPP 还是主流架构吗
MPP 架构: MPP 架构的产品: Impala ClickHouse Druid Doris 很多 OLAP 引擎都采用了 MPP 架构 批处理系统 - 使用场景分钟级、小时级以上的任务,目前很多大型互联网公司都大规模运行这样的系统,稳定可靠,低成本。…...

ubuntu查看网速
使用speedomster测试网速 sudo apt-get install speedometer 查询需要测速的网卡 speedometer -r ens33 -t ens33 -r: 指定网卡的接收速度 -t: 指定网卡的发送速度 使用nload测试 sudo apt-get install nload 测速 nload -t 200 -i 1024 -o 128 -U M 参数含义࿰…...
【官方中文文档】Mybatis-Spring #使用 MyBatis API
使用 MyBatis API 使用 MyBatis-Spring,你可以继续直接使用 MyBatis 的 API。只需简单地使用 SqlSessionFactoryBean 在 Spring 中创建一个 SqlSessionFactory,然后按你的方式在代码中使用工厂即可。 public class UserDaoImpl implements UserDao {//…...
go gorm belong to也就是多对一的情况
多位员工属于同一个公司,一个公司包含多个人,关系放在多的那一部分 belongs to 会与另一个模型建立了一对一的连接。 这种模型的每一个实例都“属于”另一个模型的一个实例。 例如,您的应用包含 user 和 company,并且每个 user 能…...

亚马逊云科技 云技能孵化营——机器学习心得
亚马逊云科技 云技能孵化营机器学习心得 前言什么是机器学习?机器学习如何解决业务问题?什么时候适合使用机器学习模型?总结 前言 很荣幸参加了本次亚马逊云科技云技能孵化营,再本期的《亚马逊云科技云技能孵化营》中,…...

Django实现音乐网站 ⒀
使用Python Django框架制作一个音乐网站, 本篇主要是推荐页-推荐排行榜、推荐歌手功能开发。 目录 推荐页开发 推荐排行榜 单曲表增加播放量 表模型增加播放量字段 执行表操作 模板中显示外键对应值 表模型外键设置 获取外键对应模型值 推荐排行榜视图 推…...

PySide6学习笔记--基础环境的安装配置
PySide6介绍 QT官方发布Qt6.0之后,紧接着于2020年12月10日发布了PySide 6,对应C版的Qt6。从PySide6开始,PySide的命名也会与Qt的大版本号保持一致。需要注意的是使用PySide6开发的程序在默认情况下,不兼容Windows7系统,…...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...

QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...