summaryrefslogtreecommitdiff
path: root/INSTALL.txt
blob: 001aba7a57d0e76848096ddaadaa0c2c8ecc4472 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
// $Id$

CONTENTS OF THIS FILE
---------------------

 * Requirements
 * Optional requirements
 * Installation
 * Drupal administration
 * Customizing your theme(s)
 * Multisite Configuration
 * More Information

REQUIREMENTS
------------

Drupal requires a web server, PHP 4 (4.3.3 or greater) or PHP 5
(http://www.php.net/) and either MySQL (http://www.mysql.com/) or PostgreSQL
(http://www.postgresql.org/). The Apache web server and MySQL database are
recommended; other web server and database combinations such as IIS and
PostgreSQL have been tested to a lesser extent. When using MySQL, version 4.1
or greater is recommended to assure you can safely transfer the database.

For more detailed information about Drupal requirements, see "Requirements"
(http://drupal.org/requirements) in the Drupal Handbook.

Guidelines for setting up a server environment with a variety of operating
systems and in special cases are available in the Drupal handbook
(http://drupal.org/node/260).

OPTIONAL REQUIREMENTS
---------------------

- To use XML-based services such as the Blogger API and RSS syndication,
you will need PHP's XML extension. This extension is enabled by default.

- If you want support for clean URLs, you'll need mod_rewrite and the ability
to use local .htaccess files.

INSTALLATION
------------

1. DOWNLOAD DRUPAL AND OPTIONALLY A TRANSLATION

   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.tar.gz
     tar -zxvf drupal-x.x.tar.gz

   This will create a new directory drupal-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/* drupal-x.x/.htaccess /var/www/html

   If you would like to have the default English interface translated to a
   different language, we have good news. You can install and use Drupal in
   other languages from the start. Check whether a released package of the
   language desired is available for this Drupal version at
   http://drupal.org/project/Translations and download the package. Extract
   the contents to the same directory where you extracted Drupal into.

2. GRANT WRITE PERMISSIONS ON CONFIGURATION FILE AND FILES STORAGE DIRECTORY

   Drupal comes with a default.settings.php file in the sites/default
   directory. The installer will create a copy of this file filled with
   the details you provide through the install process, in the same
   directory. Give the web server write privileges to the sites/default
   directory with the command (from the installation directory):

     chmod o+w sites/default

   Drupal requires the files directory be present and writable during
   the installation (the location of the files directory can be changed
   after Drupal is installed). Give the web server write privileges to the
   files directory with the command (from the installation directory):

     chmod o+w files

3. CREATE THE DRUPAL DATABASE

   Drupal requires access to a database in order to be installed. Your database
   user will need sufficient privileges to run Drupal. Additional information
   about privileges, and instructions to create a database using the command
   line are available in INSTALL.mysql.txt (for MySQL) or INSTALL.pgsql.txt
   (for PostgreSQL).

   To create a database using PHPMyAdmin or a web-based control panel consult
   the documentation or ask your webhost service provider.

   Take note of the username, password, database name and hostname as you
   create the database. You will enter these items in the install script.

4. RUN THE INSTALL SCRIPT

   To run the install script point your browser to the base url of your website
   (i.e. http://www.example.com).

   You will be guided through several screens to set up the database,
   create tables, add the first user account and provide basic web
   site settings.

   The install script will attempt to write-protect the sites/default
   directory after creating the settings.php file. If you make manual
   changes to that file later, be sure to protect it again after making
   your modifications. Failure to remove write permissions to that file
   is a security risk. Although the default location for the settings.php
   file is at sites/default/settings.php, it may be in another location
   if you use the multi-site setup, as explained below.

5. CONFIGURE DRUPAL

   When the install script succeeds, you will be directed to the "Welcome"
   page, and you will be logged in as the administrator already. Proceed with
   the initial configuration steps suggested on the "Welcome" page.

   If the default Drupal theme is not diplaying properly and links on the page
   result in "Page Not Found" errors, try manually setting the $base_url variable
   in the settings.php file if not already set. It's currently known that servers
   running FastCGI can run into problems if the $base_url variable is left
   commented out (see http://bugs.php.net/bug.php?id=19656).

   Determine whether the default "files" directory is the right location for your
   file system path. Drupal uses the location specified in the file system path
   to store files attached to site content, theme-specific logos, user avatars, and
   some temporary files. On some installations, it may be necessary to modify
   the file system path, especially in large or multi-site configurations. See the
   files/README.txt file for more information about setting the file system path.

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

A new installation of Drupal defaults to a very basic configuration with only a
few active modules and minimal user access rights.

Use your administration panel to enable and configure services. For example:

General Settings       Administer > Site configuration > Site information
Enable Modules         Administer > Site building > Modules
Configure Themes       Administer > Site building > Themes
Set User Permissions   Administer > User management > Permissions

For more information on configuration options, read 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 installation is running, you will want to customize the look of
your site. Several sample themes are included and more can be downloaded from
drupal.org.

Simple customization of your theme can be done using only CSS. Further changes
require understanding the phptemplate engine that is part of Drupal. See
http://drupal.org/handbook/customization to find out more.

MULTISITE CONFIGURATION
-----------------------

A single Drupal installation can host several Drupal-powered sites, each with
its own individual configuration.

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 have to have a different domain. You can also use subdomains and
subdirectories for Drupal sites. 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

If you are installing on a non-standard port, the port number is treated as the
deepest subdomain. For example: http://www.example.com:8080/ could be loaded
from sites/8080.www.example.com/. The port number will be removed according to
the pattern above if no port-specific configuration is found, just like a real
subdomain.

Each site configuration can have its own site-specific modules and themes 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.com 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.

For more information on configuring Drupal's file system path in a multi-site
configuration, see files/README.txt.

MORE INFORMATION
----------------

For platform specific configuration issues and other installation and
administration assistance, please consult the Drupal handbook at
http://drupal.org/handbook. You can view the wide range of other support options
available at http://drupal.org/support.