CentOS 系统部署私有云笔记实战指南
在数字化信息爆炸的时代,拥有一个安全、私密的笔记管理平台至关重要,对于技术管理者或追求数据自主权的用户而言,在自有CentOS服务器上部署云笔记服务,是兼具灵活性与控制力的理想选择,本文将详细解析利用Leanote这款开源笔记应用,在CentOS环境构建专属知识库的完整流程。
环境准备:坚实基石
工欲善其事,必先利其器,部署前确保您的CentOS 7/8系统已完成基础优化:

系统更新与依赖安装
sudo yum update -y sudo yum install -y wget vim unzip curl git
关闭潜在干扰项
- 防火墙策略: 临时关闭或开放必要端口(默认9000用于Leanote,后续可按需调整):
sudo systemctl stop firewalld # 临时停止 sudo systemctl disable firewalld # 永久禁用(生产环境请谨慎配置规则)
- SELinux: 临时设置为宽松模式或永久禁用(根据安全要求权衡):
sudo setenforce 0 # 临时生效 sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config # 永久生效需重启
- 防火墙策略: 临时关闭或开放必要端口(默认9000用于Leanote,后续可按需调整):
核心引擎:数据库部署 (MySQL 5.7)
笔记数据的安全存储依赖可靠数据库:
添加MySQL官方仓库并安装
sudo rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm sudo yum install -y mysql-community-server
启动服务并设置开机自启
sudo systemctl start mysqld sudo systemctl enable mysqld
获取初始密码并强化安全

sudo grep 'temporary password' /var/log/mysqld.log mysql_secure_installation # 根据提示修改密码并移除测试库/匿名用户
创建专属数据库与用户 登录MySQL命令行:
mysql -u root -p
执行SQL语句:
CREATE DATABASE leanote DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'leanote'@'localhost' IDENTIFIED BY 'YourStrongPassword123!'; -- 替换为高强度密码 GRANT ALL PRIVILEGES ON leanote.* TO 'leanote'@'localhost'; FLUSH PRIVILEGES; EXIT;
笔记核心:Leanote 服务端部署
获取官方二进制发行版
wget https://sourceforge.net/projects/leanote-bin/files/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz tar -zxvf leanote-linux-amd64-v2.6.1.bin.tar.gz sudo mv leanote /usr/local/
初始化数据库结构 导入预置数据:
mongorestore -h localhost -d leanote --dir /usr/local/leanote/mongodb_backup/leanote_install_data/
配置数据库连接 编辑配置文件
conf/app.conf:sudo vim /usr/local/leanote/conf/app.conf
定位并修改关键参数:

db.host=localhost db.port=3306 db.dbname=leanote db.username=leanote db.password=YourStrongPassword123! # 与MySQL创建的用户密码一致 app.secret=YourNewAppSecretKey # 替换为复杂随机字符串增强安全性
启动与验证:笔记服务运行
启动Leanote服务
cd /usr/local/leanote/bin bash run.sh # 前台启动测试,观察日志
后台稳定运行方案 (推荐使用Systemd): 创建服务文件
/etc/systemd/system/leanote.service:[Unit] Description=Leanote Note Taking Service After=network.target mysqld.service [Service] Type=simple User=root WorkingDirectory=/usr/local/leanote/bin ExecStart=/bin/bash /usr/local/leanote/bin/run.sh Restart=on-failure [Install] WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reload sudo systemctl start leanote sudo systemctl enable leanote
访问验证 浏览器打开
http://您的服务器IP:9000,使用初始管理员账号登录:- 用户名:
admin - 密码:
abc123登录后首要任务:立即修改管理员密码!
- 用户名:
提升体验:生产环境优化建议
域名与Nginx反向代理: 绑定专属域名并通过Nginx配置代理,提升访问便捷性与安全性:
server { listen 80; server_name notes.yourdomain.com; # 替换为您的域名 location / { proxy_pass http://127.0.0.1:9000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }强制HTTPS加密: 使用Let's Encrypt等免费证书服务,在Nginx中配置SSL,保障数据传输安全。
定期备份策略: 制定计划任务 (cron job),定时备份MySQL数据库 (
leanote库) 以及/usr/local/leanote目录下的public/upload文件(存放附件)。服务监控: 利用
systemctl status leanote或结合Prometheus+Grafana等工具监控服务状态与资源使用。

