271 lines
10 KiB
Plaintext
271 lines
10 KiB
Plaintext
// $Id$
|
|
|
|
CONTENTS OF THIS FILE
|
|
---------------------
|
|
|
|
* Requirements
|
|
* Optional requirements
|
|
* Installation
|
|
- Drupal administration
|
|
- Customizing your theme(s)
|
|
* Upgrading
|
|
* More Information
|
|
|
|
REQUIREMENTS
|
|
------------
|
|
|
|
Drupal requires a web server, PHP4 (4.3.3 or greater) or PHP5
|
|
(http://www.php.net/) and either MySQL (http://www.mysql.com/)
|
|
or PostgreSQL (http://www.postgresql.org/).
|
|
|
|
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.
|
|
|
|
OPTIONAL REQUIREMENTS
|
|
---------------------
|
|
|
|
- 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/.
|
|
The files are in .tar.gz format and can be extracted using most
|
|
compression tools. On a typical Unix command line, use:
|
|
|
|
wget http://drupal.org/files/projects/drupal-x.x.x.tar.gz
|
|
tar -zxvf drupal-x.x.x.tar.gz
|
|
|
|
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
|
|
|
|
This step is only necessary if you don't already have a database
|
|
set-up (e.g. by your host). If you control your databases through a
|
|
web-based control panel, check its documentation for creating databases,
|
|
as the following instructions are for the command-line only.
|
|
|
|
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. Use the appropriate user name for your system.
|
|
|
|
First, you must create a new database for your Drupal site
|
|
(here, 'drupal' is the name of the new database):
|
|
|
|
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 username 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 into it.
|
|
|
|
If you use a web-based control panel, you should be able
|
|
to upload the file 'database.mysql' from Drupal's 'database'
|
|
directory and run it directly as SQL commands.
|
|
|
|
From the command line, use (again, replacing 'nobody' and
|
|
'drupal' with your MySQL username and name of your database):
|
|
|
|
mysql -u nobody -p drupal < database/database.mysql
|
|
|
|
4. CONNECTING DRUPAL
|
|
|
|
The default configuration can be found in the
|
|
'sites/default/settings.php' file within your Drupal installation.
|
|
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/database";
|
|
|
|
where 'username', 'password', 'localhost' and 'database' are the
|
|
username, password, host and database name for your set up.
|
|
|
|
Set $base_url to match the address to your Drupal site:
|
|
|
|
$base_url = "http://www.example.com";
|
|
|
|
In addition, a single Drupal installation can host several
|
|
Drupal-powered sites, each with its own individual configuration.
|
|
If you don't need multiple Drupal sites, skip to the next section.
|
|
|
|
Additional site configurations are created in subdirectories within
|
|
the 'sites' directory. Each subdirectory must have a 'settings.php'
|
|
file which specifies the configuration settings. The easiest way to
|
|
create additional sites is to copy the 'default' directory and modify
|
|
the 'settings.php' file as appropriate. The new directory name is
|
|
constructed from the site's URL. The configuration for www.example.com
|
|
could be in 'sites/example.com/settings.php' (note that 'www.' should
|
|
be omitted if users can access your site at http://example.com/).
|
|
|
|
Sites do not each have to have a different domain. You can use
|
|
subdomains and subdirectories for Drupal sites also. For example,
|
|
example.com, sub.example.com, and sub.example.com/site3 can all be
|
|
defined as independent Drupal sites. The setup for a configuration
|
|
such as this would look like the following:
|
|
|
|
sites/default/settings.php
|
|
sites/example.com/settings.php
|
|
sites/sub.example.com/settings.php
|
|
sites/sub.example.com.site3/settings.php
|
|
|
|
When searching for a site configuration (for example
|
|
www.sub.example.com/site3), Drupal will search for configuration
|
|
files in the following order, using the first configuration it finds:
|
|
|
|
sites/www.sub.example.com.site3/settings.php
|
|
sites/sub.example.com.site3/settings.php
|
|
sites/example.com.site3/settings.php
|
|
sites/www.sub.example.com/settings.php
|
|
sites/sub.example.com/settings.php
|
|
sites/example.com/settings.php
|
|
sites/default/settings.php
|
|
|
|
Each site configuration can have its own site-specific modules and
|
|
themes that will be made available in addition to those installed
|
|
in the standard 'modules' and 'themes' directories. To use
|
|
site-specific modules or themes, simply create a 'modules' or
|
|
'themes' directory within the site configuration directory. For
|
|
example, if sub.example.dom has a custom theme and a custom module
|
|
that should not be accessible to other sites, the setup would look
|
|
like this:
|
|
|
|
sites/sub.example.com/:
|
|
settings.php
|
|
themes/custom_theme
|
|
modules/custom_module
|
|
|
|
NOTE: for more information about multiple virtual hosts or the
|
|
configuration settings, consult the Drupal handbook at drupal.org.
|
|
|
|
5. CONFIGURE DRUPAL
|
|
|
|
You should consider creating a "files" subdirectory in your Drupal
|
|
installation directory. This subdirectory stores files such as
|
|
custom logos, user avatars, and other media associated with your
|
|
new site. The sub-directory requires "read and write" permission
|
|
by the Drupal server process. You can change the name of this
|
|
subdirectory at "Administer > Settings > File system settings".
|
|
|
|
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 with total control.
|
|
|
|
6. CRON TASKS
|
|
|
|
Many Drupal modules (such as the search functionality) have periodic
|
|
tasks that must be triggered by a cron job. To activate these tasks,
|
|
call the cron page by visiting http://www.example.com/cron.php --
|
|
this will pass control to the modules and the modules will decide if
|
|
and what they must do.
|
|
|
|
Most systems support the crontab utility for scheduling tasks like
|
|
this. The following example crontab line will activate the cron
|
|
tasks automatically on the hour:
|
|
|
|
0 * * * * wget -O - -q http://www.example.com/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 "Administer >
|
|
Settings". Enable modules via "Administer > Modules". User permissions
|
|
can be set with "Administer > Users > Configure > 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.
|
|
|
|
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 engine. 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 to tune the colors and layouts;
|
|
check the themes/ directory for READMEs describing each alternate theme.
|
|
|
|
UPGRADING
|
|
---------
|
|
|
|
1. Backup your database and Drupal directory - especially your
|
|
configuration file in 'sites/default/settings.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 latest and 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.
|
|
|