Wednesday, April 3, 2013

XAMPP for Linux


Step 1: Download

Simply click on one of the links below. It's a good idea to get the latest version. :)

A complete list of downloads (older versions) is available at SourceForge.

XAMPP for Linux 1.8.1, 2012/9/30

Version

Size

Notice
XAMPP Linux 1.8.1 81 MB Apache 2.4.3, MySQL 5.5.27, PHP 5.4.7 & PEAR + SQLite 2.8.17/3.6.16 + multibyte (mbstring) support, Perl 5.14.2, ProFTPD 1.3.4a, phpMyAdmin 3.5.2.2, OpenSSL 1.0.1c, GD 2.0.1, Freetype2 2.1.7, libjpeg 6b, libpng 1.2.12, gdbm 1.8.0, zlib 1.2.3, expat 1.2, Sablotron 1.0, libxml 2.7.6, Ming 0.4.2, Webalizer 2.21-02, pdf class 009e, ncurses 5.3, mod_perl 2.0.5, FreeTDS 0.63, gettext 0.17, IMAP C-Client 2007e, OpenLDAP (client) 2.3.11, mcrypt 2.5.7, mhash 0.8.18, eAccelerator 0.9.5.3, cURL 7.19.6, libxslt 1.1.26, libapreq 2.12, FPDF 1.6, XAMPP Control Panel 0.8, bzip 1.0.5, PBXT 1.0.09-rc, PBMS 0.5.08-alpha, ICU4C Library 4.2.1, APR (1.4.6), APR-utils (1.4.1)
MD5 checsum: e7092eafff81ad363de45d192774b4d6
Upgrade 1.8.0 to 1.8.1 32 MB Upgrade package. How to upgrade?
MD5 checksum: 990a56b93ba5a909a63b67ba4f0ac503
Development package 38 MB The development package contains all files you need if you want to compile other software packages for XAMPP by yourself and the Unix manual pages. Install this package like the normal XAMPP distribution:
tar xvfz xampp-linux-devel-1.8.1.tar.gz -C /opt
MD5 checksum: 1377159c73d9a5bfc0e930b122861ee6

Step 2: Installation

After downloading simply type in the following commands:
  1. Go to a Linux shell and login as the system administrator root: su
  2. Extract the downloaded archive file to /opt: tar xvfz xampp-linux-1.8.1.tar.gz -C /opt
    Warning: Please use only this command to install XAMPP. DON'T use any Microsoft Windows tools to extract the archive, it won't work.
    Warning 2: already installed XAMPP versions get overwritten by this command.
That's all. XAMPP is now installed below the /opt/lampp directory.

Step 3: Start

To start XAMPP simply call this command:
/opt/lampp/lampp start
You should now see something like this on your screen:
Starting XAMPP 1.8.1...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.

Ready. Apache and MySQL are running.
If you get any error messages please take a look at the Linux FAQ.

Step 4: Test

OK, that was easy but how can you check that everything really works? Just type in the following URL at your favourite web browser: http://localhost
Now you should see the start page of XAMPP containing some links to check the status of the installed software and some small programming examples.

Read Me


A matter of security (A MUST READ!)

As mentioned before, XAMPP is not meant for production use but only for developers in a development environment. The way XAMPP is configured is to be open as possible and allowing the 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:
  1. The MySQL administrator (root) has no password.
  2. The MySQL daemon is accessible via network.
  3. ProFTPD uses the password "lampp" for user "nobody".
  4. PhpMyAdmin is accessible via network.
  5. Examples are accessible via network.
  6. MySQL and Apache running under the same user (nobody).
To fix most of the security weaknesses simply call the following command:
/opt/lampp/lampp security
It starts a small security check and makes your XAMPP installation quite secure. For example this protects the XAMPP demo pages by a username ('lampp') and password combination.

Advanced start and stop parameters

Until version 0.9.4 /opt/lampp/lampp could only start and stop XAMPP. Since version 0.9.5 it learned a lot of new things to do.
START AND STOP PARAMETERS
Parameter Description
start Starts XAMPP.
stop Stops XAMPP.
restart Stops and starts XAMPP.
startapache Starts only the Apache.
startssl Starts the Apache SSL support. This command activates the SSL support permanently, e.g. if you restarts XAMPP in the future SSL will stay activated.
startmysql Starts only the MySQL database.
startftp Starts the ProFTPD server. Via FTP you can upload files for your web server (user "nobody", password "lampp"). This command activates the ProFTPD permanently, e.g. if you restarts XAMPP in the future FTP will stay activated.
stopapache Stops the Apache.
stopssl Stops the Apache SSL support. This command deactivates the SSL support permanently, e.g. if you restarts XAMPP in the future SSL will stay deactivated.
stopmysql Stops the MySQL database.
stopftp Stops the ProFTPD server. This command deactivates the ProFTPD permanently, e.g. if you restarts XAMPP in the future FTP will stay deactivated.
security Starts a small security check programm.
For example: To start Apache with SSL support simply type in the following command (as root):
/opt/lampp/lampp startssl
You can also access your Apache server via SSL under https://localhost.

* What is where?

What is where? A big question of our existens, here are some answers! ;)

What is where? A big question of our existens, here are some answers! ;)
IMPORTANT FILES AND DIRECTORIES
File/Directory Purpose
/opt/lampp/bin/ The XAMPP commands home. /opt/lampp/bin/mysql calls for example the MySQL monitor.
/opt/lampp/htdocs/ The Apache DocumentRoot directory.
/opt/lampp/etc/httpd.conf The Apache configuration file.
/opt/lampp/etc/my.cnf The MySQL configuration file.
/opt/lampp/etc/php.ini The PHP configuration file.
/opt/lampp/etc/proftpd.conf The ProFTPD configuration file. (since 0.9.5)
/opt/lampp/phpmyadmin/config.inc.php The phpMyAdmin configuration file.

* Stopping XAMPP

To stop XAMPP simply call this command: /opt/lampp/lampp stop
You should now see:
Stopping LAMPP 1.8.1...
LAMPP: Stopping Apache...
LAMPP: Stopping MySQL...
LAMPP stopped.

And XAMPP for Linux is stopped.

* Uninstall

To uninstall XAMPP just type in this command: rm -rf /opt/lampp
The end.

only show translated menu items into current language (Drupal 8)

function MY_THEME_preprocess_menu(&$variables) {   if ($variables['menu_name'] == 'brancott-header-menu') {    $langu...