一个懒散的博客

一个支持多用户的在线书签管理系统:My-BookMark

说明:之前一直想找个书签系统,然后最近发现了个My-BookMark,用了下还不错,总算不用经常重复在不同电脑或者浏览器上备份书签了,该工具可以整合多个浏览器上的书签,对于快速搜索某个时间段的书签起到便捷式的作用,有效的避免了你在重装系统和更换浏览器上对书签的备份,无法整合分类和在其他地方上网时无法查看自己的书签!无论你在何时何地都可以查看搜索自己收藏的书签数据,安装也是很简单的,有需求的可以玩玩。

截图

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

功能

  • 需要注册账号用户。
  • 网站展示有三种展示方式:导航,标签,列表。其中导航以分类展示,分类顺序可以在书签分类下面拖动编辑。按照点击的次数从高到低在每个分类里面提取16个书签,再按照最近添加的书签提取前面的16个书签,然后合并起来。标签是一个快捷方式。列表以表格展示,显示书签详细类容,按照点击次数优先显示,点击次数相同,则按添加顺序优先。这几种展示方式,可以在设置里面默认一种你常用的方式。
  • 在书签分类里面,可以更新分类,删除分类,新增分类,对分类显示进行排序。分类的标签默认按照添加日期展示,但是可以点击表格的标题,按照点击次数,添加日期,最后点击从大到小进行排序。
  • 可以按照指定添加时间段,指定分类目录,指定网址关键字等进行查询。
  • 添加书签的时候,会自动获取title,供用户编辑。其中Insert键打开添加页面,再次按Insert键保存书签,Esc取消添加。
  • 可以导入Chrome的书签导出文件,暂时做在设置里面。
  • 书签可以作为公有或者私有,公有可供所有人搜索。
  • 可以将搜索到其他用户的书签转存为自己的书签。
  • 可以将书签导出来,然后导入到浏览器。
  • 在热门标签里面,有在网上找的热门书签。可以转存收藏到自己书签里面,快捷键R随机查看热门书签。
  • 新增备忘录功能,有时候随手要做点纪录,就方便了。任意界面按快捷键A增加备忘录。双击备忘录可查看详情!亦可分享备忘。
  • 在设置的全局链接,可设置快捷键,用来在任何页面,快速打开设置的链接。

Docker安装

提示:Docker为作者制作,为最新源码,推荐使用。

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、安装My-BookMark

docker run -dit -p 2000:2000 -p 3306:3306 luchenqun/mybookmark

然后就通过ip:2000访问Web客户端了。

最后如果你访问不了Web端,可能要检查下防火墙端口,有安全组的也要放行下相关端口。

这里提供个CentOS系统防火墙开启命令,比如开放2000端口,大致如下:

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

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

如果想用域名访问的话,可以自行参考下面2种安装教程的域名绑定步骤。

安装

Github地址:https://github.com/luchenqun/my-bookmark

所需环境:Mysql 5.6+Node.js 8+Redis,这里说下使用宝塔安装和手动安装,由于宝塔需要1G内存才能安装Mysql 5.6,所以内存为512 M的建议用手动安装。

1、安装宝塔

#CentOS系统
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

安装完成后,进入面板,点击左侧软件管理,然后安装Mysql 5.6RedisNginx(如果使用域名访问就建议安装)。

安装完成后再点击左侧数据库-添加数据库,设置好Mysql数据库信息,编码为utf-8

2、安装Nodejs

#Debian/Ubuntu系统
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt install -y nodejs 

#CentOS系统
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs -y

3、安装My-BookMark

#拉取源码
git clone https://github.com/luchenqun/my-bookmark.git
cd my-bookmark
#安装依赖
npm install
#导入数据库,依次为数据库用户名、密码、数据库名,记得修改为自己的
mysql -uroot -pmoerats bookmark < schema.sql
#编辑数据库信息
cp config.default.js config.js
nano config.js

填上你的数据库名称,用户名和密码,然后使用Ctrl+xy保存退出。

最后就可以启动了,这里就直接使用pm2了,方便开机自启。

npm install -g pm2
pm2 start bin/www -i 0
pm2 save
pm2 startup

然后访问地址ip:2000,建议使用域名反代下并开启https访问,如果你想直接使用ip访问,那需要去面板左侧-安全,放行2000端口即可,反之不用开放端口,直接进行第4步。

4、域名反代
点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL填入http://127.0.0.1:2000,再启用反向代理,然后点击SSL,申请免费的Let's Encrypt证书,并强制HTTPS

手动安装

这里建议内存512M+,太小的可以先添加点Swap虚拟内存,教程查看→传送门,且系统建议Debain

1、安装Nodejs

