惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Stack Overflow Blog
Stack Overflow Blog
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
T
The Blog of Author Tim Ferriss
博客园 - 叶小钗
N
Netflix TechBlog - Medium
腾讯CDC
C
Check Point Blog
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
S
SegmentFault 最新的问题
F
Fortinet All Blogs
美团技术团队
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 司徒正美
F
Full Disclosure
Recorded Future
Recorded Future
D
DataBreaches.Net
博客园 - 【当耐特】
Martin Fowler
Martin Fowler
J
Java Code Geeks
I
InfoQ
Y
Y Combinator Blog
A
About on SuperTechFans
AI
AI
爱范儿
爱范儿
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Forbes - Security
Forbes - Security
W
WeLiveSecurity
M
MIT News - Artificial intelligence
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
Schneier on Security
Schneier on Security
The GitHub Blog
The GitHub Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
aimingoo的专栏
aimingoo的专栏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
G
GRAHAM CLULEY
Know Your Adversary
Know Your Adversary
Latest news
Latest news
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
D
Docker
Recent Commits to openclaw:main
Recent Commits to openclaw:main
量子位
V2EX - 技术
V2EX - 技术
Project Zero
Project Zero

Rat's Blog - 建站知识

189List:一个全新的天翼云网盘的目录列表程序,CTList升级版 - Rat's Blog TopDocs:一款美观实用的在线文档编辑系统,支持Markdown语法 - Rat's Blog 一个可以绑定多个OneDrive网盘的极简目录列表:OneList - Rat's Blog Shiori:一个简单、美观且带Web界面的书签管理器 - Rat's Blog 一个简单的PHP Web代理:miniProxy - Rat's Blog 一款开源,美观,带后台管理的网址导航工具:WebStack-Laravel - Rat's Blog 一款基于Web的免费在线矢量图(SVG)编辑工具:Method-Draw - Rat's Blog 使用宝塔面板安装Rocket.Chat多功能团队聊天室 - Rat's Blog Lstu:一款简单、美观的轻量级网址缩短程序 - Rat's Blog
Navi:一个开源、美观且可以部署在GitHub Pages的网站导航程序 - Rat's Blog
博主: Rat's · 2019-11-21 · via Rat's Blog - 建站知识

说明:BYR-Navi是一个开源、轻量使用Fomantic UI Web框架构建的网站导航程序,样式也非常美观,而且支持从N个站点直接搜索,我们既可以部署在自己的服务器上,又可以部署在GitHub Pages,后者无需服务器,这里水个稍微完整点的教程,有需求的可以搭建个玩玩。

截图

请输入图片描述
请输入图片描述

安装

演示地址:https://byr-navi.com

Github地址:https://github.com/BYR-Navi/BYR-Navi

1、安装Ruby

#导入密钥
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
#安装稳定版
curl -sSL https://get.rvm.io | bash -s stable
#载入RVM环境
source /etc/profile.d/rvm.sh
#安装Ruby 2.6.3
rvm install ruby 2.6.3
#设置为默认版本
rvm use 2.6.3 --default

导入期间出现使用No dirmngr报错的话,使用apt install dirmngr,然后重新导入即可。

2、安装Jekyll

gem install jekyll

3、安装BYR-Navi

#拉取源码
git clone https://github.com/BYR-Navi/BYR-Navi
#安装依赖
cd BYR-Navi
bundle i

如果第一步提示-bash: git: command not found,可以先使用命令:

#CentOS
yum -y install git
#Debian、Ubuntu
apt install git -y

然后修改配置文件_config.yml,对照原信息,自行修改导航标题,关键词等描述,更深层次的修改可参考官方文档→传送门

再进入_data文件夹,新增/修改大致导航网站链接,可参考上面的演示地址修改,最后还一个就是统计配置文件analytics.yml,这个需要我们额外安装Matomo,安装和配置可以提前看文章后面。

都修改完成后,启动:

#运行端口为8989,自行修改
bundle exec jekyll serve -H 0.0.0.0 -P 8989 --detach

此时就可以使用ip:8989访问程序了。

如果CentOS系统打不开的话,可能还需要开启8989端口,使用命令:

#CentOS 6
iptables -I INPUT -p tcp --dport 8989 -j ACCEPT
service iptables save
service iptables restart

#CentOS 7
firewall-cmd --zone=public --add-port=8989/tcp --permanent
firewall-cmd --reload

像阿里云等服务器,还需要去安全组那里开放下端口。

这里除了可以使用命令行启动,也可以直接将生成的_site文件夹丢到网站根目录访问。

如果要修改导航相关页面的信息显示的话,也可以在_site文件夹中修改。

安装Matomo

