XAMPP for Windows

XAMPP Girlie We've released the new version of XAMPP 1.7.2, including:

  • Apache 2.2.12 (IPv6 enabled) + OpenSSL 0.9.8k
  • MySQL 5.1.37 + PBXT engine
  • PHP 5.3.0
  • phpMyAdmin 3.2.0.1
  • Webalizer 2.21-02 + GeoIP lite
  • FileZilla FTP Server 0.9.32
  • msmtp 1.4.17

Please visit the win32 compatibility list.

For all "newcomers": You only need the XAMPP basis package. "Add-On" packages are optional.

Download older versions of XAMPP (even the "old" WAMPP) directly from SourceForge.

See also:
»FAQ - Vista problems«
Vista Note:
Because of missing or insufficient write permissions in "C:\Program Files", we recommend to use alternate folder for XAMPP ("C:\xampp" or "C:\meinverzeichnis\xampp").

Jump-off point

Download

XAMPP
XAMPP Add-Ons
XAMPP Lite

The Installation

Method A: Installation with the EXE
Method B: "Installation" without the Installer
The setup script
I want to start XAMPP without setup

The Practice

Practice 1: The XAMPP Shell and the CLI
Practice 2: Start, stop, test the XAMPP servers
Practice 3: Installing a particular server as as service
Practice 4: The XAMPP Add-Ons
Practice 5: The XAMPP upgrades

A matter of security (A MUST READ!)

The XAMPP security console

The Uninstallation

Method A: with the uninstall script
Method B: just delete it

Basic Questions

Question 1: What is the "Lite" version of XAMPP?
Question 2: Where should I place my web content?
Question 3: Can I move the XAMPP installation?
Question 4: "automatic start pages" for the WWW directories?
Question 5: Where can I change the configuration?

READ ME

Where can I get more information (FAQs, etc.)?
What is where?

Download

* XAMPP

You can download XAMPP for Windows in two different variations:

Self-extracting RAR archive:
Easy and safe: XAMPP as self-extracting RAR archive with autostart of the setup script.
ZIP archive:
For purists: XAMPP as ordinary ZIP archive.

See also:
»FAQ - virus warnings«
Attention:
If you extract the files, there can be false-positives virus warnings.

XAMPP for Windows 1.7.2, 2009/08/10
Version Size Content
XAMPP Windows 1.7.2
[Basic package]

Apache 2.2.12 (IPv6 enabled), MySQL 5.1.37 + PBXT engine, PHP 5.3.0, OpenSSL 0.9.8k, phpMyAdmin 3.2.0.1, XAMPP Control Panel 2.5.8, XAMPP CLI Bundle 1.6, Webalizer 2.21-02, Mercury Mail Transport System v4.62, msmtp 1.4.17, FileZilla FTP Server 0.9.32, SQLite 2.8.17, SQLite 3.6.16, ADOdb 5.09a, eAccelerator 0.9.6-rc1, Xdebug 2.0.5, Ming 0.42
For Windows 2000, 2003, XP, VISTA. See README
EXE 44 MB Self-extracting RAR archive
MD5 checksum: 14c2e3e35f9792b9aec674548472348b
ZIP 84 MB Gewöhnliches ZIP archive
MD5 checksum: 087af5c2e6a936dd90587e0bacc3aef3
XAMPP Windows 1.7.2
[Update package]

Not available yet

* XAMPP Add-Ons

The following packages are extensions (add-ons) for the above XAMPP package. You don't need them for normal work.

XAMPP for Windows Add-Ons
Version Size Content
Tomcat 6.0.20
1.7.2

Tomcat 6.0.20 and mod_jk 1.2.20 for the XAMPP base package 1.7.2
For Windows 2000, 2003, XP, VISTA. See README
EXE 30 MB Self-extracting RAR archive
MD5 checksum: 6f9e12ce45827afb985b80c8811e51bc
ZIP 42 MB ZIP archive
MD5 checksum: dc57b5fe3d26e82916d18246619a1194
Perl Add-On
Since XAMPP 1.7.2 part of the basic package.

* XAMPP Lite

"XAMPP Lite" s an additional extra small XAMPP edition. It's the successor of the old MiniXAMPP. But in contrast to the big XAMPP it's not updated really often.

XAMPP Lite
Version Size Content
XAMPP Lite 1.7.2
Apache 2.2.12 (IPv6 enabled), MySQL 5.1.37 + PBXT engine, PHP 5.3.0, OpenSSL 0.9.8k, phpMyAdmin 3.2.0.1, XAMPP Control Panel 2.5.8, XAMPP CLI Bundle 1.6, Webalizer 2.21-02, msmtp 1.4.17, SQLite 2.8.17, SQLite 3.6.16, Ming 0.42
For Windows 2000, 2003, XP, VISTA. See README
EXE 26 MB Self-extracting RAR archiv
MD5 checksum: b3b8dd99842c12ece0abf2004974d997
ZIP 56 MB ZIP archiv
MD5 checksum: 2e0320bcc7c7a335bc83f65d83dc195f

