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

Dries's avatar
Dries committed
3 4 5 6 7 8
CONTENTS OF THIS FILE
---------------------

 * Requirements
 * Optional requirements
 * Installation
9 10 11
 * Drupal administration
 * Customizing your theme(s)
 * Multisite Configuration
Dries's avatar
Dries committed
12 13
 * More Information

Dries's avatar
 
Dries committed
14 15 16
REQUIREMENTS
------------

17
Drupal requires a web server, PHP 4 (4.3.3 or greater) or PHP 5
18 19 20 21 22 23 24 25
(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.
Dries's avatar
 
Dries committed
26

27 28
Guidelines for setting up a server environment with a variety of operating
systems and in special cases are available in the Drupal handbook
29
(http://drupal.org/node/260).
Dries's avatar
 
Dries committed
30

Dries's avatar
Dries committed
31 32
OPTIONAL REQUIREMENTS
---------------------
Dries's avatar
 
Dries committed
33

34 35
- 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.
Dries's avatar
 
Dries committed
36

37 38
- If you want support for clean URLs, you'll need mod_rewrite and the ability
to use local .htaccess files.
Dries's avatar
 
Dries committed
39 40 41 42

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

43
1. DOWNLOAD DRUPAL AND OPTIONALLY A TRANSLATION
Dries's avatar
 
Dries committed
44

45 46 47
   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:
Dries's avatar
 
Dries committed
48

49 50
     wget http://drupal.org/files/projects/drupal-x.x.tar.gz
     tar -zxvf drupal-x.x.tar.gz
Dries's avatar
 
Dries committed
51

52
   This will create a new directory drupal-x.x/ containing all Drupal files
53 54
   and directories. Move the contents of that directory into a directory within
   your web server's document root or your public HTML directory:
Dries's avatar
 
Dries committed
55

56
     mv drupal-x.x/* drupal-x.x/.htaccess /var/www/html
57

58 59 60 61
   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
62
   http://drupal.org/project/translations and download the package. Extract
63 64
   the contents to the same directory where you extracted Drupal into.

65
2. GRANT WRITE PERMISSIONS ON CONFIGURATION FILE
66 67 68 69

   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
70 71
   directory. Give the web server write privileges to the sites/default
   directory with the command (from the installation directory):
72

73 74
     chmod o+w sites/default

75 76
3. CREATE AND GRANT WRITE PERMISSIONS TO FILES DIRECTORY

77 78
   Drupal requires the files directory be present and writable during
   the installation (the location of the files directory can be changed
79 80 81
   after Drupal is installed). Use the following commands (from the
   installation directory) to create this directory and grant the
   web server write privileges to it:
82

83
     mkdir files
84
     chmod o+w files
85

86
4. CREATE THE DRUPAL DATABASE
87 88 89 90

   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
91
   line are available in INSTALL.mysql.txt (for MySQL) or INSTALL.pgsql.txt
92 93 94 95 96 97 98 99
   (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.

100
5. RUN THE INSTALL SCRIPT
101

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

105 106 107 108 109 110 111 112 113 114
   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
115 116
   if you use the multi-site setup, as explained below.

117
6. CONFIGURE DRUPAL
118

119 120 121
   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.
122

123 124 125 126 127 128
   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).

129 130
7. REVIEW FILE SYSTEM STORAGE SETTINGS

Dries's avatar
Dries committed
131 132
   The files directory created in step 3 is the default file system path used
   to store all uploaded files, as well as some temporary files created by Drupal.
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
   After installation, the settings for the file system path may be modified
   to store uploaded files in a different location.

   It is not necessary to modify this path, but you may wish to change it if:

     * your site runs multiple Drupal installations from a single codebase
       (modify the file system path of each installation to a different
       directory so that uploads do not overlap between installations);

     * your site runs a number of web server front-ends behind a load
       balancer or reverse proxy (modify the file system path on each
       server to point to a shared file repository); or,

     * your site policies specify that all site-related files are stored
       under the sites directory in order to simplify backup and restore
       operations (modify the file system path to point to a newly-created
       directory underneath sites).

   To modify the file system path:

     * Ensure that the new location for the path exists or create it if
       necessary. To create a new directory named uploads, for example,
       use the following command from a shell or system prompt (while in
       the installation directory):
157

158 159 160 161
           mkdir uploads

     * Ensure that the new location for the path is writable by the web
       server process. To grant write permissions for a directory named
Dries's avatar
Dries committed
162
       uploads, you may need to use the following command from a shell
163 164 165 166 167 168 169 170 171 172
       or system prompt (while in the installation directory):

           chmod o+w uploads

     * Access the file system path settings in Drupal by selecting these
       menu items from the Navigation menu:

           administer > site configuration > file system

       Enter the path to the new location (e.g.: uploads) at the File
Dries's avatar
Dries committed
173
       System Path prompt.
174 175 176 177 178 179

   Changing the file system path after files have been uploaded may cause
   unexpected problems on an existing site. If you modify the file system path
   on an existing site, remember to copy all files from the original location
   to the new location.

180
8. CRON MAINTENANCE TASKS
181

182 183 184 185 186 187 188 189
   Many Drupal modules have periodic tasks that must be triggered by a cron 
   maintenance task, including search module (to build and update the index 
   used for keyword searching), aggregator module (to retrieve feeds from other
   sites), ping module (to notify other sites about new or updated content), and
   system module (to perform routine maintenance and pruning on system tables).
   To activate these tasks, call the cron page by visiting 
   http://www.example.com/cron.php, which, in turn, executes tasks on behalf
   of installed modules.
190 191 192 193

   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:
Dries's avatar
 
Dries committed
194

195
   0   *   *   *   *   wget -O - -q -t 1 http://www.example.com/cron.php
Dries's avatar
 
Dries committed
196

197 198 199
   More information about cron maintenance tasks are available in the help pages
   and in Drupal's online handbook at http://drupal.org/cron. Example scripts can
   be found in the scripts/ directory.
Dries's avatar
 
Dries committed
200 201 202 203

DRUPAL ADMINISTRATION
---------------------

204 205 206 207
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:
Dries's avatar
 
Dries committed
208

209 210 211
General Settings       Administer > Site configuration > Site information
Enable Modules         Administer > Site building > Modules
Configure Themes       Administer > Site building > Themes
212
Set User Permissions   Administer > User management > Permissions
Dries's avatar
 
Dries committed
213

214 215 216
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.
Dries's avatar
 
Dries committed
217

Dries's avatar
Dries committed
218
Community-contributed modules and themes are available at http://drupal.org/.
Dries's avatar
 
Dries committed
219 220 221 222

CUSTOMIZING YOUR THEME(S)
-------------------------

223 224 225 226 227
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
228
require understanding the phptemplate engine that is part of Drupal. See
229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273
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
274
addition to those installed in the standard 'modules' and 'themes' directories.
275 276 277 278 279 280 281 282 283 284 285 286
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.
Dries's avatar
 
Dries committed
287

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

Dries's avatar
 
Dries committed
291 292 293 294 295
MORE INFORMATION
----------------

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