UMAMI隐私统计安装及配置

2022-04-28 08:32:03 浏览数 (1)

  • 环境
  • 安装及配置
    • 安装
    • 导入数据库
    • 配置.env
    • optimize&build
    • 启动程序
    • docker方式
      • 安装
      • 升级
    • 域名反代
    • 文件修改及更新
  • 使用
    • 首次登录
    • 添加统计网站
    • 获取统计代码
    • 查看统计
  • 参考

UMAMI使用nodejs编写,是一个用于替代Google Analytics等第三方统计平台,更专注于用户隐私保护的自建统计项目。

环境

这里使用两种方法去安装umami,第一种是使用pm2或者supervisor直接运行在本机环境的,第二种是使用docker pull并build镜像。 如果已经安装了宝塔,推荐直接运行在本机环境中。 需要准备的有:

  • MySQL
  • nodejs
  • npm
  • pm2(或者supervisor)

Ubuntu系列安装Nodejs、npm:

代码语言:javascript复制
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
apt-get install -y nodejs
apt-get install -y npm

Centos系列可以直接使用yum: yum install node npm -y

MySQL建议查看其他博客的安装及配置。

如果您选择使用docker安装,那么仅需这样的一步: curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 也可以使用国内daocloud的脚本: curl -sSL https://get.daocloud.io/docker | sh

安装及配置

如果您需要使用docker进行安装,请直接转到docker方式章节。

安装

代码语言:javascript复制
git clone https://github.com/mikecao/umami.git
cd umami
npm install

导入数据库

代码语言:javascript复制
mysql -u username -p databasename < sql/schema.mysql.sql

我这里就直接在PMA中执行了

配置.env

DATABASE_URL=mysql://username:mypassword@localhost:3306/databasename HASH_SALT=随机生成

optimize&build

在umami目录下执行:npm run build即可生成编译后的工程文件

启动程序

按照官方readme说的直接npm start是可以的,默认会运行在3000,但是我们如果关闭了终端会话,也会停止运行, 所以需要使用PM2或者supervisor进行后台保活运行,当然,也可以使用nohup。 如果我们使用的是第一种本机环境运行,那么可以通过npm安装pm2:npm install pm2 -g 在umami目录下执行:

代码语言:javascript复制
pm2 start npm --name umami -- start
pm2 startup
pm2 save

由于服务器上已经有宝塔和pm2管理器了,所以我并不打算使用命令行添加。

docker方式

安装

注意,如果您选择docker方式,那么您可以完成后直接跳过安装及配置这一章 首先您需要docker环境,上述步骤已经提供了脚本。 然后执行docker-compose up确保服务已经启动。 我们这里使用MySQL作为数据库后端: docker pull ghcr.io/mikecao/umami:mysql-latest 稍微等待数十分钟即可启动,默认占用端口3000。

升级

代码语言:javascript复制
docker-compose pull
docker-compose up --force-recreate

域名反代

在nginx.conf中的http段下添加:

代码语言:javascript复制
server{
    server_name 你的域名;
    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

或者宝塔,网站管理,反向代理

即可。

文件修改及更新

假如你按照前面的pm2运行,那么按照如下步骤

  • 执行pm2 stop umami停止其运行。
  • 切换到你的umami目录pull一份最新的代码git pull
  • 重新安装node modules npm install
  • 重新编译npm run build
  • 重新启动PM2pm2 restart umami 根据参考博文中提到的更新失败可以执行git reset --hard

使用

首次登录

默认账号admin,密码umami

添加统计网站

获取统计代码

查看统计

由于我并没有打算立刻使用umami,使用官方的图做一个收尾吧:

参考

  • https://github.com/mikecao/umami
  • https://www.himiku.com/archives/umami.html

0 人点赞