// $Id$ REQUIREMENTS ------------ Drupal requires a web server, PHP4 (http://www.php.net/) and either MySQL, PostgreSQL or a database server supported by the PHP PEAR API (http://pear.php.net/). Drupal is not yet compatible with PHP5. NOTE: The Apache web server and MySQL database are strongly recommended; other web server and database combinations such as IIS and PostgreSQL are possible but tested to a lesser extent. SERVER CONFIGURATION -------------------- Your PHP must have the following settings: session.save_handler user In addition, we recommend the following settings: session.cache_limiter none These values are set in php.ini and can be overwritten in a .htaccess file; you can print out your local PHP settings with PHP's phpinfo() function. OPTIONAL COMPONENTS ------------------- - To use XML-based services such as the Blogger API, Jabber, RSS syndication, you will need PHP's XML extension. This extension is enabled by default in standard PHP4 installations. - If you want support for clean URLs, you'll need mod_rewrite and the ability to use local .htaccess files. (More information can be found in the Drupal handbook on drupal.org.) INSTALLATION ------------ 1. DOWNLOAD DRUPAL You can obtain the latest Drupal release from http://drupal.org/. Download the current tar.gz format and extract the files: $ wget http://drupal.org/files/project/drupal-x.x.x.tgz $ tar -zxvf drupal-x.x.x.tgz This will create a new directory drupal-x.x.x/ containing all Drupal files and directories. Move the contents of that directory into a directory within your web server's document root or your public HTML directory: $ mv drupal-x.x.x/* drupal-x.x.x/.htaccess /var/www/html 2. CREATE THE DRUPAL DATABASE These instructions are for MySQL. If you are using another database, check the database documentation. In the following examples, "dba_user" is an example MySQL user which has the CREATE and GRANT privileges. You will need to use the appropriate user name for your system. First, you must create a new database for your Drupal site: $ mysqladmin -u dba_user -p create drupal MySQL will prompt for the dba_user database password and then create the initial database files. Next you must login and set the access database rights: $ mysql -u dba_user -p Again, you will be asked for the dba_user database password. At the MySQL prompt, enter following command: GRANT ALL PRIVILEGES ON drupal.* TO nobody@localhost IDENTIFIED BY 'password'; where 'drupal' is the name of your database 'nobody@localhost' is the userid of your webserver MySQL account 'password' is the password required to log in as the MySQL user If successful, MySQL will reply with Query OK, 0 rows affected to activate the new permissions you must enter the command flush privileges; and then enter '\q' to exit MySQL. 3. LOAD THE DRUPAL DATABASE SCHEME Once you have a database, you must load the required tables: $ mysql -u nobody -p drupal < database/database.mysql 4. CONNECTING DRUPAL Drupal server options are specified in includes/conf.php. Drupal allows for multiple virtual host installations; to configure a virtual server host, you can create the configuration file includes/www.example.com.php where www.example.com is your website's URL. Before you can run Drupal, you must set the database URL and the base URL to the web site. Open the configuration file and edit the $db_url line to match the database defined in the previous steps: $db_url = "mysql://username:password@localhost/drupal"; Set $base_url to match the address to your web site: $base_url = "http://www.example.com"; NOTE: for more information about multiple virtual hosts or the configuration settings, consult the Drupal handbook at drupal.org. 5. CONFIGURE DRUPAL You can now launch your browser and point it to your Drupal site. Create an account and login. The first account will automatically become the main administrator account. 6. CRON TASKS Many Drupal modules have periodic tasks that must be triggered by a cron job. To activate these tasks, you must call the cron page; this will pass control to the modules and the modules will decide if and what they must do. The following example crontab line will activate the cron script on the hour: 0 * * * * wget -O - -q http://HOSTNAME/cron.php More information about the cron scripts are available in the admin help pages and in the Drupal handbook at drupal.org. Example scripts can be found in the scripts/ directory. DRUPAL ADMINISTRATION --------------------- Upon a new installation, your Drupal website defaults to a very basic configuration with only a few active modules, one theme, and no user access rights. Use your administration panel to enable and configure services. For example, set some general settings for your site with "Administration - configuration". Enable modules via "Administration - configuration - modules". User permissions can be set with "Administration - accounts - permissions". For more information on configuration options, read through the instructions which accompany the different configuration settings and consult the various help pages available in the administration panel. Note that additional community-contributed modules and themes are available at http://drupal.org/. CUSTOMIZING YOUR THEME(S) ------------------------- Now that your server is running, you will want to customize the look of your site. Several sample themes are included in the Drupal installation and more can be downloaded from drupal.org. Customizing each theme depends on the theme. In general, each theme contains a PHP file themename.theme which defines a function header() that can be changed to reference your own logos. Most themes also contain stylesheets or PHP configuration files to tune the colors and layouts; check the themes/ directory for README files describing each alternate theme. UPGRADING --------- 1. Backup your database and Drupal directory - especially your configuration file (www.example.com.conf or includes/conf.php). 2. Log on as the user with user ID 1. 3. Remove all the old Drupal files then unpack the new Drupal files into the directory that you run Drupal from. 4. Modify the new configuration file to make sure it has the correct information. 5. Run update.php by visiting http://www.example.com/update.php. MORE INFORMATION ---------------- For platform specific configuration issues and other installation and administration assistance, please consult the Drupal handbook at http://drupal.org/. You can also find support at the Drupal support forum or through the Drupal mailing lists.