Xampp Installer FAQ
The XAMPP Installer package has been designed for an easy installation of Moodle onto a standalone computer. This, in effect, has allowed a lot of people who do not have extensive IT skills to get a private Moodle up and running quickly and easily.
This FAQ is a set of simple questions that seem to be recurring in the forums.
Where should I use the full Moodle Windows XAMPP Installer package?
The Windows XAMPP Installer is a very simplistic package that has pre-configured Apache, PHP, MySQL And Moodle. It was set up specifically for the standalone Windows environments, like XP and Vista. The Moodle/Windows XAMPP Installer is very handy for Teachers to use on their personal computers, or laptops, to develop courses they can backup then transport to their production sites. As a production site, it is useful on a very small LAN and for a small number of users, perhaps 20 or 25 at a time. Any more users and there are resource issues. It is not useful for large numbers of students or a full production web site.
This installer is modified for the Moodle installation. The full XAMPP Installer package is produced by Friends of Apache and does not include Moodle. You can use the XAMPP Installer in other OS's but you need to get more information from Friends of Apache about how to use it. Bear in mind though that many distros of Linux include Apache, PHP and a database, MySQL or PostGres, as native, why would you want to use it. XAMPP is also used as a core module of some Web on a Stick (WOS) services, that is, it allows you to carry your XAMPP Moodle around with you on your USB.
If you wanted to create a test site that is easy to reinstall, then the Windows XAMPP Installer is probably the easiest to use. While it obviously cannot replicate environmental, that is platform, issues, it can be handy for just about anything else.
Can I migrate my XAMPP Moodle to the Web?
There is no special coding inside Moodle that specifically connects it to XAMPP so there is no reason to think you cannot, just not in the XAMPP environment. Once set up, try to upload the Moodle files to a web site, they should upload without difficulty. The problem is going to be accessing the PHP and mySQL files to make it work and you could probably get away with this if you keep the same configuration files on both your production site and your XAMPP install. If you already have a working production site, then all you may want to do is to upgrade it to a newer version, and you can do that in any number of other ways. Whatever you try, or whenever you do anything like this, you need a long conversation with your host service. They may not appreciate you trying something like this without their help or knowledge.
XAMPP or AppServ?
Both the XAMPP and AppServ packages are useful if you want to install a web server as an independent environment. They offer similar things and it is difficult to differentiate between them. Neither package is offering Moodle as native, but Moodle will comfortably run in either, once they are set up and configured properly.
I have just installed Moodle using the XAMPP Installer, but Apache will not start
Do the simple first, have you got Skype installed and running? If it is go to Skype > File > Options > Connection and uncheck the "Use port 80..." box after reading the note below it. This is the usual problem. For more information go to the Skype FAQ page.
Do the more complex next. XAMPP will usually set the Apache httpd.conf file right, but sometimes, ok, rarely, and then usually when someone has decided that they want to use a different Server root and different document root than the default, it does not always go right. If there is no Skype on the computer, then open the httpd.conf file in your text editor, NOT Word, not Notepad, and check the lines:
36: ServerRoot "G:/Server/Apache" #or your path to the Apache server folder and 179: DocumentRoot "G:/Server/Apache/htdocs" #or your path to the place you put your web documents.
The third option is that occasionally, the Windows "Hosts" file will sometimes get in the way. Go to C:\Windows\System32\drivers\etc and you will find there a file called "hosts". There is no file extension, just that name. Open the file in your text editor and there should be a line there that reads
127.0.0.1 localhost # this is my host server on my local machine
If it does not exist, enter it. If it reads something like .::1 localhost or anything else, then replace it with the line above. Make sure that every other line has a # at the start of the line, these are comments, not valid text for Windows to use. If you have anything else there uncommented, then comment it out. As usual in Windows, you need to restart.
If these are right, and you still cannot access your Apache server after starting the XAMPP Controller, then it is suggested you not waste time on it, delete it all and reinstall, just make careful note of everything, normal or abnormal, that happens during the install process. Don't panic here, if it does not work first time, it will the second, or third, or...
My test Moodle won't start even after I run XAMPP's "Moodle Start.exe", the localhost changes to http://localhost/xampp/
Basically your browser does not know where Moodle is located. This could be for any number of reasons. Usually this is an issue with an Apache configuration or with the browser address.
Browser address alternatives. Try: http://localhost/xampp/moodle or http://localhost/moodle
In an XAMPP package installed from Apachefriends.org, Moodle should be installed in the htdocs folder along with a folder called XAMPP. Edit the htdocs/index.htm file so that both a HTML link to the XAMPP and Moodle sites are shown.
You could check or change the Apache httpd.conf file so that the web server links directly to Moodle when "Localhost" or the desktop's IP is typed by another machine on the local network.
Go to C:\Moodle\server\apache\conf (or whatever your path may be) Open httpd.conf file in your text editor. DocumentRoot variable should read:
DocumentRoot '"C:/Moodle/server/moodle"' (Your path to the Moodle index.php file)
and the Directory
<Directory "C:/Moodle/server/moodle"> (Your path to the Moodle index.php file)
Make sure the paths specific are correct.
After that, check the moodle/config.php file which is located in your Directory path folder. Look for the line:
$CFG->wwwroot = 'http://localhost';
If the wwwroot variable reads anything else, then change it to read the same as above.
If none of these things work, then delete your Moodle and reinstall, most likely something has not installed properly.
Can I use Moodle pages from the XAMPP Installer to upgrade a production server?
Yes, of course you can. There is no difference between the two in the Moodle PHP pages, just the environments in which they sit. If you have the patience and the understanding, you can reverse a XAMPP installation and remove XAMPP altogether, or rather, extract Apache, PHP, MySQL and Moodle from the XAMPP shell, and it will still run.
Can I use XAMPP installed Moodle on a network?
Yes, of course. There are some limitations though. This installer was never designed for a production site, so it has some issues with hardware resources. The more people that are on line simultaneously, the greater the demands, obviously. However, the memory requirement for the server increases dramatically and therefore uses up system resources too quickly.
Perhaps a good application of the XAMPP Moodle across a network is for a course developer Moodle. That is, instead of tying up the production site, your course writers, Teachers, Course Creators, whomever, have a localized Moodle that they alone have access to to prepare courses, which are then uploaded to the production site.
If we do use XAMPP Installer that way, can courses be directly uploaded to our production site?
Yes, there is a couple of ways of doing it, either backup and restore, usually the fastest, or copy and paste, time consuming but can assure complete accuracy. But there is a couple of issues in copy and pasting. The first is that images do not copy and paste. You still have to upload your images to your production site then you have to make sure that the url pointers are aiming at the right files. Be careful here, do not get fooled into thinking that the images are OK, just because they are displaying. The production site is referencing the XAMPP site for images, which works only as long as the XAMPP Moodle is online. The same applies to links, cross referencing, and other links to documentation.
How can I make my XAMPP Moodle accessible/viewable across a small LAN?
The same way it is done for every other Moodle. The XAMPP Moodle installs to a "localhost" and if you go to the config.php file in the Moodle folder, you will find the line:
$CFG->wwwroot = 'http://localhost/";
Change that to read
$CFG->wwwroot = 'http://192.168.1.109/'; //or whatever you have given as an address of your server machine.
That should allow your Moodle to be accessible from elsewhere. The restriction here is that this address is not set by DHCP, it is fixed.
I keep getting the message that the maintainence cron file has not run in the last 24 hours. How can I stop that?
Run the cron job. Most Windows users are unfamiliar with the term "cron job" but essentially, it is a batch file that can be automated. Perhaps the simplest way of dealing with it is to set up a Scheduled Task.
I want to install and use MediaWiki in my XAMPP installed Moodle, but how?
This is not that difficult. In the XAMPP installed Moodle the Server Root can lie, for example, in the C:/Server/Apache folder and Document Root lies in C:/Server/Moodle folder, both paths are generally the same. The installation of the MediaWiki can then occur in the Moodle folder. There are no special provisions for the different use of database engines, Moodle using ISAM and MediaWiki using InnoDB, that can all be taken care of by PHP and MySQL. To make it work properly though, you may want to consider using VHosts in Apache, segmenting the server.
Can I use the Moodle XAMPP Installer for a portable webserver
It is best not to try actually. There are a number of "Webservers On a Stick", WOS, available, Server2Go, MoWeS to name just two these are more appropriate for a portable Moodle. Download and instal a WOS that has as native, Apache, PHP and MySQL, or a similar configuration, then install Moodle to the Document Root in the WOS.
We have outgrown XAMPP so what is next?
At this point you need to carefully consider just what do you want in the way of a Moodle. The XAMPP is a good learning and development environment for Teachers and Course Creators, but it is, more or less, a benign environment. All the major problems have been taken care of which allows it to fulfill its primary purpose, a standalone installation for teachers to develop courses in, outside of normal hours and without threatening the production site. What is nxt is what server environment do you want to use? Windows or Linux? For your web server, Apache is credible. It is scalable and, despite its apocryphal beginnings, is a stable and popular server. PHP is required, irrespective of the environment - Moodle is written in it. The database environment is entirely your choice, as long as it is SQL compliant, it should make little difference what database server you choose. However, in these pages the majority support seems to be for MySQL. This could be because it is relatively easy to install, the right price and, if I have Moodle history right, the first database used in Moodle. This creates the "AMP" part of the acronym - Apache, MySQL, PHP, with either Windows or Linux making up the first letter.
To install Moodle in this environment is a little more demanding than XAMPP, but you end up with a stable and scalable Moodle. You can also add in so much, like a MediaWiki, if you do not like the native Moodle Wiki, or any other web tools or applications you like. You can also use Moodle for your public site - in your own server.
One issue that is not always clear, is that of accessing your database. You may have gotten used to using the phpMyAdmin plugin to look inside your database and find yourself somewhat at a loss to realise that your new server model Moodle does not include that as a standard Module. Download it from the link above and unzip it to the Moodle/admin folder. Go to the Administration > Server > Database page and phpMyAdmin will automatically install.