Shell Bin

想要成为最强萌新

@Shell4月前

04/14
00:19
建站 计算机

IIS10 环境安装 Drupal 笔记

为了满足一些小企业低成本建站的需求。一直在 WordPress 自定义主题的路上越走越深,但修改主题灵活性还是很低。曾经也想过自己从头写一个动态站的实现,但以我当下的能力还是想都不要想。于是就换了另一套知名的开源 CMS:Drupal。

但有句话这样说:

在国外,什么叫好的CMS?就是足够开源,足够强大,足够简单,能够给二次开发的程序员足够的想像空间。
在国内,什么叫好的CMS?就是足够多的用户,足够漂亮的模板,足够复杂的插件,最好不用做任何二次开发就马上搭建一个门户网站的软件。

大概也是这样,Drupal在国内一直不受人待见吧(x

第一次使用 Drupal 就连安装都遇到了很多意外的问题。作为一个极简主义者(自封的),电脑里有 IIS 就绝对不会去用什么 WAMP 一类的东西,毕竟 Apache 的独有特性我肯定用不到的。
一切就绪后发现 Drupal 并不能正常运行并疯狂报错,按照一般的思路试图解决无果,配置文件也被我改的面目全非。最终本着更新软件的心态从零开始重新配置了下环境。写这个东西也是为了做个笔记避免日后的再次踩坑。基本是官方的文档的整理了。

这里假设你已经装好了MySQL数据库,如果没装就用默认的设置装好即可。然后新建一个给 Drupal 用的数据库。

 

1.配置 IIS

从控制面板里安装 IIS,在安装的时候记得选择以下项目:

  • HTTP重定向
  • CGI
  • IIS管理控制台
  • .NET可扩展性3.5
  • .NET可扩展性4.6

除了安装时候要准备的这些东西,别忘了在里面把 index.php 添加进默认文档列表里。
同时,在IIS管理器中打开主机的“处理程序映射”部分,并添加具有以下设置的模块映射:

  • 必需的路径:* .php
  • 模块:FastCgiModule
  • 可执行文件:[PHP的目录]\php-cgi.exe

这一套下来 IIS 部分的事情就搞定了。如果想了解关于更多在IIS里配置PHP的内容,可以来微软这里看看。https://docs.microsoft.com/en-us/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php

2.配置 PHP

下载最新版本的 non-thread safe version PHP 即可,具体安装方法不再详述,网上应该可以找到一大把的安装教程就毫无需要注意的部分了,但在配置php.ini 的时候要注意取消下面项目的注释(如果需要)并设置以下设置:

  • fastcgi.impersonate = 1
  • cgi.fix_pathinfo = 0(如果出现“No input file specified option”,就启用此选项)
  • cgi.force_redirect = 0
  • extension_dir =“ext”
  • error_log =“C:\inetpub\logs\php_error.log”
  • curl.cainfo =“[PHP的目录]\extras\ssl\cacert.pem”
  • mbstring.http_input = pass
  • mbstring.http_output = pass

至于说扩展,启用除了数据库相关的扩展,还有这些

  • Xmlrpc
  • Openssl
  • Curl
  • Mbstring
  • Gd2

顺便加这两个项目进去

  • extension=php_wincache.php
  • zend_extension=php_opcache.php

然后在 https://curl.haxx.se/docs/caextract.html 下载最新的cacert.pem文件并将其移至 [PHP的目录]\extras\ssl里面
然后把 [PHP的目录]添加进系统PATH变量中。

3.安装WinCache

  1. 在这里下载需要的 WinCache https://www.iis.net/downloads/microsoft/wincache-extension#additionalDownloads
  2. 下载相应的PHP版本的自解压程序。
  3. 运行解压缩程序并将文件解压到临时位置。
  4. 将“php_wincache.dll”复制到 [PHP的目录]\ext\里。

到这里,网站服务器这边的所有安装就完成了,可以用 <?php phpinfo(); 来检查安装情况。

4.安装Composer和Drush

这个是官方要求安装的,大概就是一个管理器的样子,但有必要装好

  1. https://getcomposer.org/download/下载Composer安装程序可执行文件并运行。
  2. 用管理员权限的cmd输入:composer global require drush/drush

最后,把Drupal弄进去,改一下文件的权限:

  1. 在站点的IIS管理器中创建一个新站点。确保它有一个独特的应用程序池并将“连接为…”设置为“应用程序用户(传递身份验证)”。
  2. 转到您网站设置的身份验证部分。编辑“匿名身份验证”为“应用程序池标识”。
  3. 为用户提供“IIS APPPOOL \ [应用程序池名称]”写入权限,以便访问Drupal中的所有文件。

重新启动一下 IIS。不出意外就可以在 127.0.0.1 看到 Drupal 的运行了。

IIS10 环境安装 Drupal 笔记