示例图:
缺点:
这个面板适合自用,未注册用户无法直接进行注册,需要管理员创建账号
部署方法一:使用Docker安装
第一步:更新源
apt update -y && apt upgrade -y #Ubuntu/Debian
yum update -y && yum upgrade -y #Centos
第二步:安装Docker
curl -fsSL https://get.docker.com -o get-docker.sh && sh ./get-docker.sh
第三步:创建一个用于存储数据库数据的Docker卷
docker volume create umami-db-data
第四步:安装并启动PostgreSQL容器
docker run -d \
--name umami-db \
-e POSTGRES_DB=umami \
-e POSTGRES_USER=umami \
-e POSTGRES_PASSWORD=umami \
-v ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro \
-v umami-db-data:/var/lib/postgresql/data \
--restart always \
postgres:12-alpine
第五步:安装并启动umami容器
docker run -d \
--name umami \
--link umami-db:db \
-p 3000:3000 \
-e DATABASE_URL=postgresql://umami:umami@db:5432/umami \
-e DATABASE_TYPE=postgresql \
-e HASH_SALT="replace-me-with-a-random-string" \
--restart always \
ghcr.io/umami-software/umami:postgresql-latest
注意:HASH_SALT
的值应替换为一个随机字符串,可以使用命令openssl rand -hex 32生成。
部署方法二:从源代码安装
第一步:安装Node.js和npm
虽然官方说使用Node.js 12 或更高版本即可,但是实际使用过程中,环境提示需要安装Node.js 16.13 或更高版本。
执行以下命令来安装:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
验证Node.js和npm是否安装成功:
node -v
npm -v
第二步:获取umami的源代码并安装依赖
git clone https://github.com/umami-software/umami.git
cd umami
npm install -g yarn
第三步:设置MySQL数据库并配置umami使用的数据库
安装MySQL服务器:
sudo apt-get update
sudo apt-get install mysql-server
sudo mysql_secure_installation
登录MySQL创建用户和数据库:
sudo mysql -u root -p
CREATE USER 'umami'@'localhost' IDENTIFIED BY 'mypassword';
CREATE DATABASE mydb;
GRANT ALL PRIVILEGES ON mydb.* TO 'umami'@'localhost';
FLUSH PRIVILEGES;
EXIT;
在umami项目目录中创建一个.env
文件,内容如下:
DATABASE_URL=mysql://umami:mypassword@localhost:3306/mydb
第四步:构建和启动umami
返回到umami目录,执行以下命令构建和启动应用:
yarn install
yarn build
yarn start
使用浏览器登录ip:3000
来查看是否安装成功,初始用户名:admin
,密码:umami
第五步:配置umami后台运行和自启动
安装PM2并使用PM2启动umami
npm install -g pm2
pm2 start yarn --name "umami" -- start
设置PM2自启动钩子,并保存当前的PM2进程列表和状态:
pm2 startup
pm2 save
配置网页流量统计代码
- 在设置—>网站—>添加网站中添加自己的网站
- 保存后点击编辑来查看追踪代码
- 在网站代码中添加追踪代码
示例:Typecho可以直接塞在header.php中