Installing Drupal

In order to install Ubercart we first need a running installation of Drupal. While a lot of work has been done to make Drupal easy to install, it still can be intimidating for many people. This section assumes that readers of this page have no, or little, knowledge in PHP, Apache (or any web server administration), and MySQL (or any database server administration), but are ready, willing, and able to learn (those daunted by this page might find the UberInstaller or using the ubercart package more to their liking). We will go through, in detail, each step to install Drupal on your website. If you already have a Drupal installation ready to go, you should move to the installing ubercart section.

Requirements

Drupal has a few system requirements that it needs to run. Depending on who does your web hosting for you, you'll need to find out whether they support these requirements. To put it briefly, the recommended requirements are Apache/PHP 5/MySQL 4.1 or 5.0. If you know your web host has these requirements skip to the installation section. If not, review the requirements below. In detail, these are the minimum requirements of Drupal:
Web Server that can run PHP
Most professional web hosting companies (if you're looking for a web host, check site 5 webhosting) offer servers that can run PHP, a common programming language used by web servers. The 2 most used web servers today are Apache and IIS. It's recommended that you go with a server that uses Apache. Most Drupal developers work with Apache so the likelihood of encountering problems is much less. Additionally, Apache supports a few features that are useful for Drupal.
PHP 4.3.5 or higher
Make sure your web host is running PHP 4.3.5 or higher. It's recommended to use a host that supports PHP 5. The Uberteam works in a PHP 5 environment; while we will support problems encountered in PHP 4, we do not rigorously test Ubercart in a PHP 4 environment. The likelihood of problems encountered will be less if you run Ubercart on PHP 5
A PHP supported database server
While Drupal is designed to be database independent, MySQL 4.1/5.0 is recommended for Drupal. PostgreSQL is supported as well, but you'll find more support for MySQL. If you need support for a MS SQL or an Oracle database server, see the Drupal Enterprise Group

Installation

Now that you've determined that your web host can run the software needed for Drupal. Lets get started installing Drupal. Though this guide is made as universal as possible, depending on your web server setup the details in these steps could vary. If you'd like audio/video instructions, check out this video by Lullabot to hear Jeff's soothing voice directing you through the install Eye-wink If you encounter problems installing Drupal go to drupal.org's support page or post a message in our forums. Depending on your problem, you may need to contact web host or your web server administrator.
  1. Download the latest version of Drupal 5.x from drupal.org:

    The Drupal project
    You can always find the latest release of Drupal off the Drupal project page. For our purposes we will download the latest Drupal 5.x release, as Ubercart only works with 5.x currently. The file will be in a tarball format (.tar.gz), a compressed file format.
  2. Unpack the archive and upload it to your web server:

    Drupal tarball opened in 7-zip
    If you don't have the right compression software to decompress tarballs, you can use the freeware 7-zip compression utility for Windows. Once you've uncompressed it, open the folder named "drupal-xx" where xx is the version of Drupal you've downloaded. The files contained in this folder need to be uploaded to your web server.

    WinSCP's connection screen where you'd enter your username, password, and host address, select "SCP" and click the login button
    Depending on your web host, you may connect to your web server directory in different ways. Some popular ways are through a web-based file manager, FTP, and SSH. We recommend FTP or SSH (if possible, SSH is preferred for security reasons). If you do not have a FTP or SSH client to connect to your web server, you can download the freeware WinSCP FTP/SSH client for Windows. If you decide to use FTP/SSH you will need some information that your web host should provide you. That is the host address (typically the same as your website's domain name or a subdomain of that name e.g. ftp.mydomain.com), a username, and a password. With these should be able to use your FTP/SSH client to connect to your web server's file directory. Once connected, you should upload all the files contained in the "drupal-xx" directory to your website's public directory, the directory where anyone on the web can view the files (typically named "www","public_html","htdocs"). If you're not sure what this directory is contact your webhost.

    After connecting to your web host you'll need to upload all the drupal files into a "htdocs" directory or the world-viewable directory on your web server
  3. Create a database for Drupal and a user with all privileges on that database: More than likely, your webhost provider does almost all database administration for you (including creation of new databases). Most providers have some sort of "administration page" or "control panel" section of their site through which you can create a database (contact your web host for further information about this). Once you've created a database, you should have a database host address, the database name, a username, and a password which you will use to connect to your database server. Once you have this, you should be ready to install Drupal. On the chance you can administer the database yourself, you can use a web-based database administration tool like phpMyAdmin to create a database with the appropriate permissions.

    You can use phpMyAdmin to create a new database on the database server
  4. Browse to your website to run the installer

    The Drupal installation page
    If you've copied the Drupal files into the correct directory on your web server, you should be able to goto your website's address and see the page above. Here you we will enter the database name, user, and password that we received in the previous step. If your database host address isn't the same as your domain name you will need to click the advanced options link. A box should open up and a text field for database host will be there. Enter your database host address into that field then click the Save Configuration button. After the installer has finished, you should see a link inviting you to view your new Drupal website.
  5. Customize and configure your new Drupal site

    The Drupal post-installation homepage
    Congratulations! If you've reached this step, you've now installed Drupal to your website. On the front page you should see a number of steps to follow. These steps will walk you through the process of creating the first user account (a special account that has access to everything on the site), how to change the theme of your site (a customizable "skin" that changes the look of your site), create new content, and how to enable new modules. For now, follow these outlined steps. Browse around your new website to get accustomed to how administration works in Drupal. Note: You should take a moment to review our list of recommended Drupal settings to improve your website. Be especially sure to visit the "File system" configuration page. It creates a directory for file uploads, which makes setting up product images go more smoothly.
  6. Enabling new modules:

    The Drupal module administration page
    If you've followed all the steps listed on the front page of your new site, you should have seen the module administration menu by now (found by going to Administer > Site building > Modules on the left sidebar after logging in to your website). This page list all the modules that are currently installed and enabled on your website. Modules are one of the many things that make the Drupal CMS (content management system) so great; you can add additional functionality (blog, forum, poll, e-commerce) to your site just by downloading a new plugin for your site.
In the next section, we will cover new modules you'll need for Ubercart. For now, enable the Path and Upload modules at the module administration menu (Administer > Site building > Modules) You will need the Search module for searching your product catalog after we've installed Ubercart.