Kamis, 07 Juni 2012

PHP Installation

What do you Need?

If your server supports PHP you don't need to do anything.
Just create some .php files in your web directory, and the server will parse them for you. Because it is free, most web hosts offer PHP support.
However, if your server does not support PHP, you must install PHP.
Here is a link to a good tutorial from on how to install PHP5:

Download PHP

Download PHP for free here:

Download MySQL Database

Download MySQL for free here:

Download Apache Server

Download Apache for free here:
XAMPP is a free and open source cross-platform web server solution stack package, consisting mainly of the Apache HTTP Server, MySQL database, and interpreters for scripts written in the PHP and Perl programming languages. Download xampp-windows The Installation Method A: Installation with the Installer Using the installer version is the easiest way to install XAMPP.  

After the installation is complete, you will find XAMPP under Start | Programs | XAMPP. You can use the XAMPP Control Panel to start/stop all server and also install/uninstall services.

The XAMPP control panel for start/stop Apache, MySQL, FilaZilla & Mercury or install these server as services.

* Method B: "Installation" without the Installer

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.
If you choose a root directory "C:\" as target, you must not start "setup_xampp.bat".
Like with the installer version, you can now use the "XAMPP Control Panel" for additional tasks.

* 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

* Start, stop, test the XAMPP servers

The universal control center is the "XAMPP Control Panel" (thanks It is started with:
As you know this from older XAMPP versions, you can also use some batchfiles to start/stop the servers:
Apache & MySQL start:
Apache & MySQL stop:
Nur Apache start:
Nur Apache stop:
Nur MySQL start:
Nur MySQL stop:
Mercury Mailserver start:
Mercury Mailserver stop:
FileZilla Server start:
FileZilla Server stop:


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

* Installing a particular server as as service

Each server in XAMPP you can install also as Windows service:
Apache service install:
Apache service uninstall:
MySQL service install:
MySQL service uninstall:
FileZilla service (un)install:
No service installation available!

* 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

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:

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 demopages.

This web based tool does not fix any additional security issues! 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: The Installer version

If you installed XAMPP using the installer version, please use the Uninstaller! The Uninstaller will delete all XAMPP entries from your registry and it will uninstall some installed services included with XAMPP. We highly recommend that you use the Uninstall program for removing XAMPP installations from the Installer version.
Please backup all the data you want to keep before uninstalling XAMPP.

* Method B: The ZIP & 7zip versions

Shut down all XAMPP servers and exit all panels. If you installed any services, uninstall and shut them down too. Now simply delete the entire folder where XAMPP is installed. There are no registry entries and no environment variables to clean up... just simply good, clean code!

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:

Executable: \xampp\htdocs
Allowed endings: .html .htm
=> basic package
Executable: \xampp\htdocs
Allowed endings: .shtml
=> basic package
Executable: \xampp\htdocs and \xampp\cgi-bin
Allowed endings: .cgi
=> basic package
Executable: \xampp\htdocs and \xampp\cgi-bin
Allowed endings: .php
=> basic package
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.
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.


* 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\ 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.


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).

Tidak ada komentar: