安装部署
准备服务器
使用 amd64 或 arm64 Linux 服务器,确保可以访问所选镜像源。自动安装 Docker 需要 root 权限;已有 Docker 时需要 Compose v2.20 或更新版本、Docker 使用权限及安装目录写权限。
WAF 私有镜像源需要有效账号。默认安装目录是 /opt/has-waf,控制台端口为 8000,网站入口端口为 8080 / 8443;请根据接入计划配置防火墙。
运行中文安装向导
bash -c "$(curl -fsSL https://has-waf.haser.top/install.sh)"
选择“1) 安装 / 重新部署”,按编号完成选择:
| 选项 | 可选内容 |
|---|---|
| 部署方式 | 全量部署(默认),或单容器部署 |
| WAF 镜像源 | registry.haser.top 或 registry.hasbin.top(全球加速) |
| 中间件镜像源 | docker.1ms.run(默认公开源)、自定义源、所选 WAF 私有源 |
| 数据库 | SQLite(默认)或自动部署 MySQL |
| 宿主机端口 | 控制台、HTTP、HTTPS 和站点端口范围,回车使用默认值 |
| 私有源登录 | 隐藏输入账号密码,或复用 Docker 已有登录凭据 |
脚本自动识别 CPU 架构、生成配置和独立密码,不需要手动填写 .env。自定义中间件源需要提供对应镜像;默认仓库为 library/redis:7-alpine、clickhouse/clickhouse-server:24.8 和 library/mysql:8.4。
端口说明
容器内部监听端口固定,向导只修改宿主机映射端口:
| 用途 | 宿主机默认值 | 容器内部 |
|---|---|---|
| 控制台 | 8000 |
8000 |
| HTTP 接入 | 8080 |
8080 |
| HTTPS 接入 | 8443 |
8443 |
| 站点端口范围 | 5010-5015 |
5010-5015 |
控制台、HTTP、HTTPS 端口不能重复,站点端口范围必须避开这三个端口,起始值要小于结束值。修改后请同步调整防火墙;控制台和站点中配置的监听端口要落在已映射范围内。
首次 MySQL 初始化可能需要数分钟,脚本会等待服务健康。SQLite 默认等待最多 360 秒,MySQL 最多 900 秒;可用 HAS_WAF_START_TIMEOUT 调整为 60–3600 秒。
完成首次设置
打开 http://服务器IP:8000/setup(安装时改过控制台端口则换成对应端口),设置管理员账号和密码,填写初始化令牌并接受法律文档。令牌位于安装目录 .env 的 SETUP_ACCESS_TOKEN,请在服务器上查看并妥善保管该文件。
数据库和中间件设置自动带入。完成向导后,按提示重启服务:
cd /opt/has-waf
docker compose -f docker-compose-all.yml restart has-waf
之后即可接入站点。
指定版本、目录或端口
bash -c "$(curl -fsSL https://has-waf.haser.top/install.sh)" -- \
--tag 0.15.8 --dir /opt/has-waf \
--ui-port 8000 --http-port 8080 --https-port 8443 --site-ports 5010-5015
使用 --database mysql 可直接选择 MySQL;--registry registry.hasbin.top 可指定全球加速源;--standalone 进入单容器部署。使用 --non-interactive 跳过菜单前,请先通过 docker login 登录私有源。
镜像目录不同时,可使用 REDIS_IMAGE、CLICKHOUSE_IMAGE、MYSQL_IMAGE 指定完整镜像地址。
下载文件
下载安装脚本 · 下载全量 Compose · 下载单容器 Compose · 下载 SHA256SUMS
校验下载文件
下表是本次发布文件的 SHA-256,与 SHA256SUMS 内容一致。下载后先核对,再执行脚本:
| 文件 | SHA-256 |
|---|---|
| install.sh | ee8c036d5e643cfa8642d66f508f7365605ccd772636e5e41e741557abec7b6e |
| upgrade.sh | e650bf7738f44d4902e57d30c5f3c42aa67343b9641390a05c54ae3ba6dc2c57 |
| docker-compose-all.yml | f7526534bbfa15e9d6f9eceb87a1dcbc5a3670848d967e63e6452ce0a0750e15 |
| docker-compose.yml | 754166523c4711987ac10a129f4fdccec70eee3cb14afe45642127401fc2e172 |
把文件与 SHA256SUMS 放在同一目录,Linux / macOS 执行:
sha256sum -c SHA256SUMS
Windows PowerShell 可单独核对某个文件:
Get-FileHash .\install.sh -Algorithm SHA256
所有文件都显示 OK(或哈希一致)后再继续安装。校验不通过时不要执行脚本,应重新下载并检查网络与镜像源。