Community @ The Turning Gate

Support community for TTG plugins and products.

NOTICE

The Turning Gate's Community has moved to a new home, at https://discourse.theturninggate.net.

This forum is now closed, and exists here as a read-only archive.

  • New user registrations are disabled.
  • Users cannot create new topics.
  • Users cannot reply to existing topics.

You are not logged in.

#1 2012-09-24 21:42:35

Matthew
Administrator
From: San Francisco, CA
Registered: 2012-09-24
Posts: 5,795
Website

Microsoft IIS issues running TTG CE2 AutoIndex - Options?

Of late there have been several issues surrounding TTG CE2 Auto Index and Microsoft Windows/IIS Servers. I hope this sticky will help you understand why Windows based IIS servers are not recommended.

The issue
In order to support multiple web servers on any physical server setup web host providers must establish a security environment that 1) provides protection to the host operating system from any web server, and 2) protects one web server from another web server. While these same considerations apply to a Linux/Apache environment the very structure of the Windows/IIS file system introduces a disparity that cannot easily be allowed for and still offer a secure, protected environment.

Microsoft’s Integrated Information Service or IIS. IIS runs underneath Microsoft operating systems that support NTFS (New Technology File System) disks such as it’s desktop products (Windows XP, Vista, …) and it’s server products (Server 2000, 2003, …). As such, all Windows/NTFS file system references include a disk specification (for example, C: or E:) before any file paths are specified.

However, all Unix based systems like Linux contain one or more file systems. Each file system does not have to exist on a single hard disk. One hard disk may contain several file systems or a single file system may be spread across multiple hard disks. As such, Linux file system references do not include a disk specification but rather only include a file path specification. Typical Unix file path specifications look like ‘/usr/bin’ or ‘/home/websitename/public_html’.

One of the requirements for TTG CE2 Auto Index is the correct operation of the PHP function realpath(). One of the requirements for realpath() is the user id running your web server must have execute privileges to all segments of the file path specification. Under Windows, this will include the hard disk specification (ie. C: or E:). And therein lays the rub for TTG CE2 Auto Index.

The standard tool provided by Microsoft to manage IIS services cannot grant privileges outside of the file path structure defined for a web server; it is deemed outside of that tools domain and (correctly) resides with the host operating system. And the root path of any hard disks (ie. C:\ or E:\) fall into that category.

Due to the very nature of Windows/IIS/NTFS systems, the classic definition for the correct implementation of the PHP realpath() function can never be accomplished under this environment; it will always fail. As such TTG CE2 Auto Index will never operate correctly.

Such is life when you try to implement a software systems architecture on top of an operating system file architecture that it was not designed for in the first place. PHP was designed to run underneath Unix based systems like Linux and not underneath Windows/NTFS based systems. The phrase “Making a silk purse out of a sows ear” comes to mind!

The solution
Linux based Apache/PHP systems have been an open-based standard offering for many years. They provide a highly functional environment that serves up excellent web based experiences. TTG has decided that, in order to provide users with the best possible product, one that offers significant flexibility and extendibility, PHP was the way to go.

If you want to be able to run PHP, choose a web host provider that offers a Linux based Apache implementation. We further recommend that your host at least offer PHP version 5.2.6 or greater.

Recommendations
Take a long hard look at your web host before you sign up to any host provider. There are many out there who simply don't come up to the mark of a standard, reliable offering. Many web host providers offer minimal function yet with just a little shopping around you can find some very reliable exceedingly high function Linux/Apache/PHP servers out there – and they don’t cost a whole bunch either in terms of dollars or in terms of poor support of poorly structured offerings.

If you intend on growing your web business, you should also consider one that offers services ranging from entry level virtual based hosting through on up to dedicated hosting and possibly even content delivery services.

My own web experience with Bluehost has been stellar. They offer many value add services and scale well from small, low cost virtual hosts to edge computing content delivery networks. The Turning Gate runs on Media Temple; Media Temple offer highly scalable services and offer reasonable functionality.

References
Linux file systems: http://www.computing.net/answers/linux/ … 25618.html
PHP realpath() definition: http://php.net/manual/en/function.realpath.php
PHP realpath() problem: http://forums.iis.net/p/1153823/1887716.aspx


Matt

The Turning Gate, http://theturninggate.net

Offline

Board footer

Powered by FluxBB