哎,看到标题是“WSS系统安装”,我得先跟你交个底,因为这玩意儿有点“同名异义”的风险。在日常生活中和IT圈子里,WSS 通常指代两个完全不同的东西:一个是老牌的企业协作平台 Microsoft Windows SharePoint Services,另一个是 WebSocket Secure 这种网络通信协议。
鉴于你问的是“系统安装”,我赌你现在大概率是想部署那个经典的 SharePoint 2010⁄2013 环境,或者是想搞清楚为什么某个网页打不开是因为 WebSocket 安全连接的问题。
为了确保你拿到的是真正有用的干货,我会把这两种情况都给你盘得明明白白。先说最重头的 SharePoint WSS 系统安装,这可是当年无数企业IT管理员的“爱恨情仇”;再说 WebSocket Secure 的配置,毕竟现在前后端分离火得很。
第一部分:Microsoft Windows SharePoint Services (WSS) 安装实战
如果你是一名IT管理员,或者正在维护一个遗留的企业内部网站系统,那你指的应该是 Microsoft 的 SharePoint。WSS 是 SharePoint 的基础免费版本,后来被 MOSS (SharePoint Server) 取代,但至今仍有不少老系统在用 WSS 3.0 或 SharePoint 2010⁄2013 Foundation。
这里我以目前相对主流、教程最多的 SharePoint 2013 Foundation 为例(因为 WSS 3.0 实在太老,界面和逻辑差异巨大,且现代教程极少提及),带你走一遍从准备到安装的全过程。
1. 安装前的“体检”:环境准备
别急着点“下一步”,SharePoint 是个“娇贵”的系统,环境不对直接报错,到时候debug能把你头发愁掉。
硬件要求(最低配置,别凑合):
- 操作系统:Windows Server 2012 R2 或 2016(建议 Standard 或 Datacenter 版,不要 Core 版,除非你是高手)。
- 内存:至少 8GB RAM,推荐 16GB+。
- 硬盘:至少 50GB 可用空间,数据库文件建议单独分区。
软件依赖(这是最容易踩坑的地方): SharePoint 对 .NET Framework 和 SQL Server 版本极其挑剔。你必须提前安装:
- SQL Server:推荐 SQL Server 2014 或 2016。注意,SharePoint 2013 不支持 SQL Server 2017+ 作为默认选项。
- .NET Framework 4.5.2:这是硬性要求。
- Visual C++ Redistributable:2012 和 2013 版本都要装,顺序别乱,先 2012 再 2013。
- Microsoft Identity Extensions:这个包经常下载链接失效,建议提前从微软官方存档里找好。
2. 开始安装:一步一步来
假设你的服务器已经配好了 IP 地址,域名也解析好了(比如 sp.company.com),数据库服务已经正常运行。
步骤一:运行安装程序
找到解压后的安装包,以管理员身份运行 x64\setup.exe。
- 第一次运行会弹出“产品密钥”界面。如果你用的是 Foundation 版(免费),输入
HYF8J-CVP3C-TPP66-GMV33-PKDH7(这是示例密钥,具体请根据你的版本和授权情况获取,通常官方下载站会提供)。 - 点击“我接受条款”,开始下载更新。这步看网速,可能会等几分钟。
步骤二:选择安装类型
- 服务器场安装 (Farm Installation):如果你有多台服务器做负载均衡,选这个。
- 独立安装 (Standalone Installation):如果你是单机测试,或者小公司自己用,选这个。新手强烈建议选独立安装,省得配服务账户那些头疼的东西。
步骤三:配置产品密钥 再次输入密钥,确保大写,别输错空格。
步骤四:安装进度监控 这一步会检测你的系统是否满足依赖条件。如果前面漏装了 VC++ 库,这里会直接报错并终止。仔细看图,缺什么补什么。
步骤五:完成安装 看到绿色的“安装完成”界面,点击“关闭”。此时,你的 SharePoint binaries 已经就位,但网站还没建好。
3. 配 Farm:从“空壳”到“可用系统”
光安装软件没用,你得把它变成一个能访问的网站。这步叫“SharePoint 产品配置向导”(PSConfigUI)。
操作方式:
- 在开始菜单里找到 “SharePoint 2013 Products 配置向导”。
- 选择 “创建新的服务器场”。
关键配置点(请拿出小本本):
- 数据库服务器:输入你的 SQL Server 名称,比如
.\SQLEXPRESS或者SQLServer01。 - 服务账户:
- 这里是灵魂。建议使用域账户(Domain Account),不要用本地账户,否则跨机器访问会报权限错误。
- 比如创建一个专门给 SharePoint 用的账户:
SP_Admin,密码设复杂点。 - 勾选“使用当前账户作为管理服务账户”(如果是独立服务器)。
- 管理端口:默认 80 或 88。如果用 80,确保 IIS 没占用。
- 管理员账户:设一个本地管理员账号,方便后续登录中心站点。
点击“下一步”,系统会自动启动 SQL 服务、IIS 应用池、Timer Service 等等。如果中间卡住,去事件查看器(Event Viewer)里的 Applications and Services Logs -> Microsoft -> SharePoint 看报错日志。
4. 创建第一个网站集
配完 Farm,浏览器自动打开配置页面。点击 “启动 SharePoint 产品配置向导” 完成最后一步(通常是创建中央管理站点)。
完成后,你会进入 SharePoint 中央管理 (Central Administration) 界面。
如何建一个能用的部门网站:
- 进入中央管理,点击 “应用程序管理”。
- 点击 “创建网站集”。
- 标题:填“财务部门户”。
- URL:填
/sites/finance(这样访问地址就是http://sp.company.com/sites/finance)。 - 模板选择:
- 新手建议选 “团队网站” (Team Site),功能最全,权限管理简单。
- 如果只是想发公告,选“空白网站”。
- 权限设置:设一个“网站集管理员”,比如你自己。
点击“确定”,等待进度条走完。刷新页面,你就会看到一个完整的、带菜单栏、文档库、新闻页的企业内网入口了。
5. 常见问题避坑指南
- 报错 0x80070005 (Access Denied):90% 是因为服务账户权限不够。确保
SP_Admin账户在 SQL Server 上有db_owner权限,并且在 Active Directory 里有足够的域权限。 - 安装完后服务启动不起来:检查 Windows Management Framework 3.0/4.0 是否安装,以及 .NET Framework 4.5.2 是否打满了补丁。
- 访问网站白屏:检查 IIS 绑定是否正确,以及 hosts 文件里是否配置了域名解析。
第二部分:WebSocket Secure (WSS) 配置教程
如果你是个前端开发者,或者运维工程师,你提到的“WSS 系统”可能不是 SharePoint,而是指 WebSocket over TLS (SSL) 的配置。WSS 就是 WS 的安全版,相当于 HTTPS 之于 HTTP。
很多开发者会遇到“前端用了 ws://,结果浏览器报 Mixed Content 错误”或者“连接被拒绝”的问题,这时候就需要部署 WSS。
1. 为什么需要 WSS?
想象一下,你发送用户密码时用 ws://,数据是明文的,中间人(MITM)随便能截获。而 wss:// 会对数据进行加密,确保传输安全。现在主流浏览器(Chrome, Safari)都强制要求 HTTPS 页面使用 WSS,用普通 WS 会被拦截。
2. Node.js + Express 实战:一行代码开启 WSS
假设你有一个 Node.js 后端,想快速把 WS 升级为 WSS。
前置条件:
- 你已经有了 SSL 证书(
.crt和.key文件)。如果没有,可以用 OpenSSL 生成自签名证书用于测试。 - 安装了
ws库:npm install ws
代码示例:
const https = require('https');
const fs = require('fs');
const WebSocket = require('ws');
// 1. 读取 SSL 证书和私钥
// 注意:生产环境请使用真实的证书,不要直接用下面的测试代码
const options = {
key: fs.readFileSync('/path/to/your/private.key'),
cert: fs.readFileSync('/path/to/your/certificate.crt')
};
// 2. 创建 HTTPS 服务器
const httpsServer = https.createServer(options);
// 3. 在 HTTPS 服务器上创建 WebSocket 服务器
const wss = new WebSocket.Server({ server: httpsServer });
// 4. 监听连接
wss.on('connection', function connection(ws) {
console.log('客户端已通过 WSS 安全连接接入');
// 发送欢迎消息
ws.send(JSON.stringify({
type: 'welcome',
message: '连接已加密,请放心传输敏感数据'
}));
// 监听客户端消息
ws.on('message', function incoming(message) {
console.log('收到消息:', message);
// 回传给所有连接者
wss.clients.forEach(function each(client) {
if (client.readyState === WebSocket.OPEN) {
client.send(message);
}
});
});
// 连接关闭
ws.on('close', function close() {
console.log('客户端断开连接');
});
});
// 5. 启动服务
const PORT = 8443;
httpsServer.listen(PORT, function listening() {
console.log(`WSS 服务器已在 https://localhost:${PORT} 启动`);
console.log(`前端连接地址应使用: wss://localhost:${PORT}`);
});
3. 前端如何连接 WSS?
前端代码非常简单,只需要把协议从 ws:// 改成 wss://。
// 错误写法(在 HTTPS 页面中会被浏览器拦截)
// const socket = new WebSocket('ws://localhost:8443');
// 正确写法
const socket = new WebSocket('wss://localhost:8443');
socket.onopen = function() {
console.log('WSS 连接成功!');
socket.send('你好,这是加密消息');
};
socket.onmessage = function(event) {
console.log('收到服务器消息:', event.data);
};
socket.onerror = function(error) {
console.error('WebSocket 错误:', error);
};
socket.onclose = function() {
console.log('连接关闭');
};
4. Nginx 反向代理配置 WSS
很多生产环境不会让 Node.js 直接暴露在外,而是通过 Nginx 做反向代理。这时候配置在 Nginx 层面完成。
Nginx 配置示例:
server {
listen 443 ssl;
server_name your-domain.com;
# SSL 证书路径
ssl_certificate /etc/nginx/ssl/cert.crt;
ssl_certificate_key /etc/nginx/ssl/private.key;
# 开启 SSL 协议
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location /ws {
proxy_pass http://127.0.0.1:8443; # 指向你的 Node.js WSS 服务
# 关键:升级协议头
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 保持连接超时设置,防止 WSS 被误判为空闲
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
# 传递真实客户端 IP
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
验证 WSS 是否生效:
- 用浏览器打开
https://your-domain.com。 - 打开开发者工具 (F12) -> Console。
- 运行上面的前端连接代码。
- 看 Network 标签,找到 WS 请求,检查其协议是否为
wss,且状态码为101 Switching Protocols。
5. 常见 WSS 错误排查
- ERR_SSL_PROTOCOL_ERROR:证书和私钥不匹配,或者证书已过期。
- Mixed Content:你的网页是 HTTPS 的,但 WebSocket 用了
ws://。必须全用wss://。 - CORS 错误:如果是不同域名下的 WSS 连接,确保后端设置了
Access-Control-Allow-Origin头。
总结
好了,今天的教程就到这里。我猜你大概率是在折腾 SharePoint 2013 的企业内网部署,因为这玩意儿配置繁琐,坑多,需要一步步来。记住,服务账户权限和SQL Server 版本匹配是两大杀手,搞定这两个,安装就成功了一大半。
如果你是在搞 WebSocket 安全通信,那核心就记住一点:HTTPS 页面必须配 WSS,Nginx 代理时要带上 Upgrade 头,否则握手会失败。
不管是哪种 WSS,系统安装和配置都是一件需要耐心和技术细节的事。希望这份详尽的指南能帮你少走弯路。如果在实际操作中遇到具体的报错代码,欢迎随时再来问我,咱们一起debug!
加油,祝你系统顺利跑起来!