How will web servers develop?

From home cooking to a gala dinner

Do you know about the basic advantages of content management systems (CMS), but still maintain your website by hand? You have decided to use a CMS in the future, but are still thinking about which one? You don't have a website yet, but want to know how to do it with blogs, wikis or even an online shop? Do you want to test your web development in your local network before you go online with it? In all of these cases, you've come to the right place.

The c't web development environment is located on the DVD enclosed with this edition and can be installed on a Windows PC in next to no time. However, there can be no question of an installation: You simply unzip the archive somewhere on the hard drive (where at least 1 GB is free), work with the environment and can simply delete it at any time. This also works on a flash stick, but not on CD or DVD, as the software requires write access to its directories.

The system is based on XAMPP (a complete server package from Apache, MySQL, PHP and Perl) for Windows. Only the Apache web server and the MySQL database run under Windows 98 SE, which is sufficient for working with the web development environment. You can do without the ftp server FileZilla and the e-mail server Mercury. After unpacking you start setup_xampp.bat in the root directory of the package, whereby, among other things, the current path is entered in some configuration files. The system is then ready for use.


The server can be most conveniently via the program xampp-control start. It should be run with administrator rights. With it you can install the servers as services befitting their status (Svc tick), which start automatically with every restart xampp-control but let it finish again. If you only develop for the web occasionally, it is better to start the server only when needed; otherwise they occupy memory unnecessarily.

Before starting the server, you should check whether the ports on which they offer their services are free. The VoIP software Skype can already use port 80. You can find that quickly with the program xampp-portcheck out: It shows which ports the respective servers need and whether they are free or occupied. Programs that occupy one of these ports must be closed in order to be able to work with the web development environment.

Incidentally, the XAMPP package itself contains another web server in addition to Apache. It belongs to the Mercury mail server and enables the management of mailing lists. The fact that it also runs on port 80 by default leads to some confusion. It is therefore stored in the web development environment.

If the Windows firewall is active, the system issues a security warning when the servers are started. The correct answer to the question of whether the program should still be blocked is "no longer blocking". Anyone who uses other firewall software must also grant the programs there the right to offer their services on the desired port numbers.

A source of constant annoyance when working with the web development environment on Vista is User Account Control (UAC). Sometimes it hinders file access, sometimes it makes it difficult to start services. You can either tackle each of these issues individually or bite the bullet and turn off UAC for web development time. To do this, start the program msconfig (via Windows key + R), highlighted under Tools the line Deactivate user account protection and click on begin. The change takes effect after a restart. In the same way, the user account protection can be reactivated before going back to the shark tank of the public internet.


Occasionally small problems arise with XAMPP, but they can be easily solved. So recognize xampp-control after the start, if it is already running, but only if it was started by the same user. If it runs under a different account because of admin rights, you will get the inappropriate error message: "The watchdog event could not be created."

over xampp-control the servers can also be managed (button Admin). The program WinMySQLadmin 1.4 opens on the MySQL server. This asks for a username and password for a database after the start. If you enter invalid account data here, the program annoys you with an error message every few seconds. Since it is also nested in the Startup folder, this can be quite weary. The program is satisfied when you open the tab my.ini setup and then change the last two lines in the edit window as follows:

user = joomla password = joomla

Despite the Windows firewall - and certainly without it - it would be an extremely bad idea to install the web development environment on a PC that has an analog modem, an ISDN adapter or a DSL modem without a NAT router and firewall is connected to the internet. Because it is a test environment in which everything is allowed, whose passwords have been published in a widely read computer magazine and whose server software may not always be up to date. The server would be easy prey for attackers.

In order to get an idea of ​​the (in) security of the system, call up the XAMPP administration under http: // localhost / xampp after starting Apache (even the fact that this is freely accessible may be considered a security hole). On the left in the menu you will find the point above Security check. Only when you have tinkered with the system long enough that after this check all points in the table are marked with a green "SECURE", and when you have changed all the passwords mentioned in this article, then you could consider using the port 80 of the server via the firewall of the DSL router for external access. It would be much better, however, to put the data you want to publish on a server at a web host.


The aforementioned ftp server FileZilla, which knows two users, is at the side of Apache. The guest account anonymous only has access to a directory reserved for it. webmaster (password: web), however, is allowed in the directory htdocs read and write in which the web server files are located. The account is useful, for example, if you work in the LAN with an HTML editor that has a built-in ftp client to upload the finished pages directly to the server. You will also find some of these editors on the booklet DVD.

Mailboxes have already been created in the Mercury mail server for the administrator accounts of all systems preinstalled in the development environment. Their password is identical to the name in the address. These mailboxes are managed by entering the xampp-control on admin clicks and then Configuration / Manage local users chooses. However, problems can arise if an e-mail address such as "webadmin @ localhost" is entered in a local web application because it checks it and complains about the missing top-level domain. But that's not a problem, because Mercury also delivers emails to, for example, "[email protected]" to the same account.

The core of the web development environment is the Apache with six installed systems: the versatile and popular CMS Joomla, its colleague Drupal, which is particularly suitable for online communities, the popular blog system WordPress, the MediaWiki known from Wikipedia, the popular Forum phpBB and the online shop osCommerce. The start page of the environment is located at http: // localhost, from which two links each lead to the systems: one to the frontend, i.e. the pages that visitors see, and one to the backend, where the website is managed. (ad)

The full article can be found in c't 13/2008.

Soft link

"Your appearance on the web"
You can find articles on the subject of "Your appearance on the web" in c't 13/2008:
Internet toolsP. 96
Develop websites locally and publish them on the InternetP. 110
Simulate slow internet connectionsP. 116