How To Install XAMPP Stack On Ubuntu 16.04

To Install XAMPP Stack On Ubuntu 16.04

XAMPP is a free stack which contains PHP, Apache web server, MySQL database, and Perl. This framework installs Apache environment for developers easily. Installation of XAMPP Stack in Ubuntu is explained in this article.

Features

  • Regularly updated to the latest versions of Apache, MariaDB, PHP and Perl.
  • Supports other modules like OpenSSL, phpMyAdmin, MediaWiki, Joomla, WordPress etc.,
  • Tests the website designers and programmers work without Internet.
  • Secured package.
  • Allows creation and manipulation of databases in MariaDB and SQLite.


To Install XAMPP Stack

Before installing the package, create a directory.

user1@user1:~$ mkdir xampp
user1@user1:~$ cd xampp/
user1@user1:~/xampp$

Download the XAMPP package by using the wget command

user1@user1:~/xampp$ wget https://www.apachefriends.org/xampp-files/5.6.20/xampp-linux-x64-5.6.20-0-installer.run
--2016-07-13 16:26:51-- https://www.apachefriends.org/xampp-files/5.6.20/xampp-linux-x64-5.6.20-0-installer.run
Resolving www.apachefriends.org (www.apachefriends.org)... 107.22.247.161
Connecting to www.apachefriends.org (www.apachefriends.org)|107.22.247.161|:443... connected.
.
.
xampp-linux-x64-5.6 100%[===================> ] 129.19M 692KB/s in 4m 4s

2016-07-13 16:30:57 (543 KB/s) - ‘ xampp-linux-x64-5.6.20-0-installer.run’  saved [135465406/135465406]

Run the following command to make XAMPP execuatable.

user1@user1:~/xampp$ chmod +x xampp-linux-x64-5.6.20-0-installer.run

Install XAMPP stack as shown below.

user1@user1:~/xampp$ sudo ./xampp-linux-x64-5.6.20-0-installer.run
[sudo] password for user1:

Click Next

Select the required components and Click Next.

Click Next to proceed further.


XAMPP installation starts now.

Finally, click finish.

XAMPP welcome screen appears.

Click Manage servers to verify the list of currently running services.

Launch the XAMPP dashboard either by clicking on the Go to application from XAMPP Welcome tab.


Or

Open up your browser and navigate to http://localhost/ or http:/< IP_address> /

Access phpMyAdmin

phpMyAdmin is a graphical management tool for MySQL to create/delete/modify mysql databases through web browser.

Before accessing the phpMyAdmin, edit the httpd-xampp.conf file located in /opt/lampp/etc/extra/

user1@user1:~/xampp$ sudo vim /opt/lampp/etc/extra/httpd-xampp.conf
[sudo] password for user1:

Comment the following line

AllowOverride AuthConfig Limit
Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var

Then Add the following line.

AllowOverride AuthConfig Limit
# Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var

Save and quit the file.
Restart XAMPP service.

user1@user1:~/xampp$ sudo /opt/lampp/lampp restart

Now access the phpMyAdmin, by triggering the phpMyAdmin Tab on the dashboard.

Then click PHPINFO() on the dashboard.

Security Issues of XAMPP

XAMPP cannot be used in production environment due to security issues. To overcome this the following security issues to be cleared.

  • The MySQL administrator (root) has no password.
  • The MySQL daemon is accessible via network.
  • ProFTPD uses the password “ lampp” for user “ daemon” .
  • PhpMyAdmin is accessible via network.
  • Examples are accessible via network.

Run the following command to overcome the security issues.

user1@user1:~/xampp$ sudo /opt/lampp/lampp security

XAMPP: Quick security check...
XAMPP: Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [yes]
XAMPP: Password:
XAMPP: Password (again):
/opt/lampp/share/xampp/checkapache: line 41: /opt/lampp/htdocs/xampp/.htaccess: No such file or directory
cp: cannot stat ‘ /opt/lampp/htdocs/xampp/.htaccess’ : No such file or directory
cp: cannot stat ‘ /opt/lampp/htdocs/xampp/.htaccess’ : No such file or directory
chmod: cannot access ‘ /opt/lampp/htdocs/xampp/.htaccess’ : No such file or directory
chmod: cannot access ‘ /opt/lampp/htdocs/webalizer/.htaccess’ : No such file or directory
chmod: cannot access ‘ /opt/lampp/phpmyadmin/.htaccess’ : No such file or directory
XAMPP: Password protection active. Please use ' xampp'  as user name!
XAMPP: MySQL is accessable via network.
XAMPP: Normaly that' s not recommended. Do you want me to turn it off? [yes]
XAMPP: Turned off.
XAMPP: Stopping MySQL...ok.
XAMPP: Starting MySQL...ok.
XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes]
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Setting new MySQL pma password.
XAMPP: Setting phpMyAdmin' s pma password to the new one.
XAMPP: MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes]
XAMPP: Write the password somewhere down to make sure you won' t forget it!!!
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Setting new MySQL root password.
XAMPP: Change phpMyAdmin' s authentication method.
XAMPP: The FTP password for user ' daemon'  is still set to ' xampp' .
XAMPP: Do you want to change the password? [yes]
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Reload ProFTPD...ok.
XAMPP: Done.

Open the browser and Click phpMyAdmin in the dashboard.


Comment
suhasinisuvi
Jan 05 2018
sudo vim /opt/lampp/etc/extra/httpd-xampp.conf coomand not found ...its showing error
surajkolekar
Nov 04 2017
sudo vim /opt/lampp/etc/extra/httpd-xampp.conf coomand not found plz resolve this issue
shanali
Aug 13 2017
Hi i still get an error: Access forbidden! New XAMPP security concept: Access to the requested directory is only available from the local network. This setting can be configured in the file "httpd-xampp.conf". If you think this is a server error, please contact the webmaster. would be glad if u could help
jagannatharumugam
Apr 07 2017
It seems that the correct location is /opt/lampp/ not /opt/lamp/
rulerl0rd
Apr 07 2017
Thanks for the tutorial. But the file /opt/lamp/etc/extra/httpd-xampp.conf does not exist in my setup. Please advice.
Add a comment
FAQ
Q
Is XAMPP production ready?
A
XAMPP is not meant for production use but only for development environments. XAMPP is configured to be open as possible to allow 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:

The MySQL administrator (root) has no password.
The MySQL daemon is accessible via network.
ProFTPD uses the password "lampp" for user "daemon".
To fix most of the security weaknesses simply call the following command:

sudo /opt/lampp/lampp security

It starts a small security check and makes your XAMPP installation secure. For example this protects the XAMPP demo pages by a username ('lampp') and password combination.
Q
What is the Puropse of using the XAMPP stack?
A
XAMPP is a free stack which contains PHP, Apache web server, MySQL database, and Perl. This framework installs Apache environment for developers easily.
Q
How do I start XAMPP?
A
To start XAMPP simply call this command:

#sudo /opt/lampp/lampp start
Q
What do I do if the error message is "Cannot restore segment prot after reloc: Permission denied?"
A
Some Linux distributions have SELinux activated by default and this is preventing the successful start of XAMPP. You should disable it in order to start the XAMPP servers:

# sudo /usr/sbin/setenforce 0

Now XAMPP should work fine again.
Q
Does XAMPP include MySQL or MariaDB?
A
Since XAMPP 5.5.30 and 5.6.14, XAMPP ships MariaDB instead of MySQL. The commands and tools are the same for both.