Tutorials and References for Web Servers
Posted 13 September 2010 - 12:22 PM
This topic will provide some links to common tutorials, references, articles and downloads related to web servers.
Check the posts below for further information.
Posted 13 September 2010 - 12:35 PM
When you first start dealing with a web server, you'll likely find it somewhat hard to install and configure all of the popular "extra" components of your setup. This includes for example PHP or MySQL. The following packages include the Apache web server, along with PHP, MySQL, and often also include some other extras that you'll eventually need.
You have to install only ONE of these packages - the overlapping stuff they contain will surely create problems if you try to have multiple packages at a time, or try to install a component they contain separately. It doesn't really matter which one you choose - they all offer the same basic things, but they have different ways of letting you easily control the whole thing.
- XAMPP - A cross platform web server package. Contains Apache and a lot of stuff in addition to the things you're sure to need. Don't forget to read the "Question" parts on the download page, and "Question 2" in particular.
- WAMPServer - A minimum package, containing fewer things beyond the Apache web server, specifically tailored for Windows. Don't forget to also read the "Presentation" page, and the "How to start" section in particular.
- Microsoft Web Platform Installer - A small Windows program that downloads and installs many components that you can select during the installation. Installs Microsoft's IIS web server, among other things you may need.
- MAMP - A MAC OS X tailored package. Contains Apache, all popular MAC OS X compatible PHP extensions and a few other things you may need. Don't forget to check it's documentation page.
Keep in mind that most (if not all) packages limit your ability to easily configure more "advanced" features, and they do them for you from a certain "common" file instead. For example, many let you switch between PHP versions, but they preserve certain settings across versions, and crash if you try to do things differently. When you reach the point where this "bureaucracy" is bothering you, you're probably ready to try to manually configure Apache and any extra components that you truly need.
Warning: If you have installed IIS (see below), make sure you have disabled it or uninstalled it before you proceed with installing any of these packages. There is a way to configure IIS and an Apache package to run side by side, but if this is the first time you're dealing with a web server, this is not a burden you want to have.
Warning: Package or not, you must still not forget to restart Apache for configuration settings (see below) to take effect. Depending on the way PHP is running, you may have to restart Apache for PHP setting changes too. Check out the documentation of your package to see how you can restart Apache and/or other components.
Posted 13 September 2010 - 12:41 PM
The "Apache HTTP Server" (often called just "Apache" for short, though technically, "Apache" are the creators of the program, not the program itself) is the most popular web server today, and is the one bundled with most of the packages above. One of the reasons it's favored over competing products like Microsoft's IIS web server is because it's open source software, and can therefore be made (i.e. be compiled) to run on a large range of operating systems, not just Windows. Any Apache related documentation you can find anywhere, you can try to apply on any package that contains Apache, or you can do it on the Apache you've downloaded and installed yourself.
- Official site: http://httpd.apache.org/
- Official documentation (for the current version): http://httpd.apache.org/docs/2.2/
- Official download page: http://httpd.apache.org/download.cgi (look for a "Win32 Binary" if you're using Windows; If you don't plan to serve HTTPS pages, it doesn't matter which of the two binaries you get.)
Note worthy articles from the official documentation:
- Configuration Files - One important addition is that by default, on Windows, "httpd.conf" can be found in "C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf" (on XP and 32 bit versions of Vista and 7, without the "(x86)" part). Be sure to open this file to get your "aha" moment.
- Mapping URLs to Filesystem Locations
- Authentication, Authorization and Access Control
- Apache mod_rewrite - before trying to do rewrites on your own, you should probably first try to learn "regular expressions" (if you haven't already; Google it) and run some of those examples, just to get a feeling of the overall process.
- .htaccess files
Warning: If you install Apache, or a package containing Apache, do NOT install IIS or a package containing IIS. There is a way to configure them to run side by side, but if this is the first time you're dealing with a web server, this is not a burden you want to have.
Warning: Don't forget to restart Apache when you make changes to "httpd.conf" or an included ".conf" file! Changes will not be applied unless you do that. To be sure, shut down, and then start Apache instead of using the "Restart" option. You don't need to restart Apache for configurations in ".htaccess" files to take effect.
Posted 13 September 2010 - 02:02 PM
IIS is the second most popular web server today. Made by Microsoft, logically, runs only on Windows operating systems. Some of the reasons people end up using IIS as opposed to Apache is because ASP.NET runs best on IIS, and in fact, IIS is the only web server capable of running compiled (as DLLs) ASP.NET files. The tight integration between Windows' security and user model and IIS is also note worthy, even though that may not seem like a benefit to a newbie.
Different versions of IIS come bundled with each version of Windows, but none is installed (let alone enabled) by default. To quote Wikipedia:
- IIS 1.0, Windows NT 3.51 available as a free add-on
- IIS 2.0, Windows NT 4.0
- IIS 3.0, Windows NT 4.0 Service Pack 3
- IIS 4.0, Windows NT 4.0 Option Pack
- IIS 5.0, Windows 2000
- IIS 5.1, Windows XP Professional, Windows XP Media Center Edition
- IIS 6.0, Windows Server 2003 and Windows XP Professional x64 Edition
- IIS 7.0, Windows Server 2008 and Windows Vista (Home Premium, Business, Enterprise, Ultimate Editions)
- IIS 7.5, Windows Server 2008 R2 and Windows 7
If you're using "Windows XP Home" or "Windows Vista Home Basic", you're out of luck. No IIS version is bundled. For "Windows XP Home", there's a hack you can try to do, but take it only as that - a hack. In other words - a very fragile and error prone method that you MUST do exactly as described and/or suffer the consequences. Avoid doing it if possible, and in that situation, use Apache instead.
Since IIS 7.0, IIS is now much more closely aligned with Apache, making it a worthy alternative to consider even if you're an Apache fan. In particular, the architecture is now divided into modules, and each feature is configured in its own separate GUI/configuration file section. Perhaps more importantly, you can disable modules you don't need, which in turn leads to less RAM consumption and better overall performance. And last but not least - Microsoft finally created a home grown URL rewriting module. Best part is that you can import Apache's mod_rewrite rules to it. While it's not bundled with IIS, the module is a free download for all supported IIS versions, and is easily installed.
- Official site: http://www.iis.net/
- Official documentation: http://learn.iis.net/
- Official download page: Not applicable. See above.
Note worthy official site links:
- IIS 7.* installation and configuration instructions
- URL Rewrite Module download page
- URL Rewrite Module documentation
- Video tutorials for various aspects of IIS 7.*
- Documentation and tips for running ASP.NET, PHP and other stuff on IIS 7.*
- Translate .htaccess Content to IIS web.config - even if you don't understand .htaccess contents yet, this is a useful overview of IIS' equivalent "web.config" files.
Warning: If you install IIS, or a package containing IIS, do NOT install Apache or a package containing Apache. There is a way to configure them to run side by side, but if this is the first time you're dealing with a web server, this is not a burden you want to have.
Warning: Similarly to Apache, many IIS configurations require a restart to take effect. Many don't, but if in doubt, stop and start the whole IIS server. In the GUI, that would be the parent of "Sites" on the far left. Click on that, and you should see the start and stop buttons on the far right.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users