本文将以 Mediawiki 的部署为背景,完整操作部署 Windows Server 安装 IIS+MySQL+PHP 的流程。
环境准备
本文以 Windows Server 2019 Standard(DE) 为基础操作系统,因 Windows 系统主结构大差不差,因此用 Windows 8 以上的任意版本(不仅仅包括Server版)本文操作均可使用。
本文服务器配置:4C/8G/60G SSD
安装IIS
- 首先打开控制面板,程序和功能,启用或关闭 Windows 功能。
此时如果是 Windows Server 会弹出添加角色和功能向导;如果是非Server版则会弹出“Windows 功能”。 - 非Server版本在Windows功能界面中选中
Internet Infomation Service
后点击确定等待安装完成即可。 - Server版本的添加角色和功能向导前三步均保持默认,第四步选中
Web服务器(IIS)
; - 在接下来的角色服务中勾选
HTTP重定向
、动态内容压缩
和静态内容压缩
,此外还需要安装CGI(在Web服务器-应用程序开发下面); - 最后搜索一下IIS即可启动。
安装和配置PHP
请在安装和配置PHP之前先确定好你需要的是哪个版本的PHP
例如本文作为示例的Mediawiki就要求:MediaWiki与PHP 7.3.0 - 7.3.18和7.4.0 - 7.4.2不兼容。 请使用PHP 7.3.19+或7.4.3+代替。
。
所以这里将以PHP 7.4 (7.4.30)
版本作为示例。
首先到PHP For Windows页面下载你所需要的PHP版本二进制包,找到你想要的PHP版本和架构下载即可。
补充:现在PHP官方提供了线程安全和非线程安全的两个版本,处于稳定考虑这里以线程安全(Thread Safe)版本为例。
解压后将解压出来的文件夹放到任意卷的根目录下并改名为php
,随后打开控制面板,系统,高级系统设置,环境变量,将你存放php二进制文件的路径写入Path
变量中保存。
随后回到刚才存放php二进制文件的文件夹,找到php.ini-production
文件,将其后缀名更改为ini
后编辑该文件:
搜索Dynamic Extensions
,可以看到下面有很多行;extension=xxx
,前面的分号代表注释(不加载)。这里我们启用以下拓展:
1 | extension=curl |
此外还需要修改如下值,注意如果对应行是注释状态一定要把;
注记删除!
1 | date.timezone = Asia/Shanghai |
随后打开IIS管理器,选择处理程序映射,添加模块映射。
接下来打开Default Web Site
,找到默认文档,在其中添加一条index.php
。
然后回到Default Web Site
,点击右侧“浏览”,会自动打开该网站的根目录,在其中新建一个index.php
文件,并写入如下内容:
1 |
|
完成后在浏览器打开localhost
查看是否有正确返回,如果是空白页或者其他内容则为配置不正确,建议从头开始检查。
至此,PHP安装完成。
安装数据库
Mediawiki 官方推荐使用MariaDB数据库,但本文以 MySQL 数据库为例。
打开MySQL Community Downloads,选择mysql-installer-community-8.0.30.0.msi
那一行(文件体积较大的那一行是离线安装包,如果你对你的网络有足够的信心也可以下载第一行的Web安装器)。
在安装类型中选择Server Only
,然后下一步。
等待出现The action 'Install' for product 'MySQL Server 8.0.30' completed successfully.
时点击下一步开始配置。
第一步Config Type
选择Server Computer
,其余内容保持默认;第二步Authentication Method
选择5.x的验证方式;
接下来设置Root密码和其他用户,不建议直接使用root账户存储mediawiki的数据。但其他用户这里先不创建,等之后全部配置完成再说。
之后的作为服务安装(Windows Service)和应用设置(Apply Configuration)就直接下一步和执行(Execute)即可。
至此,MySQL的安装结束。
安装Mediawiki
这一步将正式在Windows服务器上安装Mediawiki。
下载
首先到Download - Mediawiki页面下载Mediawiki软件包(下载zip的就可以)。
然后解压到随便哪个地方都可以。
准备SSL证书
如果不需要启用SSL则此步可以跳过。
申请和获得SSL证书的方法就不说了,网上一搜一大把。这里重点说一下怎么导入和使用SSL证书。
下载IIS版本的证书包,一般来说是PFX格式的包含公钥密钥的证书。
双击pfx文件导入,“存储位置”选择“本地计算机”,随后输入密码,一般证书提供商会随证书一起给你,然后“自动选择存储位置”即可。
IIS建立站点
打开IIS管理器,将左侧栏“网站”下面的“Default Web Site”右键删除。
然后右键“网站”,选择“新建网站”。
对于不打算绑定域名的服务器来说,主机名处直接留空即可。
创建好之后按照上面的方法添加一个默认页index.php
。
然后访问服务器的域名,如果此时能够看见下面的样式则为配置成功。
配置数据库
打开MySQL 8.0 Command Line Client
,输入Root密码,即可进入mysql命令行。
在命令行中完成创建用户、创建库和授予权限。其中{password}
改成自己定义的密码。
1 | CREATE DATABASE IF NOT EXISTS mwdb DEFAULT CHARACTER SET = utf8mb4 DEFAULT COLLATE = utf8mb4_general_ci; |
生成配置文件
假设你的域名为example.com
,则打开example.com/mw-config
即可通过向导生成LocalSettings.php
。该文件是Mediawiki的个性化设置文件,里面包含了用户自定义的一些必要设置。
接下来就是依据向导一路配置下去即可,最后会让你下载一个LocalSettings.php
文件,将该文件直接放置在mediawiki的根目录即可。