#Debian/Ubuntu系统
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt install -y git nodejs 

#CentOS系统
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs git -y

2、安装Mysql 5.7

#CentOS 6系统
rpm -ivh http://repo.mysql.com/mysql57-community-release-el6.rpm
yum install mysql-community-server -y
service mysqld start
chkconfig mysqld on

#CentOS 7系统
rpm -ivh http://repo.mysql.com/mysql57-community-release-el7.rpm
yum install mysql-community-server -y
systemctl start mysqld
systemctl enable mysqld

#Debian 8系统
echo 'deb http://repo.mysql.com/apt/debian/ jessie mysql-5.7
deb-src http://repo.mysql.com/apt/debian/ jessie mysql-5.7' >/etc/apt/sources.list.d/mysql.list
wget https://repo.mysql.com/RPM-GPG-KEY-mysql
apt-key add RPM-GPG-KEY-mysql
apt update
#安装的时候会要你输入数据库密码
apt install mysql-server -y

#Debian 9系统
echo 'deb http://repo.mysql.com/apt/debian/ stretch mysql-5.7
deb-src http://repo.mysql.com/apt/debian/ stretch mysql-5.7' >/etc/apt/sources.list.d/mysql.list
wget https://repo.mysql.com/RPM-GPG-KEY-mysql
apt-key add RPM-GPG-KEY-mysql
apt update
#安装的时候会要你输入数据库密码
apt install mysql-server -y

#Ubuntu系统
apt install mysql-server-5.7 -y

如果Ubuntu在安装期间有弹出窗口要你输入密码就设置一个,没有的话密码就是空格。

对于CentOS安装MySQL 5.7的时候会生成一个随机密码,使用命令查看:

grep "password" /var/log/mysqld.log
#大致信息,******为密码
[Note] A temporary password is generated for root@localhost: ******

然后接下来CentOS和安装期间没要求输入密码的Ubuntu,就需要修改数据库密码:

#CentOS系统,第一行passwd为你上面看到的密码,第四行moerats为要修改的密码,均自行修改
mysql -u root -ppasswd
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=4;
mysql> set password=password("moerats");
mysql> exit;

#Ubuntu系统,第一行登录数据库的时候直接Enter跳过,第二行moerats为要修改的密码,自行修改
mysql -u root -p
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('moerats'), PLUGIN='mysql_native_password' WHERE USER='root';
mysql> exit;

最后修改过密码的还需要重启数据库:

#CentOS 6
service mysqld restart
#CentOS 7
systemctl restart mysqld
#Ubuntu
systemctl restart mysql

此时Mysql算是安装完成了。

接下来创建新的数据库,使用命令:

#创建编码为utf-8的bookmark数据库,moerats为数据库密码,自行修改
mysql -uroot -pmoerats
mysql > create database bookmark default character set utf8 collate utf8_general_ci;
#退出
mysql > exit;

3、安装Redis

#CentOS 6系统
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
yum install redis -y
service redis start
chkconfig redis on

#CentOS 7系统
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install redis -y
systemctl start redis
systemctl enable redis

#Debian/Ubuntu系统
apt install redis-server -y

4、安装My-BookMark

#拉取源码
git clone https://github.com/luchenqun/my-bookmark.git
cd my-bookmark
#安装依赖
npm install
#导入数据库,依次为数据库用户名、密码、数据库名,记得修改为自己的
mysql -uroot -pmoerats bookmark < schema.sql
#编辑数据库信息
cp config.default.js config.js
nano config.js

填上你的数据库名称,用户名和密码,然后使用Ctrl+xy保存退出。

最后就可以启动了,这里就直接使用pm2了,方便开机自启。

npm install -g pm2
pm2 start bin/www -i 0
pm2 save
pm2 startup

然后访问地址ip:2000,同样的,这里建议使用域名反代,并开启HTTPS访问。

5、域名反代
安装Caddy

wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://toot.su/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

配置Caddy

#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!
echo "toot.su {
 gzip
 tls admin@moerats.com
 proxy / 127.0.0.1:2000 {
    header_upstream Host {host}
    header_upstream X-Real-IP {remote}
    header_upstream X-Forwarded-For {remote}
    header_upstream X-Forwarded-Port {server_port}
    header_upstream X-Forwarded-Proto {scheme}
  }
}" > /usr/local/caddy/Caddyfile

tls参数会自动帮你签发ssl证书,如果你要使用自己的ssl,改为tls /root/xx.crt /root/xx.key即可。后面为ssl证书路径。

启动Caddy

/etc/init.d/caddy start

就可以打开域名进行访问了。

最后如果想修改界面样式的,可以自行修改源码文件,主要修改public文件夹,可参考结构布局,查看→传送门

赞(1)