The Installation

Ads

* Method A: Installation with the EXE

SFX select path Using the self-extracting archive is the easiest way to install XAMPP. Start the EXE file, choose a directory and click on "Install".

SFX extraction XAMPP is extracting now and the setup script "setup_xampp.bat" will be start automatically.

The self-extracting archive knows following parameters:

  • -d[targetdir]
    default is "C:\"
  • -s or -s1
    start extraction automatically without progress indicator
  • -s2
    start extraction automatically with progress indicator
  • -sp[extract|auto]
    • "extract" = don't start the setup script
    • "auto" = setup script without keyboard input, using default values

E.g. you can make an automatic installation of XAMPP into the directory "D:\www" with:
xampp-win32-1.7.2.exe -dD:\www -s2 -spauto

Warning:
All files in the target directory will be overwritten!

XAMPP Control Panel Now you can start the "XAMPP Control Panel". With the CP you can start/stop the servers, or install them as Windows services (checkbox "Svc").

* Method B: "Installation" without the Installer

ZIP select path Unzip the zip archives into the folder of your choice. XAMPP is extracting to the subdirectory "[Ziel]\xampp" below the selected target directory. Now start the file "setup_xampp.bat", to adjust the XAMPP configuration to your system.

ZIP extraction If you choose a root directory "C:\" as target, you must not start "setup_xampp.bat".

Like with the EXE, you can now use the "XAMPP Control Panel" for additional tasks.

* The setup script

Setup script With the setup script "setup_xampp.bat", which you can start at every time and is located in the folder "\xampp", you can:

  • start the "XAMPP Control Panel"
  • in the case you have moved XAMPP to another location, you can relocate the paths in the configuration files. You can also switch between absolute (with drive letter) and relative (without drive letter) path names
  • (de-)activate basic functions or add-ons

At the first start (XAMPP installation):

  • you can install startmenu/desktop icons
  • you must locate the paths
  • the timezone for PHP and MySQL is configured

* I want to start XAMPP without setup

If you extract XAMPP in a top level folder like "C:\" or "D:\", you can start most servers like Apache or MySQL directly without execution of the file "setup_xampp.bat".

Not using the setup script, or selecting relative paths in the setup script, is preferred if you are installing XAMPP on a usb drive. Because on each pc such a drive can have an other drive letter. You can switch from absolute to relative paths at any time with the setup script.

The Practice

* Practice 1: The XAMPP Shell and the CLI

For all friends of the console ("cmd.exe"), there is the XAMPP Shell "xampp_shell.bat".

XAMPP Shell The XAMPP Shell is a command line interface with an adjusted searchpath ($PATH) for the XAMPP tool. Also some environment variables are set.

If you have already opened a command shell, you can set the necessary paths and variables for XAMPP with:
\xampp\xampp_shell.bat setenv

Especially working with PEAR ("pear.bat") or Perl ("cpanp.bat" / "ppm.bat") should be done with the XAMPP Shell.

All peoples who want control the XAMPP servers in the shell, or remote with e.g. telnet, can use the XAMPP CLI (Command Line Interface).

Usage:

xampp_cli.exe «command» «service»

Examples:

  • start/stop Apache and MySQL
    • xampp_cli start xampp
    • xampp_cli stop xampp
  • (de-)install Apache as Windows service
    • xampp_cli installservice apache
    • xampp_cli deinstallservice apache
  • start/stop Mercury
    • xampp_cli start mercury
    • xampp_cli stop mercury

If you start the CLI without a parameter, you can see the available ones.

* Practice 2: Start, stop, test the XAMPP servers

The universal control center is the "XAMPP Control Panel" (thanks www.nat32.com). It is started with:
\xampp\xampp-control.exe

As you know this from older XAMPP versionsh, you can also use some batchfiles to start/stop the servers:

Apache & MySQL start:
\xampp\xampp_start.exe
Apache & MySQL stop:
\xampp\xampp_stop.exe
Nur Apache start:
\xampp\apache_start.bat
Nur Apache stop:
\xampp\apache_stop.bat
Nur MySQL start:
\xampp\mysql_start.bat
Nur MySQL stop:
\xampp\mysql_stop.bat
Mercury Mailserver start:
\xampp\mercury_start.bat
Mercury Mailserver stop:
\xampp\mercury_stop.bat
FileZilla Server start:
\xampp\filezilla_start.bat
FileZilla Server stop:
\xampp\filezilla_stop.bat

XAMPP Status Test:

After starting of Apache (and MySQL), go to the address http://localhost/ or http://127.0.0.1/ in your browser and examine all of the XAMPP examples and tools.

