How to install a full xampp webserver inside windows for development
by Tom on Mar.14, 2009, under Website Design, Website Development, Windows Software
There are multiple reasons that you might want to install a fully working web-server inside windows, the reason that I started off using stand-alone servers was for website development, if your a fully fledged website developer, designer or want to learn how to create dynamic websites these tools will make life so much easier! Cutting development time down.
I have tested many many stand-alone server packages out there and the best by far is XAMPP which runs on Windows 98, NT, 2000, 2003, XP and Vista and includes;
Apache, MySQL, PHP + PEAR, Perl, mod_php, mod_perl, mod_ssl, OpenSSL, phpMyAdmin, Webalizer, Mercury Mail Transport System for Win32 and NetWare Systems v3.32, Ming, JpGraph, FileZilla FTP Server, mcrypt, eAccelerator, SQLite, and WEB-DAV + mod_auth_mysql.
Now lets get an understanding of those tools included…
Apache - Is the main brain of the web-server, it serves the http server, and hosts the local domain http://localhost where you website/server will be based.
MySQL - Is a database management system that is used by most dynamic websites to store information, many open source applications use mysql such as drupal, wordpress, Joomla, SMF, PHPBB and millions more.
PHP + PEAR - And what codes are those open source applications written in? that would be PHP, PHP is an open source server-side scripting language used to create dynamic websites, PEAR is a PHP Extension and Application Repository (or PEAR) framework comprises reusable components. which cover most development problems to save time, more information can be found at http://www.pear.php.net.
Perl - is also a server-side scripting language, one of the first, and still used today.
phpMyAdmin – Is a very popular open source programme to manage MYSQL databases via a web browser.
Webalizer – web server log file analysis program, included for tracking visitor information.
Mercury Mail Transport System for Win32 and NetWare Systems v3.32 – This has many detailed operations but the simplese and most used reason is it includes a mail-server that lets you send and receive emails straight from your windows machine, a lot of php applications need to send emails, and this is the programme that makes that happen.
FileZilla FTP Server - FTP, File Transfer Protocol server is used to transfer files over a network (WAN, LAN or Internet using the FTP protocol)
So how do i get this working!!?
Its as easy as installing a normal application, all these packages have been put together in exe or zipped format, just visit the XAMPP for windows website and download http://www.apachefriends.org/en/xampp-windows.html.
So go ahead and install your version of xampp, depending on your operating system and what version you want, the easyest method for windows users is the instillation from the installer.
After the instillation is complete you will find the XAMPP control panel under your start menu, start >programmes > XAMPP
Or type XAMPP into windows vista start menu search bar.
You can start your web server by hitting “Start” on Apache, this runs Apache (see above for explanation) and Start MySql.
Testing local web server, using Joomla! ( or whatever cms you wish! )
The fastest and easiest way to get a website started and running, is to use a free open source php & MySql application, there’s billions out there, but today were going to start with joomla, as its highly supported and used around the net!
Im not going to go deep though the instillation as its quite straight forward, but if you don’t know how to do this i have provided links to a step by step screenshot instillation!
- Download the latest Joomla release Here
- Go to where Joomla was downloaded on your PC, right click on the Zipped joomla download, and hit extract.
- Go into the joomla main directory and copy over all the files to your new xampp installations Htdocs directory.
For example mine is at C:/xampp/htdocs, yours will depend on where you installed xampp, you can always go to your xampp control panel and click on “explore” then go into Htdocs. - Go into your favourite web browser, and head to http://localhost make sure you have started up Apache and MySql first, and you should be presented with the web based joomla installer, fill in the correct details and you will have a fully functioning interactive website, live to start editing from your home computer.
- You can start playing with new test website, installing themes and extensions
How do i get this online?
Now, some people will be thinking, I have a web server, how do set it up with a free domain?
These two simple steps will open your web server to the world, not that this is the safest thing to do.
Step 1
Port forwarding your router
You need to open a couple of ports on your router (if you have one) to point to your LAN computer on port 80 (http). At present your router probably blocks incoming connections on all ports for security, First of all we need to find the LAN address of your computer usually something like 192.168.0.4.
One thing beginners always fumble over, is the difference between a LAN ip and a WAN ip, LAN is your Local Area network, that’s everything connected to your router internal, and your WAN, wide area network, is your IP to the world (inter-webs =p ).
-
as were in windows open up RUN (start > run, or win+R) and type “cmd”.
-
This will open up command prompt, you need to type in ”ipconfig” to find out our internal LAN address.
- In CMD, you need the IPv4 or IPv6 address, or whatever version you are using. mine is 192.168.0.4, so I’ll use that as an example.
Step 2
Next You need to login to the admin panel of your router, all routers are different so this will vary, Although to our disposal is this database of port forwarding for a range of routers:
http://www.portforward.com/english/routers/port_forwarding/routerindex.htm
Once you have found your router, if it asks you what programme your port forwarding, its “Apache” and the port we want to forward is port 80 to your LAN ip (e.g. 192.168.0.4)
Yay were done! you can now give a friend your external ip address (wan) whats my external ip address? and they should be able to view your CMS install on your home windows web server!
If you dont have any friends, then you can check if its worked by using this cool service http://www.canyouseeme.org
How to setup a free domain
Now, there are not many of us that memorize IP addresses for websites, that’s why domain names were invented! so head on over to http://www.no-ip.com and grab yourself a free account and some free sub-domains, you can have up to 5 free sub domains that link direct to your home server, if you have a static WAN ip then you can put that IP in for each domain, but if you have a normal Internet connection, then you’ll probably have a dynamic IP, that means that it changes from time to time!
No worries, no-ip’s here to help! Just download there free Dynamic IP software, install and login, your sub-domains will show up, and update your dynamic IP to there servers automatically!
sorted, now you can send out your cool, witty free sub-domains to friends, to access your free hosted website, running free CMS software.
How to setup a .com or Top domain with my hosting
You can also upgrade your no-ip account and buy a cheap .com .net .co.uk or whatever. register and upgrade No-ip account.
March 15th, 2009 on 2:54 am
Great!Thanks for the procedure.Its indeed very easy to follow for a joomla newbie like me.
March 27th, 2009 on 5:14 am
Dum dum duuuum
March 28th, 2009 on 4:09 am
Awesome tutorial. It has all I need to start creating custom wordpress themes.
April 22nd, 2009 on 2:01 pm
question: what you put for DNS on home based server?
May 5th, 2009 on 1:44 pm
localhost
December 24th, 2009 on 2:23 pm
Nice articel, Tom.
Btw, I have do a port forwarding setup to a router (D-link)& port 80 already open. And my problem is when i type my WAN IP address, it always goes to router setup page, not direcly to my localhost.
any additional setup ?
Please advice.
*my OS is OSX.