Install IIS and PHP for Joomla

จำได้ว่าเมื่อ 2 ปีก่อน ตอนนั้น นักศึกษาฝึกงาน มาช่วยทางแผนก Training ทำ internal webpage ปกติ การทำ web service ทั่วไปจะแบ่งตาม สาย  เช่น

Image result for joomla iis

 

Linux –> Apache –> PHP

Windows Server –> IIS –> ASP

 

อีตอนใช้แบบ cross platform เช่น

Windows 2008 Server R2 –> Apache –> PHP (Joomla หรือ WordPress)  แบบนี้ มันก็ปกติ web app ทำงานได้ ไม่ช้า ไม่หน่วง

แต่ว่า ตอนนั้นจำไม่ได้ว่า เด็กฝึกงาน เขา configure ไว้ยัง หรือเราทำเอง หวาาา???

ให้โจทย์ไปว่า พี่ต้องการ SSO (Single Sign On) โดยใช้ AD account ในการทำ Authenitcated.  ก็เลยบอกน้องๆไปว่า  ต้องทำบน IIS เท่านั้น

คือไม่รู้เหมือนกันว่า AD authenticated มันทำบน
Windows + Apache แล้วใช้ Module ของ Joomla ได้ไหม

ผลปรากฏว่า พอ set up เป็น

Windows 2008 Server R2 + IIS + PHP + Joomla    เจ้าตัว SSO ทำ AD Authenticated ได้จริงเว้ยๆ แต่ว่า  Joomla    page load ครั้งแรก แม่งช้าาาาาาาาาาาาาา มากกกกกกกกกกกกกกกกกกกกกกก แต่พอ load เสร็จ แล้วก็เร็วปกติ

 

แต่ว่าตอนนั้นไม่ได้ใส่ใจเพราะว่า ไม่ได้เป็น Project Owner  น้องๆเขาฝึกงานกับ Training ไม่ใช่เรา แต่ก็เก็บความค้างใจไว้ อยู่นานว่าทำไมฟระ…

 

มารอบนี้ ต้องมาทำเอง เพราะว่าต้องส่ง Green Belt  แล้วต้องมานั่งดู ว่า มัน configure อย่างไง… เลยคิดว่าไปต้นฉบับจาก Microsoft เลยดีกว่า เขาว่าไง..

https://technet.microsoft.com/en-us/library/hh994592(v=ws.11).aspx

Microsoft บอกว่า ต้องทำดังนี้

1. IIS + CGI (FastCGI) อันนี้ ติดตั้งจาก Role >> Feature ได้

2. Configure PHP (อันนี้เคยทำไม่แปลกอะไร)

3. WinCache —> เออ อันนี้ ไม่เคยทำ เดี๋ยวจะลองว่ามัน work ไหม กับ page loading.

 

ม่ะรอบ นี้ ลองเอง กะมือ ปกติ ทำแต่งาน Network นานๆจะได้มา configure server สักที…

Windows 2008 R2 + IIS7 + PHP 5.6 + Wincache

 

image

 

Step 1

: Add Role ของ Web Server (IIS7) ใน Windows 2008 SErver R2
** ต้องเลือก CGI ด้วยนะ เดี๋ยวจะมาทำ FastCGI ต่อ

 

image

 

Step 2

ต่อไปก็ไป download ตัว PHP ที่ต้องการ

http://windows.php.net/download/

เอา version 7  แล้วกัน

VC14 x64 Non Thread Safe (2017-Jul-05 23:25:22) –> เราใช้ Windows 2008 Server R2 แบบ 64 bits.

image

เพราะว่าไป check joomla 3.7 system requirements มันบอกว่า

image

 

เออ จริงๆ มัน ใช้ DB ได้ 2 แบบ SQL กับ MySQL  เลยตะโกนไปถามทาง Programmer ว่าปกติที่ โรงงาน

IIS + SQL นี่เวลา เก็บ user session ใช้ AD authenticated จากที่ไหน ทำไง

ได้ใจความมาว่า ใช้ LDAP ไปเก็บ Session หน้า webpage แล้วค่อยส่ง ตัวแปร ไปเก็บใน SQL

