Drupal is a universal purpose content management system suitable both for beginners as well as advanced webmasters. It is flexible and its functionalities can be multiplied and improved through modules, due to its modular structure. Practically it is suitable for management of any type of content ranging from personal pages and blogs to complex portals and e-commerce websites.
In order to install Drupal you will need a web hosting server PHP enabled and the possibility to create MySQL or PostgreSQL databases. In addition PHP must have the following configuration directives: session.save_handler: user and optional, but recommended session.cache_limiter: none.
After you upload the content of Drupal distribution archive on server, then you must create a directory named files in the Drupal installation directory. The file /sites/default/settings.php, as well as the directory files must have full read - write permissions (CHMOD = 777). You can check the PHP settings with the next PHP script:
There are two installation steps: when you provide the automatic installer with the database connection settings and the second one, when you specify the administrator name and password and the site name. Then you will be redirected to the administration pages where you can begin to add content to your new web site. You can also customize the default template, create a new one or to install other Drupal template (theme).
From my tests concerning content management systems functionality on free web hosting accounts with PHP safe mode enabled, it resulted that Drupal provides almost 100% functionality. That is because the user is not able to control .htaccess directives and for example you cannot enable search engine friendly URLs or Clean URLs in Drupal.
But you can install any module, as compared to Joomla 1.5, when in most of the cases you can not perform this action. I have successfully installed and used the most popular modules, such as TinyMCE, Gallery, image, event and more. The default modules were also totally functional in context of PHP safe mode enabled (PHP version 5.0). If you want to install a module, just upload it to the modules directory, then enable it from the administration section.
In conclusion, if you want to install a functional PHP / MySQL content manager on a free hosting service, Drupal is the ideal candidate, due to the existence of various distribution packages, compatible with almost any PHP version. The disadvantages of free web hosting will affect especially web site search engine optimization, because you will usually not have access to configure the necessary server directives for accessing Apache mod_rewrite, even with a .htaccess file.