INSTALL.txt 8.88 KB
Newer Older
Dries's avatar
   
Dries committed
1
// $Id$
Dries's avatar
   
Dries committed
2

Dries's avatar
   
Dries committed
3
4
5
REQUIREMENTS
------------

Dries's avatar
   
Dries committed
6
7
8
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/).
Dries's avatar
   
Dries committed
9

Dries's avatar
   
Dries committed
10
11
NOTE: The Apache web server and MySQL database are strongly recommended;
other web server and database combinations such as IIS and PostgreSQL
Kjartan's avatar
Kjartan committed
12
are possible but tested to a lesser extent.
Dries's avatar
   
Dries committed
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

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

Dries's avatar
   
Dries committed
45
   You can obtain the latest Drupal release from http://drupal.org/.
Dries's avatar
   
Dries committed
46
47
48
49
50
51
52
   Download the current tar.gz format and extract the files:

     $ wget http://drupal.org/drupal/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
Dries's avatar
   
Dries committed
53
   into a directory within your web server's document root or your
Dries's avatar
   
Dries committed
54
55
   public HTML directory:

Kjartan's avatar
Kjartan committed
56
     $ mv drupal-x.x.x/* drupal-x.x.x/.htaccess /var/www/html
Dries's avatar
   
Dries committed
57
58
59

2. CREATE THE DRUPAL DATABASE

Dries's avatar
   
Dries committed
60
61
62
63
64
   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.
Dries's avatar
   
Dries committed
65

Dries's avatar
   
Dries committed
66
67
   First, you must create a new database for your Drupal site:

Dries's avatar
   
Dries committed
68
     $ mysqladmin -u dba_user -p create drupal
Dries's avatar
   
Dries committed
69

Dries's avatar
   
Dries committed
70
   MySQL will prompt for the dba_user database password and then create
Dries's avatar
   
Dries committed
71
72
73
   the initial database files.  Next you must login and set the access
   database rights:

Dries's avatar
   
Dries committed
74
     $ mysql -u dba_user -p
Dries's avatar
   
Dries committed
75

Dries's avatar
   
Dries committed
76
   Again, you will be asked for the dba_user database password.  At the
Dries's avatar
   
Dries committed
77
78
79
   MySQL prompt, enter following command:

     GRANT ALL PRIVILEGES ON drupal.*
Dries's avatar
   
Dries committed
80
        TO nobody@localhost IDENTIFIED BY 'password';
Dries's avatar
   
Dries committed
81
82
83
84

   where

    'drupal' is the name of your database
Dries's avatar
   
Dries committed
85
86
    'nobody@localhost' is the userid of your webserver MySQL account
    'password' is the password required to log in as the MySQL user
Dries's avatar
   
Dries committed
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101

   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:

Dries's avatar
   
Dries committed
102
     $ mysql -u nobody -p drupal < database/database.mysql
Dries's avatar
   
Dries committed
103
104
105

4. CONNECTING DRUPAL

Dries's avatar
Dries committed
106
107
   The default configuration can be found in the
   'sites/default/settings.php' file within your Drupal installation.
Dries's avatar
   
Dries committed
108
109
110
   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:
Dries's avatar
   
Dries committed
111
112
113

     $db_url = "mysql://username:password@localhost/drupal";

Dries's avatar
   
Dries committed
114
115
   Set $base_url to match the address to your web site:

Dries's avatar
   
Dries committed
116
     $base_url = "http://www.example.com";
Dries's avatar
   
Dries committed
117

Dries's avatar
Dries committed
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
   In addition, a single Drupal installation can host several
   Drupal-powered sites, each with its own individual configuration.
   If you don't need to run multiple Drupal sites, you can skip to the
   next section.

   Additional site configurations are created in subdirectories within
   the 'sites' directory.  Each site 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 file 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

Dries's avatar
   
Dries committed
173
174
175
176
177
178
179
180
181
182
183
184
   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

Dries's avatar
   
Dries committed
185
   Many Drupal modules have periodic tasks that must be triggered by a
Dries's avatar
   
Dries committed
186
187
188
189
190
191
192
   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:

Dries's avatar
   
Dries committed
193
   0    *   *   *   *   wget -O - -q http://HOSTNAME/cron.php
Dries's avatar
   
Dries committed
194
195
196
197
198
199
200
201

   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
---------------------

Dries's avatar
   
Dries committed
202
203
204
205
206
207
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 -
Dries's avatar
   
Dries committed
208
209
210
configuration".  Enable modules via "Administration -  configuration -
modules".  User permissions can be set with "Administration - accounts
- permissions".
Dries's avatar
   
Dries committed
211
212
213
214
215
216

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
Dries's avatar
   
Dries committed
217
available at http://drupal.org/.
Dries's avatar
   
Dries committed
218
219
220
221
222
223
224
225

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.

Dries's avatar
   
Dries committed
226
Customizing each theme depends on the theme.  In general, each theme
Dries's avatar
   
Dries committed
227
228
229
230
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
Dries's avatar
   
Dries committed
231
tune the colors and layouts; check the themes/ directory for README
Dries's avatar
   
Dries committed
232
233
files describing each alternate theme.

Dries's avatar
   
Dries committed
234
235
236
237
238
239
240
241
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.

Dries's avatar
   
Dries committed
242
243
3. Remove all the old Drupal files then unpack the new Drupal files
   into the directory that you run Drupal from.
Dries's avatar
   
Dries committed
244
245
246
247
248
249

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.

Dries's avatar
   
Dries committed
250
251
252
253
254
MORE INFORMATION
----------------

For platform specific configuration issues and other installation and
administration assistance, please consult the Drupal handbook at
Dries's avatar
   
Dries committed
255
256
http://drupal.org/.  You can also find support at the Drupal support
forum or through the Drupal mailing lists.
Dries's avatar
   
Dries committed
257