Skip to content

Installing Mukurtu on Windows

Alex Merrill edited this page Feb 23, 2022 · 6 revisions

Mukurtu CMS in a Windows environment is not currently recommended. While the application requirements for Drupal 7 allow for installation and use in a Windows environment the Mukurtu CMS team only performs unit, regression, and functional tests on Linux/Unix-based systems.

CONTENTS

  • Requirements and notes
  • Installation
  • Troubleshooting

REQUIREMENTS AND NOTES

Mukurtu on Windows with IIS requires:

  • A web server. For production use on Windows, IIS 7 or 8.5 is recommended.
  • PHP for Windows (5.6.20-nts-Win32-VC11-x86)
  • A database. MySQL Server 5.7 for best compatibility.
  • WinCache Extension for PHP (1.3.7.8-5.6-nts-vc11-x86)
  • PHP Manager for IIS 7 (1.2.0-x64) (works on IIS 8.x)
  • URL Rewrite (2.0)
  • WinCache Drupal module (8.x-1.6)
  • .NET Framework 3.5
  • Visual C++ Redistributable for Visual Studio 2012

Install Internet Information Server (IIS) and Extensions

  1. Open Server Manager
  2. On the top right menu, click Manage and select Add Roles and Features.
  3. Click Next on the Before You Begin wizard screen.
  4. Select Role-Base or feature bases installation
  5. Select your server (local server is selected by default) and click Next.
  6. Select Web Server (IIS) and click Next.
  7. Click Add Features on the Add Roles and Feature Wizard pop-up.
  8. On the Select features screen select .NET Framework 3.5 Features.
  9. Click Next on the Web Server Role (IIS) screen.
  10. On the Select role services screen, expand Application Development and select CGI and then click Next.
  11. Click Install.
  12. Click Close to exit the wizard.
  13. Download and install PHP Manager for IIS 7 extension (works for IIS 8-8.x) from https://phpmanager.codeplex.com/releases/view/69115
  14. Download and install URL Rewrite extension from http://www.iis.net/downloads/microsoft/url-rewrite

Install PHP for Windows

  1. Download the latest x86 version of PHP 5.6.x from http://windows.php.net/downloads/releases. (5.6.20-nts-Win32-VC11-x86).
  2. Extract the zip file content to C:\php\5_6 (Make sure php.exe is located at c:\php\5_6\php.exe once extracted).
  3. Download the latest 1.x.x version of wincache from http://windows.php.net/downloads/pecl/releases/wincache
  4. Extract the zip file and copy the file php_wincache.dll to C:\php\5_6\ext.
  5. PHP on Windows is not able to use the certificates stored on the Windows Operating System. The certificates must be downloaded and configured manually so that PHP can use them.
  6. Download the certificates from https://curl.haxx.se/ca/cacert.pem and copy the cacert.pem file to C:\php\5_6.
  7. Configure php.ini. Make a copy of C:\php\5_6\php.ini-production and name it php.ini.
  8. Open php.ini in a text editor and add the following lines to the end of the file:
; extension directory
extension_dir = "c:\php\5_6\ext"

; enable extensions
extension=php_intl.dll
extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll    
extension=php_gettext.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_opcache.dll
extension=php_openssl.dll
extension=php_wincache.dll

; SSL root certificates
curl.cainfo="C:\php\5_6\cacert.pem"

; enable opcache
zend_extension=php_opcache.dll
opcache.enable=1
opcache.mmap_base = 0x20000000

extension=php_pdo.dll
extension=php_pdo_mysql.dll

wincache.ucachesize=30
  1. Add the directory C:\php\5_6 to the system environment path. To do this, open File Explorer and right click "This PC" on the left panel.
  2. Select Properties on the menu to open the System window.
  3. Click Advanced system settings on the left and then the Environment Variables button.
  4. Under System variables, select Path and then click the Edit button.
  5. At the end of the Variable value add the PHP directory (Make sure to add the ; separator).
;C:\php\5_6
  1. Configure PHP using PHP Manger for IIS. Start IIS Manager, click on your local server on the left menu and double click PHP Manager.
  2. Click Register new PHP version and browse to C:\php\5_6 and select php_cgi.exe. Click Open to close the browse window and then click OK.

Install MySQL for Windows and configured database.

  1. Download and install MySQL Server 5.1-5.7.
  2. Once installed, launch MySQL Command Line Client as Administrator.
  3. From MySQL Command Line Client, type:
mysql> create database mukurtu;
  1. To select the newly created database, type:
mysql> use mukurtu;
  1. To grant permissions to the mukurtu database, type:
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER,
  CREATE TEMPORARY TABLES ON databasename.*
  TO 'username'@'localhost' IDENTIFIED BY 'password';

where:

'databasename' is the name of your database 'username' is the username of your MySQL account 'localhost' is the web server host where Mukurtu is installed 'password' is the password required for that username

Prepare Mukurtu Install

  1. Download the Mukurtu zip package from https://github.com/MukurtuCMS/mukurtucms
  2. Create a new directory named mukurtu in C:\inetpub\wwwroot
  3. Extract the containing mukurtucms-master.zip directory to C:\inetpub\wwwroot\mukurtu
  4. Create a new website in IIS for Mukurtu. To do this, open IIS Manager.
  5. Create a new website by right clicking the Sites folder on the right panel and select Add Website.
  6. On the Add Website form, enter a site name (e.g. Mukurtu) and select the directory where you extracted mukurtucms-master (e.g. C:\inetpub\wwwroot\mukurtu\mukurtucms-master. Click OK to create the site.
  7. We now need to fix permissions on the C:\inetpub\wwwroot\mukurtu directory and files.
  8. Open File Explorer and navigate to C:\inetpub\wwwroot. Right click the mukurtu directory and select properties.
  9. In the mukurtu properties window, select the Security Tab then click Edit.
  10. Click Add and then enter IIS AppPool\mukurtu and click Check Names.
  11. Once you click Check Names the text you enter will turn to an underline mukurtu. Click OK.
  12. Select Full Control for the Permissions for mukurtu and then click Apply.
  13. Again click Edit and then Add. This time enter IUSR then click Check Names and click OK.
  14. Select Full control for the permissions of IUSR and then click Apply.
  15. Now we need to add WinCache Drupal module.
  16. Download the latest version 8.x version of WinCache Drupal and copy the extracted wincachedrupal directory to C:\inetpub\wwwroot\mukurtu\mukurtucms-master\modules
  17. The Windows install has a hard time creating the sites\default\files\tmp directory so pre create it first.
  18. Now navigate to C:\inetpub\wwwroot\mukurtu\mukurtucms-master\sites\default and copy default.settings.php and paste in the same directory. Rename the copied file to settings.php
  19. Edit lines 578-584 on settings.php to include your MySQL database info (database name, username, password, host).

Install Mukurtu

  1. Start the Mukurtu installation by navigating to http://localhost in a browser.
  2. On the Choose language page, English is default, click Save and continue.
  3. If all the steps were followed correctly, the installed should jump to Install site with a progress bar.
  4. Finalize the install with Configure site and Site Information.
  5. Navigate to http://localhost or your site's URL to start editing your new Mukurtu CMS install.

Troubleshooting

  1. In the event that your new install loads blank white pages, reapply permissions to your database.