HOWTO: Setup easy web development environment (XAMPP)
This is a how-to for setting up a web development environment easily. This guide will install the XAMPP lampp stack into /opt, setup an easy way to start it up and shut it down, and link a folder in your home directory to the webserver.
WARNING
This guide is aimed at a development environment only and should not be used as a public webserver. To setup a public webserver follow the directions on the Ubuntu wiki https://help.ubuntu.com/community/ApacheMySQLPHP
As this is Ubuntu, all the major parts of a typical web server are included (in the main repo, or on the Ubuntu Server CD) and this is a great way to setup a server. The ubuntu developers have prepared a great web server and have made the process as seemless as possible.
But what if even the official way is still to complicated? What if you just want a quick web server for development?
Fortunately there is the XAMPP project: http://www.apachefriends.org/en/xampp.html. The XAMPP project bundles Apache, PHP4 & 5, Perl, mySQL, and a bunch of other utilities/applications into an simple package for Mac OSX, Windows, Solaris, and Linux. Obviously this HOWTO only deals with the linux version.
For those of you with already existing Apache/mySQL/php installations it installs everything into /opt so it doesn't conflict with any other installation, and it is completely setup and ready to run.
Install XAMPP
Two easy steps:
- Download the most recent version of XAMPP: (at time of writing 1.5.3a)
http://prdownloads.sourceforge.net/x...ar.gz?download
(Source URL: http://www.apachefriends.org/en/xampp-linux.html#374) - Extract the archive to /opt using sudo: (make sure you are in the directory that you downloaded the archive to)
Code:
sudo tar xvfz xampp-linux-1.5.3a.tar.gz -C /opt
Start XAMPP
To start it up, open a terminal and type this:
Code:
sudo /opt/lampp/lampp start
Stop XAMPP
To stop it, open a terminal and type this:
Code:
sudo /opt/lampp/lampp stop
Additional XAMPP commands
To see additional commands, open a terminal and type this:
Code:
sudo /opt/lampp/lampp
Sweet XAMPP Control Panel
http://img108.imageshack.us/img108/5...olpanelfj6.png
To use the sweet gtk/python control panel:
Run in a terminal:
Code:
gedit ~/.local/share/applications/xampp-control-panel.desktop
Paste the following into the open file and save and exit.
Code:
[Desktop Entry]
Comment=Start/Stop XAMPP
Name=XAMPP Control Panel
Exec=gksudo "python /opt/lampp/share/xampp-control-panel/xampp-control-panel.py"
Icon[en_CA]=/usr/share/icons/Tango/scalable/devices/network-wired.svg
Encoding=UTF-8
Terminal=false
Name[en_CA]=XAMPP Control Panel
Comment[en_CA]=Start/Stop XAMPP
Type=Application
Icon=/usr/share/icons/Tango/scalable/devices/network-wired.svg
"XAMPP Control Panel" will show up in your applications menu under Internet. Use the Alacarte Menu Editor to move it around.
Test to see if XAMPP is running
Once XAMPP is up and running open firefox and go to: http://localhost/
You should see the XAMPP test page:
http://static.apachefriends.org/images/380.jpg
Location of files and uploading
XAMPP by default uses /opt/lampp/htdocs as the root web directory. The easiest way to start working on files is to link a folder in your home directory into this directory.
My user name is peter so I have /home/peter/public_html linked to /opt/lampp/htdocs/peter. So if I navigate to http://localhost/peter/ I get a listing of all the files/folders in that directory. (As long is there isn't a index.php/html/etc file)
To set this up, run in a terminal:
- Make public_html directory in home directory:
Code:
mkdir ~/public_html
- Link to /opt/lampp/htdocs
Code:
sudo ln -s ~/public_html /opt/lampp/htdocs/$USER
Now any files and folders you place in ~/public_html will be published to your personal webserver.
Bookmark http://localhost/username to make this easy to access.
WARNING - SECURITY
http://www.apachefriends.org/en/xampp-linux.html#381
Open holes:
- The MySQL administrator (root) has no password.
- The MySQL daemon is accessible via network.
- ProFTPD uses the password "lampp" for user "nobody".
- PhpMyAdmin is accessible via network.
- Examples are accessible via network.
- MySQL and Apache running under the same user (nobody).
This doesn't leave your whole system wide open, but someone could hack your XAMPP installation, so be wary.
To fix most of the security weaknesses open a terminal and run:
Code:
sudo /opt/lampp/lampp security
Feedback
Please read this post.
---- EDIT - July 28, 2006 ----
Minor Edits
---- EDIT - August 1, 2006 ----
Re-did xampp control panel shortcut to make it easier.
---- EDIT - August 16, 2006 ----
Added warning for public web servers and edited intro to make it more accurate.
---- EDIT - September 1, 2006 ----
Added sudo to security command.
Re: HOWTO: Setup easy web development environment (XAMPP)
contained a link to my site which had this tutorial but the one i wrote.
removed because i shut down the site
Re: HOWTO: Setup easy web development environment (XAMPP)
The url is broken for me. It could be the wierd port and the firewall here at school. Do you have it mirrored somewhere else?
Re: HOWTO: Setup easy web development environment (XAMPP)
Quote:
Originally Posted by
petervk
The url is broken for me. It could be the wierd port and the firewall here at school. Do you have it mirrored somewhere else?
yeah if your at school then i'm about 95% sure that it's broken from the firewall, and no i don't mirroed at the moment because i'm just using it as a developement server.
Re: HOWTO: Setup easy web development environment (XAMPP)
So far this post has just under 200 views, So great. If you read this and use it could you leave a reply saying if it was useful/useless? I'd like to keep improving this how-to, so feedback would be good.
Plus, replies bump it up the list.
Re: HOWTO: Setup easy web development environment (XAMPP)
This is a very nice Howto for me, I was wondering how to make php5 and php4 developements working seamlessly together in a handy way, and now I find out that XAMPP will be my best shot now. Thanks so much for this, and I bet that many ppl will find this helpful also, keep up the good work, petervk ;)
Re: HOWTO: Setup easy web development environment (XAMPP)
Very useful. That link trick alone was worth it. The .tar file didn't download for me but I just went to the XAMPP website and downloaded from one of the mirrors and then followed the rest of the instructions here.
Kevin
Re: HOWTO: Setup easy web development environment (XAMPP)
http://localhost/soclix works great but how to make it work with my ip, for my friend to have acces to http://myip/soclix ?
Re: HOWTO: Setup easy web development environment (XAMPP)
I'm biased against XAMPP. It's too unwieldy. I will be following this thread though.
Can you advise us the version of PHP and MySQL that the latest version of XAMPP installs? PHP 5.0? MySQL 5.0?
A CMS may require the use of PHP4.0 or PHP5.1 and MySQL 4.0 or MySQL 5.1.
XAMPP is pretty though.
Re: HOWTO: Setup easy web development environment (XAMPP)
Quote:
Originally Posted by
adamkane
I'm biased against XAMPP. It's too unwieldy. I will be following this thread though.
Can you advise us the version of PHP and MySQL that the latest version of XAMPP installs? PHP 5.0? MySQL 5.0?
A CMS may require the use of PHP4.0 or PHP5.1 and MySQL 4.0 or MySQL 5.1.
XAMPP is pretty though.
xampp installs the latest mysql version and gives you the option (after the install) about which version of php you would like run.