官方网站:https://matomo.org

这个安装教程博主很久前水过,不过是手动的,有点复杂,这里就直接找了个配置比较简单的Docker镜像进行安装。

Docker地址:https://github.com/crazy-max/docker-matomo

1、安装Docker

#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on

#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

2、拉取镜像

#拉取Matomo镜像
docker run --restart=always -d --name matomo \
-p 8000:8000 \
-v ~/matomo/data:/data \
crazymax/matomo

#拉取Mysql镜像,记得修改数据库信息,如果你服务器已经安装过Mysql数据库,可以跳过该步骤
docker run --restart=always --name mysqlmatomo -d \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=matomo123 \
-e MYSQL_DATABASE=matomo \
-e MYSQL_USER=matomo \
-e MYSQL_PASSWORD=matomo123 \
-v ~/matomo/mysql:/var/lib/mysql \
mysql:5.6

安装完成后打开ip:8080即可访问。如果访问不了的话,可以查看上面的教程,开放端口即可。

然后这里需要注意的是Database Server需要填上你的ip地址,而且数据库端口,比如3306需要防火墙放行,不然会连接不上。

安装到最后一步的时候,如果你填的ip地址,那么可能进入不了,可以编辑/root/matomo/data/config/config.ini.php ,修改trusted_hosts[]参数为你的访问地址。

最后配置该导航的话,需要修改配置文件_data/analytics.yml,大致参数如下:

#url为matomo站点,domain为导航站,site_id为matomo站点统计站id,token为matomo站点的token
matomo:
  url: http://matomo.moerats.com/
  domains:
  - "http://byr.moerats.com"
  site_id: 2
  token: 297bd600834c2a5a70293c47a

参数获取大致路径如下:

1、site_id
在后台添加一个网站统计,就可以直接看到网站id
2、token
该参数可以在Settings里获取API Authentication Token

最后可能会出现跨域问题,导致配置统计后不生效,可以在通用设置中设置跨域资源共享(CROS)白名单域名,将导航站点添加进去即可。

部署到GitHub Pages

这里部署到GitHub Pages的好处就是不需要服务器,但国内访问的话,有点影响体验,这个就自行选择了。

首先你肯定需要一个Github账号,没有的可以去注册一个,地址:https://github.com,有了账号就继续看。

1、配置Git SSH密钥

由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在操作之前,需要先在服务器上生成SSH key。

我们先去根目录下使用命令:

cd ~
ssh-keygen -t rsa

这里会要你命名密匙名称(这里建议使用默认名称),然后连续按几次Enter,这时候会在/root/.ssh文件夹生成2ssh密钥,然后我们查看公钥id_rsa.pub

cat ~/.ssh/id_rsa.pub

查看后,再复制下公钥,然后打开Github官网,进入https://github.com/settings/ssh/newTitle随便填,然后Key填入刚刚复制的密匙,最后点击Add SSH Key添加即可。
请输入图片描述

2、建立仓库
我们需要先访问https://github.com/new,新建一个仓库用来存放BYR-Navi站点文件,名称填你的用户名.github.io,仓库别加密,不然到时候就访问不到了。
请输入图片描述

3、推送到Github

#进入源码的_site文件夹
cd /root/BYR-Navi/_site
#初始化你的github仓库
git init
#关联到远程github仓库,后面为仓库SSH地址,新建仓库后会返回给你该地址
git remote add origin git@github.com:iiiiiii1/iiiiiii1.github.io.git
#把目录下所有文件更改状况提交到暂存区,包括增,删,改。
git add -A
#提交更改的说明,说明随意了,这里为push
git commit -m "push"
#开始推送到Github
git push -u origin master

推送的时候可能会提示The authenticity of host 'github.com' can't be established.信息,直进yes即可。

然后推送完就可以看到仓库的推送文件了。
请输入图片描述

接下来访问https://你的用户名.github.io就可以进入导航网站了。

4、绑定域名
有的可能不习惯用github的域名,这里可以绑定自己的域名。

先解析域名的CNAME记录到你的https://你的用户名.github.io域名。如果你想用Https访问,可以使用CloudFlare解析域名,并开启CDN强制HttpHttps
请输入图片描述
然后访问你的博客Git项目地址,点击Create new file新建文件,命名CNAME,内容写上你的域名,不要http等。
请输入图片描述
这时候就可以通过自己的域名访问导航站了,最后该程序定制啥的很灵活,想深度修改的话可以看下官方文档→传送门


版权声明:本文为原创文章,版权归 Rat's Blog 所有,转载请注明出处!

本文链接:https://www.moerats.com/archives/1004/

如教程需要更新,或者相关链接出现404,可以在文章下面评论留言。