ma 发布的文章

这里我们在宝塔面板中创建站点,这里我用的是Nginx、PHP8.0环境。创建完毕站点后,我们直接通过远程下载文件到站点中。
官方源码地址:https://builds.matomo.org/matomo.zip
wget https://builds.matomo.org/piwik.zip
移动安装包到宝塔面板的目录
mv piwik.zip /www/wwwroot
接着在宝塔面板中新建一个网站,不创建数据库
在宝塔面板的文件管理下把这个网站的主目录删除,接着解压安装包,解压完成之后直接用配置完成的域名访问
访问成功之后就是一个简单的安装界面,跟着安装界面一步一步来
第一步是对系统进行检查,如果有报错那么就根据报错来解决就好,比如我的php检查错误,要在php.ini下添加
always_populate_raw_post_data = -1
保存之后重启web服务器和php-fpm接着刷新安装界面检查下是不是还有其他错误或者警告
比如我还有个
shell_exec You need to enable this built-in function.
那么修改php.ini,查找一下shell_exec,接着把
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru
中shell_exec删除,重启php-fpm服务就好了
下一步是设置数据库
我们可以使用宝塔面板配置数据库,也可以使用宝塔面板中的phpmyadmin配置数据库新建一个数据库接着在安装界面填入对应参数即可,数据库排序规则我一般选择utf8_general_ci
之后创建管理员用户
管理员用户创建好之后就是配置我们要监控的第一个网站了,记住中国的时区是上海,是不是电子商务网站看你自己配置
接着下一步会给你一串JavaScript跟踪代码
老规矩,添加到网站里就好了
注意点
如果你的网站是https访问的那么matomo最好也使用https,不然默认会使用https请求matomo的监控脚本,但是因为你的matomo不是https的,所以会请求不了,宝塔面板可以一键申请ssl证书的。

这是因为你在 MySQL 8.0+ 的 staging 环境导出了 SQL 文件,其中包含了 MySQL 8 特有的字符排序规则(collation):utf8mb4_0900_ai_ci,而你本地环境可能是 MySQL 5.7 或更低版本,它并不支持这种 collation。

解决方案一:升级本地 MySQL 至 8.0+
最彻底的方式是将本地的 MySQL 升级到和 staging 一样的版本,比如 MySQL 8.0.x,这样所有 collation 都能兼容。

解决方案二:修改导出的 .sql 文件,替换 collation
你可以手动或自动把 .sql 文件中的 utf8mb4_0900_ai_ci 改成 utf8mb4_general_ci(或其他你本地支持的 collation)。

验证本地支持哪些 collation
你可以在本地执行以下 SQL 来确认你支持哪些 collation:
SHOW COLLATION WHERE Charset = 'utf8mb4';
输出中你能看到你 MySQL 支持的全部 utf8mb4_* 排序规则,比如:
utf8mb4_general_ci
utf8mb4_unicode_ci
utf8mb4_bin
如果没有 utf8mb4_0900_ai_ci,就说明你本地 MySQL 版本较低。

Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL、SQLite、Oracle 及 PostgreSQL 资料库,让管理不同类型的资料库更加的方便。

Navicat工具下载
下载官网:https://www.navicat.com.cn/download/navicat-premium
根据实际系统情况,选择下载。
双击打开安装包,选择安装路径后直接下一步傻瓜式安装即可。
使用激活工具激活,双击打开
此处一定要断网
此处一定要断网
此处一定要断网
此处一定要断网
选择安装目录(目录一定要在navicat安装的根目录下,也就是instantclient_11_2文件夹的上一级)
点击Patch
然后点击是,请勿选择否,否则需要卸载,重装再来一次.
打开navicat的注册页面,打开激活工具,点击Generate生成Keygen,点击Copy,粘贴到navicat注册页面中!点击激活
点击手动激活
按图中步骤操作,即可激活成功

连接数据库
点击左上角"连接"按钮。
双击MySQL
双击左侧数据库名称,看到图表变亮表示打开连接

操作数据库
右键,选择新建数据库,并填写相关信息。如果数据包含中文,建议设置成utf8。

