简单记录一下在Linux端搭建trilium-cn(基于CN.0.58.4)的过程,供以未来参考。

安装nodejs

1
wget https://nodejs.org/dist/v14.15.4/node-v14.15.4-linux-x64.tar.xz

*安装unzip zip

1
yum -y install unzip zip

解压缩

1
2
3
tar -xvf node-v14.15.4-linux-x64.tar.xz
mkdir -p /usr/local/nodejs
mv node-v14.15.4-linux-x64/* /usr/local/nodejs/
创建软链接
1
2
3
4
# 建立node软链接
# 建立npm 软链接
ln -s /usr/local/nodejs/bin/node /usr/bin
ln -s /usr/local/nodejs/bin/npm /usr/bin
*更换镜像源-可选
1
2
3
4
# 设置国内淘宝镜像源
npm config set registry https://registry.npm.taobao.org
# 查看设置信息
npm config list
验证是否安装成功
1
2
node -v
npm -v

下载安装trilium

安装的是中文版,需要其他版本可以自行下载即可。

下载trilium-cn

下载地址https://github.com/Nriver/trilium-translation/releases选server,右键复制链接,wget + 刚才复制的链接

1
wget https://github.com/Nriver/trilium-translation/releases/download/v0.58.4_20230112/trilium-cn-linux-x64-server.zip
解压缩
1
unzip trilium-cn-linux-x64-server.zip
*删除解压包-可选
1
rm -f unzip trilium-cn-linux-x64-server.zip

配置服务

1
2
3
4
# 移动文件
# 创建服务
sudo mv trilium-linux-x64-server /opt/trilium
vim /etc/systemd/system/trilium.service

# 把下面的内容粘贴进去

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=Trilium Daemon
After=syslog.target network.target

[Service]
Type=simple
ExecStart=/opt/trilium/trilium.sh
WorkingDirectory=/opt/trilium/

TimeoutStopSec=20
Restart=always

[Install]
WantedBy=multi-user.target

复制好后 esc 然后输入 :wq保存并退出 
启动服务测试

1
systemctl start trilium

打开自己服务器的 ip+:8080 看看网页能不能访问,或者手动执行调试

1
2
3
4
# 移动到软件目录
# 手动执行
cd /opt/trilium
./trilium.sh

调试解决version `GLIBCXX_3.4.20’ not found报错

查看系统版本
1
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

需要升级libstdc++.

执行命令升级
1
sudo yum provides libstdc++.so.6
下载最新版本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cd /usr/local/lib64
# 下载最新版本的libstdc.so_.6.0.26
sudo wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip
unzip libstdc.so_.6.0.26.zip
# 将下载的最新版本拷贝到 /usr/lib64
cp libstdc++.so.6.0.26 /usr/lib64
cd /usr/lib64
# 查看 /usr/lib64下libstdc++.so.6链接的版本
ls -l | grep libstdc++
# 删除/usr/lib64原来的软连接libstdc++.so.6,删除之前先备份一份
sudo rm libstdc++.so.6
# 链接新的版本
sudo ln -s libstdc++.so.6.0.26 libstdc++.so.6
# 查看新版本,成功
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
再次测试
1
2
3
4
# 移动到软件目录
cd /opt/trilium
# 手动执行下
./trilium.sh

测试启动成功,刷新下网页 ip+:8080

启动成功,启动下服务试试

1
2
#启动服务
systemctl start trilium

这里输入自己设置的密码就可以开始使用了

下面是常用的服务操作相关的命令,可以自己设置开机启动什么的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#启动服务
systemctl start trilium
#停止服务
systemctl stop trilium
#重启服务
systemctl restart trilium
#查看服务状态
systemctl status trilium
#查看开机自启的服务
systemctl list-unit-files --type=service|grep enabled
#设置开机启动
systemctl enable trilium
#关闭开机启动
systemctl disable trilium
#查看是否开机启动
systemctl is-enabled LServer

解决502:防火墙设置

开放防火墙端口。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
firewall-cmd --zone=public --add-port=8080/tcp --permanent  
#说明:#开放8080端口
–zone 作用域
–add-port=2020/tcp #添加端口,格式为:端口/通讯协议
–permanent 永久生效,没有此参数重启后失效

#添加完毕过后重新读取防火墙规则或者重启防火墙,规则才生效
#重新读取防火墙规则
firewall-cmd --reload
#或者重启防火墙:
systemctl restart firewalld.service
#附:
#防火墙运行状态
systemctl status firewalld.service
#关闭运行的防火墙
systemctl stop firewalld.service
#禁用防火墙服务
systemctl disable firewalld.service