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

/ 5评 / 0

My-BookMark是一个解决跨平台、跨设备的开源在线书签管理系统。您还可以自己在服务器上搭建一个属于自己的书签管理系统,这样无论是换了电脑、手机、还是换了浏览器,都可以无缝衔接,不会丢失任何一个书签。

解决的痛点

每个浏览器上面都会有个书签可以供你收藏你以后可能还要用到的网址。但是你可能还是会遇到下列问题:

  1. 如果你重装系统,或者换浏览器怎么办?
  2. 如果你有多个浏览器书签该如何整合?
  3. 如何快速搜索保存的书签?比如我只想搜索某个时间段保存的书签?
  4. 如果一个分类下面书签过多,如何方便快速查看?
  5. 我能不能查看别人收藏的书签?
  6. 在其他地方上网的时候能不能查看我自己的书签?
  7. 如果公用一台电脑,如何区分我收藏的跟别人收藏的书签?
    在线书签管理工具,帮助你快速记录你喜欢的网站,并可以随时随地查看这些站点,而不必拘泥于使用的浏览器。无论在什么地方,只要能接入网络,就能打开属于你自己的网络书签,看到自己收藏的页面网址。

主要功能

demo体验

在线书签管理工具 ,体验账号:test。密码:123456。

界面展示



开源地址

Github地址:https://github.com/luchenqun/my-bookmark
所需环境:Mysql 5.6+、Node.js 8+、Redis,由于宝塔需要1G内存才能安装Mysql 5.6,所以内存为512 M的建议用手动安装。

安装教程

以下教程内容均来自于Rat's Blog大佬的博客教程,原文地址:https://www.moerats.com/archives/943/

基于宝塔

  1. 安装宝塔
  2. 配置环境为Mysql 5.6、Redis、Nginx
  3. 安装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
  1. 安装My-BookMark
#拉取源码
git clone https://github.com/luchenqun/my-bookmark.git
cd my-bookmark
#安装依赖
npm install
#导入数据库,依次为数据库用户名、密码、数据库名,记得修改为自己的
mysql -uroot -pmoerats bookmark < schema.sql
#编辑数据库信息
nano database/db.js

填上数据库的用户名、数据库名和密码后保存即可退出。
然后使用pm2命令启动

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

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

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

手动安装

这里建议内存512M+,太小的可以先添加点Swap虚拟内存。

  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
  1. 安装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 mysql
systemctl enable mysql

#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在安装期间有弹出窗口要你输入密码就设置一个,没有的话可以在安装完成后使用mysql_secure_installation命令自己设置。

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

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

然后CentOS还需要修改数据库密码:

#登录数据库,输入你上面看到的密码
mysql -u root -p
#稍微设置密码难度下,不然修改的时候,密码必须很复杂才行
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=4;
#修改密码为moerats
mysql> set password=password("moerats");
#退出数据库
mysql> exit;

#CentOS 6重启数据库
service mysqld restart
#CentOS 7重启数据库
systemctl restart mysql

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

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

此时Mysql 5.7算是安装完成了。

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

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

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

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

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

  1. 域名反代
    安装Caddy:
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

配置Caddy:

#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!
echo "www.moerats.com {
 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-Proto {scheme}
  }
}" > /usr/local/caddy/Caddyfile

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

启动Caddy:
/etc/init.d/caddy start
然后访问即可。
最后如果想修改界面样式的,可以自行修改源码文件,主要修改public文件夹

本次分享到此结束,如果您对本项目有兴趣,可按照教程自行搭建,或使用原作的demo。

感谢每一位开源的大佬!

5条回应:“My-BookMark - 支持多用户的在线书签管理系统”

  1. xiao说道:

    你成功了吗?不是登录不了的吗?

  2. xiao说道:

    刚刚我试成功了,但是呢?其实还是觉得用谷歌的专用书签管理 笔记好:Infinity 新标签页(Pro)

  3. xiao说道:

    嗯 说的也对

发表评论

电子邮件地址不会被公开。 必填项已用*标注