补充:在选择字符集时,会有两个可选项,utf8mb3和utf8mb4,两者区别如下:
utf8mb3:用3个字节来存储UTF-8字符,占用空间少,但支持的字符集范围有限,大致在0x0000至0xFFFF之间。
utf8mb4:用4个字节来存储UTF-8字符,支持的字符集范围更广,大致在0x00000000至0x10FFFF之间,包括生僻字、冷门符号以及emoji表情符号等。

双击打开新建的数据库
导入备份文件
右键,选择运行SQL文件。导入成功后点击关闭。

备份数据库
在对应数据库下右键备份按钮,选择新建备份。或者在菜单栏点击备份按钮,点击下方的新建备份。
添加注释、选择备份对象,点击备份,开始数据库备份。
备份成功,点击关闭。

自动备份数据库
点击自动运行,在页面选择新建批处理作业
点击备份,双击提交可用的工作,点击保存按钮,保存配置文件。
点击设置任务计划,在"常规"中选中不管用户是否登录都要运行。
在"触发器"中点击新建,配置自动备份执行时间与周期。(建议备份工作可以在夜间业务量较少的时段进行)
点击确认,需要输入系统管理员的账号密码。
至此,使用navicat进行数据库的备份、还原、自动备份操作就已演示完成。

宝塔从7.4.5版本开始,宝塔安装后首页强制绑定手机号码
关闭宝塔安全入口
rm -f /www/server/panel/data/admin_path.pl

sed -i "s|if (bind_user == 'True') {|if (bind_user == 'REMOVED') {|g" /www/server/panel/BTPanel/static/js/index.js
同理,如果要还原
sed -i "s|if (bind_user == 'REMOVED') {|if (bind_user == 'True') {|g" /www/server/panel/BTPanel/static/js/index.js

方法2:修改首页html代码。猥琐点
文件路径/www/server/panel/BTPanel/templates/default/index.html

<script type="text/javascript">
    var bind_user =false ;//"{{data['bind']}}"
</script>

宝塔7.6.0安装后,会提示绑定宝塔账号,而且这个绑定和之前的绑定ui不一样了。
修改__init__.py
通过禁用/www/server/panel/BTPanel/__init__.py文件的某些代码来禁止绑定。我们通过路径找到__init__.py文件,这个如何找这个文件,可以用SFTP来连接到服务器,然后通过路径找到这个文件。拖到桌面用编辑器打开,比如说,sublime,editplus等等。
1)181-182行的代码注释掉,前面加#即可,如下。

 #if not public.is_bind():
#return redirect('/bind',302)

2)230-231行注释掉,如下:

 #if not os.path.exists('data/userInfo.json'):
#data['bind'] = os.path.exists('data/bind.pl')

3)ssh连接到服务器,输入bt命令,接着输入9,清除面板缓存即可。

Centos7.2 上防火墙的状态查看和关闭

查看防火墙状态

systemctl status firewalled
service iptables status

临时关闭防火墙

systemctl stop firewalld.service
service iptables stop

或者

systemctl stop firewalld

永久关闭防火墙(必须先临时关闭防火墙,再执行该命令,进行永久关闭)

systemctl disable firewalld.service
chkconfig iptables off

或者

systemctl disable firewalld

重启防火墙

systemctl enable firewalld
service iptables restart

在 Linux 系统中,使用 firewalld 或 iptables 管理防火墙时,可以通过以下方法开放 443 端口。
使用 firewalld:
1.查看当前的区域设置(通常是 public):
firewall-cmd --get-active-zones
2.开放 443 端口:
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
3.重新加载防火墙以应用更改:
sudo firewall-cmd --reload
4.验证端口是否已成功开放:
sudo firewall-cmd --zone=public --list-ports

使用 iptables:
1.开放 443 端口:
2.保存规则:
对于 Debian/Ubuntu 系统,保存规则:
sudo iptables-save > /etc/iptables/rules.v4
对于 RedHat/CentOS 系统,保存规则:
sudo service iptables save
3.验证端口是否已成功开放:
sudo iptables -L
确保防火墙规则生效后,443 端口就已经开放,可以用于 HTTPS 等服务。

若存在docker区域:

# firewall-cmd --get-active-zones
sudo firewall-cmd --zone=docker --add-port=443/tcp --permanent
sudo firewall-cmd --reload