* Practice 3: Installing a particular server as as service

Each server in XAMPP you can install also as Wndows service:

Apache service install:
\xampp\apache\apache_installservice.bat
Apache service uninstall:
\xampp\apache\apache_uninstallservice.bat
MySQL service install:
\xampp\mysql\mysql_installservice.bat
MySQL service uninstall:
\xampp\mysql\mysql_uninstallservice.bat
FileZilla service install:
\xampp\FileZillaFTP\filezilla_installservice.bat
FileZilla service uninstall:
\xampp\FileZillaFTP\filezilla_uninstallservice.bat
Mercury service install:
\xampp\MercuryMail\mercury_installservice.bat
Mercury service uninstall:
\xampp\MercuryMail\mercury_uninstallservice.bat

* Practice 4: The XAMPP Add-Ons

Still questions? See also:
»Forum - Questions about Add-Ons«
Many additional add-ons exist for the development with the main package. At the moment, the official add-ons for win32 from this side are:

  • Perl add-on with mod_perl and a selection of important Perl Modules.
    As of XAMPP 1.7.2 part of the basis package.
  • Tomcat add-on with mod_jk and Sun JRE5

Add-On select path You can install add-ons like the XAMPP basis package, with a EXE or a ZIP. Extract the add-ons directly into the XAMPP directory, e.g. "C:\xampp". In contrast to the XAMPP basis package, you must always start the setup script "setup_xampp.bat" (manually or automatic). The setup script integrates the add-on into the XAMPP package.

Add-On setup script With the setup script, you can (de-)activate an add-on (if this function is available).

Additional XAMPP Add-Ons you can find at SourceForge.

* Practice 5: The XAMPP upgrades

With a new XAMPP version, there is normally a upgrade package too. Additionally, we have sometimes small patches between the releases.

An upgrade is always problematically and there can be errors in the upgrade process. Because of this, you should always make a backup from your XAMPP folder before you upgrade it. werden.

We are trying to adjust your configuration files during the upgrade progress, if necessary. Especially if a new XAMPP have a lot of changes compared to the old one, we are providing no upgrade package for security reasons. Sorry.

As with the add-ons, install the upgrade directly into the XAMPP directory (e.g. "C:\xampp"). And you must also start the setup script "setup_xampp.bat".

A matter of security (A MUST READ!)

* The XAMPP security console

Security Status As mentioned at another place, XAMPP is not meant for production use but only for developers in a development environment. XAMPP is configured is to be as open as possible and to allow the web developer anything he/she wants. For development environments this is great but in a production environment it could be fatal.

Here a list of missing security in XAMPP:

  • The MySQL administrator (root) has no password.
  • The MySQL daemon is accessible via network.
  • phpMyAdmin is accessible via network.
  • The XAMPP demopage is accessible via network.
  • The default users of Mercury and FileZilla are known.

All points can be a huge security risk. Especially if XAMPP is accessible via network and people outside your LAN. It can also help to use a firewall or a (NAT-) router. In case of a router or firewall, your pc is normally not accessible via network. It is up to you to fix these problems. As a small help there is the "XAMPP Security console".

Please secure XAMPP before publishing anything online. A firewall or an external router are only sufficient for low levels of security. For slightly more security, you can run the "XAMPP Security console" and assign passwords.

If you want have your XAMPP accessible from the internet, you should go to the following URI which can fix some problems:
http://localhost/security/

Security change password With the security console you can set a password for the MySQL user "root" and phpMyAdmin. You can also enable a authentication for the XAMPP demopage.

This web based tool does not fix any problem! Especially the FileZilla FTP server and the Mercury mail server you must secure yourself. If you don't need these servers, don't start them. A server which is not started, is very secure!

The Uninstallation

* Method A: with the uninstall script

uninstall skript If you want uninstall XAMPP, you can use the uninstall script:
\xampp\unstall_xampp.bat

This script:

  1. deinstalls the Windows services
  2. delete the startmenu/desktop icons
  3. delete the XAMPP directory

If selected, the directories "\xampp\htdocs" and "\xampp\mysql\data" are not deleted. But you should really thinl about, if need something from your stuff, like configuration files, before you start the uninstall process..

* Method B: just delete it

It's also possible to remove/delete by your own:

  1. stop all serves
  2. remove the Windows services
  3. stop the XAMPP Control
  4. delete the startmenu/desktio icons
  5. delete the XAMPP directory

As with the unnstall script, 1st backup things you still need, 2nd delete...

Basic Questions

* Question 1: What is the "Lite" version of XAMPP?

XAMPP Lite (means "light" as in "light-weight") is a smaller bundle of XAMPP components, which is recommended for quick work using only PHP and MySQL. Some servers or tools such as Mercury Mail and FileZilla FTP are missing in the Lite version.

