which one do you suggest for production web server on windows 2003 server, IIS or apache ? Thanks
I would recommend a stable GNU/Linux(CentOS or Ubuntu), because it's free of headaches when compared with Windows server.
I've also had anecdotal stories from my own users and other on these forums that XAMP doesn't scale very well when many people are logged on.
We have used XAMPP for 2.5 years with version 1.6 and performance has been OK at a 550 student secondary school with pretty heavy use. Switching to version 1.9 is causing us to look at lighttpd, and I am looking forward to Matt's report on this. We may also consider other options with linux if that does not speed things up enough, although with the settings below, I am not sure if linux will be faster (with the same hardware), so we will find out.
One thing that is not OK with XAMPP are the SQL defaults. It is designed for a single developer and not classes of students.
If you install XAMPP from download.moodle.org, do the following:
Find mysql/bin/my.cnf and change the part around skip-locking to:
key_buffer = 150M
max_allowed_packet = 1M
table_cache = 200
sort_buffer_size = 2M
read_buffer_size = 1M
read_rnd_buffer_size = 512K
net_buffer_length = 2K
thread_stack = 64K
query_cache_size = 150M
Another thing, Apache might crash. You can fix this by going into the services control panel in windows and set apache to restart automatically, with a delay of 0.
Finally, if you have more than 30 or so users accessing Moodle at once, you will probably want some sort of php cache (we have used xcache). This will double your speed, in our experience.
The problem with the advice of installing all of the components by hand is that you have to become an expert on each of the settings. That will take a while. Do the above and you will have at least a workable system to start out with.
Also, I have started to play with Lighttpd and would love to share notes.
I'm going to give it another go on my windows XP box when I have time later in the week.
I've also voted on the bug you filed.
"XAMPP is built for tests or perhaps for a small company using it on an internal network. It is not meant for online access via the web on a production server."
I've read that line number of times on XAMPP over the past 3 years The problem is, most of us did not start as experts, but we developed skills over time. Yes, ideally Moodle should be installed on a specialized dedicated server with each component hand installed and tuned for the environment. More hardware and scalable components should be added and tuned as the user base expands.
But it is also true (from my experience) that one can operate a pretty stable and secure Moodle installation with hundreds of students with only basic server administration skills (provided one is willing to learn and grow) using the XAMPP distribution with the SQL settings adjusted as below.
And we will move over to a better system and do it right soon now--(it would me much easier if it were not for all those pesky students demanding our time).
I installed the XAMP package on a W2K3 server and the setup went almost without effort. Nice.
But I'm having trouble getting moodle to start on it's own. To bring up the site, I have to click on both the apache_start.bat and the mysql_start.bat files.
The Installing AMP docs state that you can automate this by installing the Xamp service (which I did).
Yet, it still doesn't come up on it's own. Each time I need to manually start SQL and Apache.
I've verified that the Xamp service is running, so what gives? How do you guys automate moodle to start?
Start with typing services.msc into the run dialogue on the windows start menu and you should see a big list of things that are installed. Find the xampp (or both apache and mysql) service and right click it for properties. It should be set to auto-start.