Fantastico Install Moodle, Do Not
I spent some time today looking at a Moodle install on a dedicated server being hosted at a large hosting company. The organization had multiple installs of Moodle and were experiencing problems getting any course backups to run. They thought they were having some issues with their database configuration so they had the hosting company bump up the max_allowed_packet size from 1MB to 32 MB. Still no go on the course backups. There were also some errors related to some session stuff so we tried settting the save sessions to the database setting as well. After changing this setting they could no longer login to their site. So I said lets go hack the database and change the setting back to the original setting. I got into the database and noticed that all of the tables and fields within the tables were latin1 character encoding. This seemed very odd to me as this was a 1.9.1 site that had just been upgraded to 1.9.2 and should have been all utf8.
After looking at a few more of the databases, I found they were all the same; latin1 on all tables but the database itself was utf8. After doing some digging it appears that the Fantastico Deluxe install uses the latin1 encoding by default, at least on this server. So I went to the environment settings page on the sites and all of them showed the big red error saying don't continue the install until the database was utf8.
Well, I am not sure if upgrading everything to utf8 will solve their problems but I am pretty sure it will, so we will be converting all of their databases to utf8 and see what happens. So in the words of Yoda "Fantastico Install Moodle, DO NOT!" You are always better off doing a manual install of Moodle in any environment. It is really quite a simple process and you have all the control! The process of installing Moodle manually only takes five or six steps:
- Create your database with phpMyAdmin or some other tool
- Create a database user and assign it the correct rights to the new database
- Upload the Moodle archive to your server and unzip it
- Go to your new Moodle site and trigger the install script
- Follow the instructions on the screen (make sure your Moodledata folder is someplace outside the html root of the site for security reasons)
- If all goes well in a matter of minutes you will have a new site up and running
Yes I know this is not incredibly detailed but there are lots of sites out there with detailed instrutions. These are just the basics. The point of the story is that you should never install Moodle using Fantastico for a production site, especially if you plan on using third party modules, which by the way you want to do.
Trackback URL for this post:
Very good post, thanks a lot.
I would just do a manual upgrade as if you had installed Moodle manually. Back up your database, and moodledata folder and rename your moodle core folder. Unzip the new files into place. Add any 3rd party modules that you may have in your original install making sure that they are supported in the version that you are upgrading to. Copy the config.php file from the root of the old install to the root of the new install. Now go to your admin page to trigger the upgrade.
Some things to watch out for with a Fantastico install is that the moodledata folder is placed in the public html folder inside your moodle root folder. This is a security problem and you should move your moodledata folder out of the public html area. Once you do this be sure and change the path to this folder in your config.php file. The other thing to check is to make sure that your database is utf8. Good luck!

Delicious
Digg
Facebook
Google
Yahoo
Technorati