* Question 2: Where should I place my web content?

Problems? See also:
»FAQ - XAMPP for Windows«
The main directory for all WWW documents is \xampp\htdocs. If you put a file "test.html" in this directory, you can access it with the URI "http://localhost/test.html".

And "test.php"? Just use "http://localhost/test.php". A simple testscript can be:
echo 'Hallo world';
?>

A new subdirectory for your web? Just make a new directory (e.g. "new") inside the directory "\xampp\htdocs" (best without whitespaces and only ASCII), create a test file in this directory and access it with "http://localhost/new/test.php".

Further specifics:

HTML:
Executable: \xampp\htdocs
Allowed endings: .html .htm
=> basic package
SSI:
Executable: \xampp\htdocs
Allowed endings: .shtml
=> basic package
CGI:
Executable: \xampp\htdocs and \xampp\cgi-bin
Allowed endings: .cgi
=> basic package
PHP:
Executable: \xampp\htdocs and \xampp\cgi-bin
Allowed endings: .php
=> basic package
Perl:
Executable: \xampp\htdocs and \xampp\cgi-bin
Allowed endings: .pl
=> basic package
Apache::ASP Perl:
Executable: \xampp\htdocs
Allowed endings: .asp
=> basic package
JSP Java:
Executable: \xampp\tomcat\webapps\java (e.g.)
Allowed endings: .jsp
=> Tomcat add-on
Servlets Java:
Executable: \xampp\tomcat\webapps\java (e.g.)
Allowed endings: .html (u.a)
=> Tomcat add-on

* Question 3: Can I move the XAMPP installation?

Yes, that's possible with XAMPP. After moving of the XAMPP directory, jou must execute "setup_xampp.bat". The paths in the configuration files will be adjusted with this step.

If you have installed any server as Windows service, you must first remove the Windows service, and after the moving you can install the service again.

Warning:
The configuration files from your own scripts, like for the software phpBB, are not adjusted. This task is up to you. But it's possible to write a "plug-in" the installer. With such a plug-in, the installer can adjust such files too..

* Question 4: "automatic start pages" for the WWW directories?

The standard filename for the Apache function "DirectoryIndex" is "index.html" or "index.php". Every time you are just browsing to a folder (e.g. "http://localhost/xampp/"), and Apache can find such a file, Apache is displaying this file instead of a directory listing.

* Question 5: Where can I change the configuration?

Almost all settings in XAMPP you can change with configuration files. Just open the file in a textedit and change the setting you want. Only FileZilla and Mercury should be configured with the application config tool.

A list of the configuration files you can find in the table configuration files.

READ ME

* Where can I get more information (FAQs, etc.)?

Problems? See also:
»FAQ - XAMPP for Windows«
Still questions? See also:
»Apache Friends Support Forum«

* What is where?

Configuration files

File (Directory) Usage
\xampp\apache\conf\httpd.conf The main configuration file for Apache. It's including other files from the subdirectory "extra".
\xampp\FileZillaFTP\FileZilla Server.xml The configuration file for the FileZilla FTP server. It's configured with the application "FileZilla Server Interface.exe" (button "Admin" in CP).
\xampp\MercuryMail\mercury.ini The configuration file for the Mercury SMTP server. It's configured with the application "mercury.exe" (button "Admin" in CP).
\mysql\bin\my.ini The configuration file for the MySQL Server.
\xampp\php\php.ini The configuration file for PHP.
\xampp\phpMyAdmin\config.inc.php The configuration file for phpMyAdmin.
\xampp\sendmail\sendmail.ini The configuration file for msmtp (sendmail compatible interface).
\xampp\webalizer\webalizer.conf The configuration file for the Webalizer.

Logfiles

File (Directory) Usage
\xampp\apache\logs\error.log The error log from Apache. Additional files can be in the same directory (if enabled).
\xampp\FileZillaFTP\Logs The logfiles from FileZilla FTP server (if enabled).
\xampp\MercuryMail\LOGS\ In subdirectories of this files are the logfiles from the several Mercury SMTP server modules.
\xampp\mysql\data\mysql.err The error log from MySQL. Additional files can be in the same directory (if enabled).
\xampp\sendmail\sendmail.log The logfile from msmtp (sendmail compatible interface).

common directories

File (Directory) Usage
\xampp\anonymous Download directory for anonymous FTP access.
\xampp\cgi-bin For the CGI scripts.
\xampp\htdocs There are the files from your homepage.
\xampp\MercuryMail\MAIL The mail postboxes.
\xampp\mysql\data The databases.
\xampp\webdav The directory for WebDAV access (if enabled).

Author: Carsten Wiedmann
Last modification: Thu Nov 19 15:43:34 2009
© 2002-2009 Apache Friends

0 komentar: