Cài đặt WordPress trên Windows Server 2012 với Webserver IIS đúng cách

0
3318
(Last Updated On: Th12 26, 2017)

Chào các bạn, hôm nay lại là một ngày mưa bão và mưa thì kéo dài. Mình ngồi lục lọi lại mấy đống tài liệu cũ trong Gmail. Giống như là ôn lại kỷ niệm xưa ấy mà, thế là mình thấy mấy cái ghi chú mà mình ghi chép lại để dành sau này có cần thì lôi ra đọc, nhưng mà nếu như vậy thì chỉ có mỗi mình đọc được thôi cho nên mình quyết định chia sẻ lại với tất cả mọi người với lại cho con cháu sau này nữa chứ.

Trong đó có ghi chú về cách cài đặt WordPress trên Windows Server đúng cách mà bạn có thể dùng để phát triển trang web của riêng bạn. Bởi vì nếu các bạn cài đặt theo cách thông thường như tải về Wamp hay Xampp thì mình không nói. Ở đây mình cài đặt WordPress trên webserver IIS 8.5 của hệ điều hành Windows Server 2012 R2. Tương tự bạn có thể cài đặt các mã nguồn khác theo cách thức tương tự như vậy. Có chăng là khác nhau về phần Rewrite URL thôi, bởi hầu hết các mã nguồn Web hiện nay chạy trên Apache và thường đi kèm với tập tin .htaccess (tập tin cấu hình cho webserver Apache để thiết lập các tùy chọn hay thực thi, quản lý quyền truy cập v.v…).

Đống tài liệu cũ này nhiều khi lại rất quý giá bởi không phải lúc nào bạn cũng có thể thông thạo để giải quyết mọi vấn đề xảy ra.

Trên Windows Server, nhà phát hành Microsoft của chúng ta viết ra chương trình Microsoft Web Platform Installer để hỗ trợ chúng ta cài đặt các mã nguồn phổ biến như WordPress, Joomla, Umbraco CMS, Moodle, DNN Platform,…

Tuy nhiên nếu các bạn cài đặt WordPress bằng chính công cụ này thì chưa thể hoạt động trơn tru liền được đâu mà sẽ phát sinh nhiều lỗi khác như sau khi Upload thì không thể xem hình ảnh được. Upload videos thì không thể xem được và Update Plugin thỉnh thoảng còn gặp lỗi nữa.

Việc cài đặt thế nào thì mình không nói đến ở đây nữa, mình chỉ đưa ra cách thiết lập đúng cách và khắc phục lỗi.

Trên Linux, các bạn cần cấp quyền cho User và Group: www-data cho thư mục và các tập tin của mã nguồn và các tập tin tải lên trong tương lai.

Trên Windows các bạn cần cấp quyền cho IUSRIIS_IUSRS. Quyền gồm thực thi, đọc, ghi.

Mình thiết lập cho Full Control luôn cho khỏe.

Và đối với thư mục C:\Windows\Temp các bạn cũng cấp quyền tương tự như vậy luôn. (Bởi các tập tin upload thông qua PHP sẽ đến thư mục này trước tiên, sau đó mới đến thư mục uploads trong wp-content của WordPress, do đó chúng ta cũng phải cấp quyền cho IUSRIIS_IUSRS).

Chọn Properties thư mục C:\Windows\Temp, chọn tab Security và chọn tiếp Advanced. Các bạn chọn Enable inheritance như hình trên luôn nhé.

Sau khi thiết lập Permission cho thư mục và các tập tin các bạn cần chắc chắn rằng Anonymous Authentication đối với site WordPress mà các bạn cài đặt được thiết lập cho IUSR.

Tưởng như tất cả đã xong nhưng một điều quan trọng nữa là các bạn thiết lập tiếp Permalink cho WordPress nữa. Để bật URL Rewrite cho WordPress trên IIS. Các bạn tạo tập tin web.config trong thư mục gốc của Website mà các bạn đã cài. Tập tin này tương tự như .htaccess trên Apache vậy. Các bạn cấu hình với nội dung sau:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
      <rule name="Wordpress" patternSyntax="Wildcard">
        <match url="*"/>
        <conditions logicalGrouping="MatchAll">
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
        </conditions>
        <action type="Rewrite" url="index.php"/>
      </rule>
    </rules>
    </rewrite>
  </system.webServer>
</configuration>

Rồi lại vào Settings => PermalinkSave thiết lập lại nhé.

Còn dưới đây là thiết lập để IIS phục vụ các tập tin tĩnh ngoài hình ảnh và các file videos thông thường như PDF, phông chữ,…

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <staticContent>

    <!-- Proper svg serving. Required for svg webfonts on iPad -->
    <remove fileExtension=".svg" />
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
    <remove fileExtension=".svgz" />
    <mimeMap fileExtension=".svgz" mimeType="image/svg+xml" />

    <!-- HTML4 Web font mime types -->
    <!-- Remove default IIS mime type for .eot which is application/octet-stream -->
    <remove fileExtension=".eot" />
    <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
    <remove fileExtension=".otf" />
    <mimeMap fileExtension=".otf" mimeType="font/otf" />
    <remove fileExtension=".ttf" />
    <mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
    <remove fileExtension=".woff" />
    <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
    <remove fileExtension=".woff2" />
    <mimeMap fileExtension=".woff2" mimeType="font/x-woff2" />
    <remove fileExtension=".crx" />
    <mimeMap fileExtension=".crx" mimeType="application/x-chrome-extension" />
    <remove fileExtension=".xpi" />
    <mimeMap fileExtension=".xpi" mimeType="application/x-xpinstall" />
    <remove fileExtension=".safariextz" />
    <mimeMap fileExtension=".safariextz" mimeType="application/octet-stream" />

    <!-- HTML5 Audio/Video mime types-->
    <remove fileExtension=".mp3" />
    <mimeMap fileExtension=".mp3" mimeType="audio/mpeg" />
    <remove fileExtension=".mp4" />
    <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
    <remove fileExtension=".ogg" />
    <mimeMap fileExtension=".ogg" mimeType="audio/ogg" />
    <remove fileExtension=".ogv" />
    <mimeMap fileExtension=".ogv" mimeType="video/ogg" />
    <remove fileExtension=".webm" />
    <mimeMap fileExtension=".webm" mimeType="video/webm" />

    <!-- Other types -->
    <remove fileExtension=".pdf" />
    <mimeMap fileExtension=".pdf" mimeType="application/octet-stream" />

    </staticContent>

    <!-- other settings, e.g. rewrite rules -->

  </system.webServer>
</configuration>

(Tham khảo Blog Zaven của tác giả Arthur Krupa).

Ghi chú: Các bạn có thể cài đặt thêm một số thành phần mở rộng cho IIS bằng chính Microsoft Web Platform Installer trong phần Product của chương trình này.

Chúc các bạn thành công!

Bình luận