คือใน IIS กับ SQL มันก็มี feature ของ AD authenicated ผ่าน Windows Authenticated  นะแต่ว่ามันใช้ยังไงฟระ

ถ้าจะใช้ IIS แล้วจับเราเฉพาะ Session ก็มี feature ให้อยู่แล้ว

ถ้าจะเอา SQL จับ authenticated SQL ก็มี feature เหมือนกัน

 

นึกไปนึกมาคิดถึง Lansweeper ตัวมันเป็น PHP แต่ DB ใช้ Impact SQL แต่ แล้ว เป็น AD authenticated ได้ด้วย ไล่ๆ ไปดู ก็เลย พบว่า เออ เจ้า Lansweep เวลา install มันจับ service ใน windows service สำหรับ เลือกเอา Windows Authenticated เลย ( Domain)

คิดไกลไปหน่อย นอกเรือ่งซะงั้น…

 

เอาเป็นว่า ตรูจะใช้ PHP + IIS แต่ เลือกเอา Active Directory Module ของ Joomla จับ session ผ่านหน้า web แล้วเก็บใน DB ที่เป็น MySQL แล้วกัน

https://docs.joomla.org/Active_Directory_Login_Module

 

 

Step 3

Download ตัว PHP_WinCache –> WinCache 2.0 for PHP 7.0 – x86 | x64
https://www.iis.net/downloads/microsoft/wincache-extension

image

 

Step 4 :

Install PHP

install PHP and WinCache
  • Extract all files in the PHP .zip package to a folder of your choice, for example C:\PHP\.
  • Extract the WinCache .zip package to the PHP extensions folder (\ext), for example C:\PHP\ext.
  • The WinCache .zip package contains one file (Php_wincache.dll).
  • Open Control Panel, click System and Security, click System, and then click Advanced system settings.
  • In the System Properties window, select the Advanced tab, and then click Environment Variables.
  • Under System variables, select Path, and then click Edit.
  • Add the path to your PHP installation folder to the end of the Variable value, for example ;C:\PHP. Click OK.
  • Open IIS Manager, select the hostname of your computer in the Connections panel, and then double-click Handler Mappings.
  • In the Action panel, click Add Module Mapping.
  • In Request path, type *.php.
  • From the Module menu, select FastCgiModule.
  • In the Executable box, type the full path to Php-cgi.exe, for example C:\PHP\Php-cgi.exe.
  • In Name, type a name for the module mapping, for example FastCGI.
  • Click OK.
  • Select the hostname of your computer in the Connections panel, and double-click Default Document.
  • In the Action panel, click Add. Type Index.php in the Name box, and then click OK.
  • Click Add again. Type Default.php in the Name box, and then click OK.

 

Step 5 : PHP TEST

To test your PHP installation

  1. Open a text editor, for example Notepad, as Administrator.
  2. In a new file, type the following text: <?php phpinfo(); ?>
  3. Save the file as C:\inetpub\wwwroot\Phpinfo.php.
  4. Open a browser and enter the following URL: http://localhost/phpinfo.phpA nicely formatted webpage is displayed showing the current PHP settings.

 

เจอ ERROR

image

Fix Error

1. เปิด extension=php_gd.dll ใน php.ini

2. install Microsoft Visual C++ 2015 Redistributable Update 3

https://www.microsoft.com/en-us/download/details.aspx?id=53587

3. Reboot Server 1 ครั้ง

image

(Php_wincache.dll)

image

** หรือใช้ Appl ช่วยลง component จาก Microsoft
https://www.microsoft.com/web/downloads/platform.aspx

 

Step 6

Download Joomla 3.7

https://downloads.joomla.org/

Download MySQL 5.5.38 (64 Bits)

 

Step 7

 

LDAPExplorerTool

http://ldaptool.sourceforge.net/

 

How to Integrate Joomla! 3 with Active Directory using LDAP

https://www.timplummer.com.au/4-how-to-integrate-joomla-3-with-active-directory-using-ldap

https://www.youtube.com/watch?v=0uVZ5kRYnB8

http://shmanic.com/tools/jmapmyldap/download.htm

Facebook Comments

Leave a Reply

Scroll to top