Results 1 to 3 of 3
Thread: Server Software
09-17-2004, 12:01 AM #1
- Join Date
- Dec 2003
There are many combinations of different operating systems and servers that it can be hard to know which one to go for. The two most common server configurations are Windows running Internet Information Server (IIS) or a *nix (Unix based) running Apache Server. By knowing more about the server platforms and the server software that can run on those platforms, you'll soon discover that not all servers were created equal.
Windows NT and Windows 2000
Windows NT servers are starting to become much more harder to find since Windows 2000 replaced it, but since it is essentially an upgrade it is no great loss. Most Windows servers typically run IIS 4 (WinNT) or IIS 5 (Win2000), but it is certainly possible to run other servers such as Apache on the Windows operating system; even if they don't quite work in the same way as on other platforms.
One of the main problems with using Windows as your operating system is that there is no sendmail program, which is essential to the running of some Perl scripts (although the better scripts have provided workarounds for this). File permissions are available, although they are much simpler compared to the *nix permissions that some may have grown used to; one permission setting includes all the possible users.
Due to the more relaxed attitude on file permissions, and the way that windows associates file types by extension, you may find it much easier to install scripts on a Windows machine since there are no permissions settings or paths to forget about. Password protection is available on Windows systems, however the only downside is that you will need to have access to the actual server itself to implement them (unless you are running Apache). It is always a good idea to hide sensitive data below the main web directory rather than relying on being able to password protect directories from prying eyes.
Unix (and Unix variants)
Unlike Windows, Unix, and it's many variants (Linux, FreeBSD and Sun) allow the user more control over the configuration of the server and the software that it uses. By connecting to the server using telnet or SSH connections, it is possible to schedule scripts to run automatically (a cron job), edit file and directory properties and permissions, and even debug scripts as they are running on the remote server! Of course, to be able to use your telnet access effectively you should know at least the basics of Unix; unfortunately it is a little more involved compared to using Windows, as Unix operating systems tend to use text based commands as opposed to using a Graphical User Interface (GUI).
Because Unix based systems do not need use as many system resources as those running Windows, it tends to be more stable and reliable. Given identical hardware specifications, a Unix system will be more efficient since it does not need the resources that the Windows system would use simply to update and interpret the GUI. If you want more server power for your money, Unix is a good choice; not only does it have more efficient resource management, but being open source, it is the cheapest option anyway!
Unix (and it's derivatives) is often the platform of choice for many web programmers that are developing scripts, with many of the scripts making use of the built in Unix program, Sendmail. Due to the open source nature of the Unix culture, there are plenty of free scripts available with many optimized for use on a Unix based server.
Internet Information Server (IIS)
IIS comes with full support for ASP; other servers do not support it without a 3rd party add on. Chili!Soft ASP is popular for those wanting to use ASP on *nix servers, however there are noticeable differences between the Microsoft version of ASP and Chili!Soft's version, and so it is best to use a Windows server for ASP pages to ensure they work as expected. Perl and PHP will happily work on a Windows machine, although some of the more advanced functions (which are not often used) may be quirky or missing altogether.
Most good Windows hosts will offer configuration of the host via some sort of control panel. The more advanced control panels will let you edit settings related to the domain you are hosting, but most should let you change the permissions of a file. The better control panels will let you customize your various error pages and offer password protection for your site.
Apache is a popular choice for server software because of its highly configurable nature. Because it is an Open Source server, it evolves rapidly and there are always plenty of volunteers to help find and fix the bugs.
The best thing about the Apache server is that you can configure it on a folder by folder basis using the .htaccess file. This contains information about how the folder and the files in it will behave when requested, allowing you to have many custom error pages, password protection and even a way to protect your images from displaying on unauthorized sites!
Apache can be confusing to understand how to configure at first, but it is worth pursuing because it is so flexible in the ways that it can be configured; spend enough time with it and you'll be able to get it to do pretty much what you want it to do. If you'd rather not get too intimate with the inner workings of an Apache server, then you might be able to do the configuration using a more user-friendly control panel. This will make the task much easier to understand and may even allow you access to change the behavior of parts of the server you wouldn't otherwise have the permissions to be able to alter.
So what Combination should I go for?
While it is certainly possible to install Apache on a Windows server, the two most common OS/Server combinations are Apache on *nix and IIS on Windows. IIS will only run on a Windows system at the present time, so having IIS on *nix is not an option.
- If you don't have any specific server or scripting needs, then it doesn't really matter which combination you go for; although choosing a *nix server over Windows will give you better value for money in terms of performance and uptime.
- If you need to use a specific technology and you know that it has limitations dependant on the operating system of your server, then the choice of server software should already be clear to you.
- ASP developers are better off using a Windows server running IIS, but can also use a Unix server if a 3rd Party add-on is used.
- PHP and Perl developers can use any environment that supports them, but it is worth noting that Apache has modules available that improve the efficiency of these languages; so perhaps they are more suited for use on a computer running Apache.
- If any PHP or Perl script requires the sendmail program, then the operating system will have to be *nix.
Author: Rosemarie Wise
09-17-2004, 02:06 AM #2wyrickjGuest
If you do run Windows Host and use ASP or ASP.NET you can use CDOSYS for emailing like sendmail. There are also ways to get access to a Windows Host with Telnet (SSH in Linux) or Terminal Services (very nice)
I run nothing but Windows servers so Windows Server management comes clear to me
09-17-2004, 12:26 PM #3
- Join Date
- Feb 2004
Windows management confuses me, I'm a Linux guy myself as far as that goes. Good article!The Web Hosting Show - The Voice of the Web Hosting World
Think of it as talk radio mixed with Web hosting discussion for both Web hosts and Web hosting clients! New episode every Monday!