ubuntu2404系统安装nocobase的方法
NocoBase 是什么
NocoBase 是一个极易扩展的开源无代码开发平台。 不必投入几年时间、数百万资金研发,花几分钟时间部署 NocoBase,马上拥有一个私有、可控、极易扩展的无代码开发平台。
中文官网:
https://www.nocobase.com/cn/
在线体验:
https://demo-cn.nocobase.com/new
文档:
https://docs-cn.nocobase.com/
官网的安装方法:https://docs-cn.nocobase.com/welcome/getting-started/installation/create-nocobase-app
本文教程来源于https://blog.csdn.net/ooutman/article/details/149569640
按照大佬安装的脚本修正了一些错误并更新了部分过期的脚本信息
大佬的教程有两个问题
第一个是数据库初始化时如果密码为空脚本会报错,找AI修正后的代码如下
第二个是Node.js的版本需要大于18,本文章直接替换为最新版22了
#!/usr/bin/env bash
# install-nocobase-ubuntu.shset -e
echo "== 1. 基础依赖 =="
sudo apt update && sudo apt install -y curl wget vim gnupg lsb-releaseecho "== 2. MySQL8 =="
# 2.1 官方存储库
sudo apt remove -y mysql-* mariadb-* || true
wget -c https://repo.mysql.com//mysql-apt-config_0.8.34-1_all.deb
echo "mysql-apt-config mysql-apt-config/select-server select mysql-8.0" | sudo debconf-set-selections
sudo dpkg -i mysql-apt-config_0.8.34-1_all.deb
sudo apt update# 2.2 安装并启动 MySQL
sudo apt install -y mysql-server
sudo systemctl enable --now mysql# 2.3 初始化 root 密码并允许远程连接
MYSQL_TEMP_PWD=$(sudo grep 'temporary password' /var/log/mysql/error.log | tail -1 | awk '{print $NF}')
if [ -n "$MYSQL_TEMP_PWD" ]; thenMYSQL_CMD="sudo mysql -uroot -p\"$MYSQL_TEMP_PWD\" --connect-expired-password"
elseMYSQL_CMD="sudo mysql -uroot"
fi$MYSQL_CMD << 'EOF'
-- 安装密码验证组件(MySQL 8.0.27+ 正确方式)
INSTALL COMPONENT 'file://component_validate_password';-- 设置密码强度策略
SET GLOBAL validate_password.policy = LOW;
SET GLOBAL validate_password.length = 4;-- 修改 root 用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';-- 创建 NocoBase 所需数据库和用户
CREATE DATABASE IF NOT EXISTS nocobase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER IF NOT EXISTS 'nocobase'@'%' IDENTIFIED BY 'nocobase';
GRANT ALL PRIVILEGES ON nocobase.* TO 'nocobase'@'%';
UPDATE mysql.user SET host='%' WHERE user='root' AND host='localhost';
FLUSH PRIVILEGES;
EOF# 2.4 防火墙放行 & 绑定
sudo ufw allow 3306/tcp || true
sudo sed -i 's/^bind-address.*/bind-address = 0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf
sudo systemctl restart mysqlecho "== 3. Node.js 22+ =="
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs gcc g++ makeecho "== 4. yarn & 镜像 =="
sudo npm install -g yarn --registry=https://registry.npmmirror.com
yarn config set registry https://registry.npmmirror.com/
yarn config set sqlite3_binary_host_mirror https://npmmirror.com/mirrors/sqlite3/echo "== 5. 生成 NocoBase 项目 =="
yarn create nocobase-app nocobase-proj -d mysql \-e DB_HOST=127.0.0.1 \-e DB_PORT=3306 \-e DB_DATABASE=nocobase \-e DB_USER=nocobase \-e DB_PASSWORD=nocobase
cd nocobase-proj
yarn install
yarn nocobase install --lang=zh-CNecho "== 6. 用 pm2 守护 =="
sudo npm install -g pm2
pm2 start "yarn start --port=13000" --name nocobase
pm2 startup systemd -u $USER --hp $HOME
pm2 saveecho -e "\n🎉 完成!浏览器打开 http://<公网IP>:13000"
echo -e "默认账号:admin@nocobase.com / admin123"
最后执行pm2时如果无响应时再手动执行下(包括此行)后面的代码
pm2 start “yarn start --port=13000” --name nocobase
安装数据库过程中时提示如下图时直接选OK
提示输入数据库的root密码时直接回车就可以了