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

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

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

13 14 15
REQUIREMENTS
------------

16
Drupal requires a web server, PHP4 (4.3.3 or greater) or PHP5
Dries's avatar
Dries committed
17
(http://www.php.net/) and either MySQL (http://www.mysql.com/)
18
or PostgreSQL (http://www.postgresql.org/). Your database user
Dries's avatar
Dries committed
19
will also need sufficient privileges to run Drupal. Please
20 21
check the INSTALL.mysql.txt and INSTALL.pgsql.txt for more
detailed information.
22

23
NOTE: the Apache web server and MySQL database are recommended;
24
other web server and database combinations such as IIS and PostgreSQL
Kjartan's avatar
Kjartan committed
25
are possible but tested to a lesser extent.
26

Dries's avatar
Dries committed
27 28
OPTIONAL REQUIREMENTS
---------------------
29

30
- To use XML-based services such as the Blogger API, Jabber, and RSS
31
  syndication, you will need PHP's XML extension. This extension is
32
  enabled by default.
33 34 35 36 37 38 39 40 41 42

- 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

43
   You can obtain the latest Drupal release from http://drupal.org/.
44 45
   The files are in .tar.gz format and can be extracted using most
   compression tools. On a typical Unix command line, use:
46

47
     wget http://drupal.org/files/projects/drupal-x.x.x.tar.gz
48
     tar -zxvf drupal-x.x.x.tar.gz
49 50

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

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

57
2. CREATE AND PREPARE THE DRUPAL DATABASE
58

59 60 61 62
   Before you proceed to the next step you should know:
    - "username"      - the username for connecting to the database
    - "password"      - the password for that username
    - "databasename"  - the name of the database
63

64 65
   Depending on the database of your choice, please read either
   INSTALL.mysql.txt (for MySQL) or INSTALL.pgsql.txt (for PostgreSQL).
66

67
3. CONNECTING DRUPAL
68

69 70
   The default configuration can be found in the
   'sites/default/settings.php' file within your Drupal installation.
71 72
   Before you can run Drupal, you must set the database URL. Open the
   configuration file and edit the $db_url line to match the database
73
   defined in the previous step:
Dries's avatar
Dries committed
74

75
     $db_url = "mysql://username:password@localhost/databasename";
76

77
   If you use PostgreSQL, change "mysql" to "pgsql" in the above line.
78

79 80
   In addition, a single Drupal installation can host several
   Drupal-powered sites, each with its own individual configuration.
Dries's avatar
Dries committed
81
   If you don't need multiple Drupal sites, skip to the next section.
82 83

   Additional site configurations are created in subdirectories within
Dries's avatar
Dries committed
84 85 86 87 88 89 90
   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/).
91

92 93
   Sites do not each have to have a different domain. You can use
   subdomains and subdirectories for Drupal sites also. For example,
94
   example.com, sub.example.com, and sub.example.com/site3 can all be
95
   defined as independent Drupal sites. The setup for a configuration
96 97 98 99 100 101 102 103 104
   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
Dries's avatar
Dries committed
105
   files in the following order, using the first configuration it finds:
106 107 108 109 110 111 112 113 114

     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

115 116 117 118 119
   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.
120

121 122 123 124 125 126 127 128
   NOTE: for more information about multiple virtual hosts or the
   configuration settings, consult the Drupal handbook at drupal.org.

4. INSTALLING MODULES AND THEMES

   Drupal ships with a number of default modules and themes in the
   'modules' and 'themes' directories, respectively. You can download
   additional modules and themes from http://drupal.org/project.
129

130 131 132 133 134 135 136 137 138 139 140 141 142
   The recommended place to put new modules and themes is in the 'sites'
   directory. To make a module or theme available to all sites, simply
   place it under the sites/all/modules directory or sites/all/themes
   directory. To make it available to only one site, place it in the
   sites/sub.example.com/modules or sites/sub.example.com/themes directory.

   For example, to make module_a and theme_a available to all sites, but
   module_b and theme_b available only to sub.example.com, the setup
   would look like this:

     sites/all/:
       themes/theme_a
       modules/module_a
143 144
     sites/sub.example.com/:
       settings.php
145 146
       themes/theme_b
       modules/module_b
147

148
   NOTE: for more information about multiple virtual hosts or the
149 150
   configuration settings, consult the Drupal handbook at
   http://drupal.org/handbook.
151

152
5. CONFIGURE DRUPAL
153

154 155 156 157 158 159 160
   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".

161 162 163
   SECURITY NOTICE: Certain Apache configurations can be vulnerable
   to a security exploit allowing arbitrary code execution. Drupal
   will attempt to automatically create a .htaccess file in your
164
   "files" directory to protect you. If you already have a .htaccess
Gerhard Killesreiter's avatar
Gerhard Killesreiter committed
165 166 167 168 169 170 171
   file in that location, please add the following lines:

     SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
     Options None
     <IfModule mod_rewrite.c>
       RewriteEngine off
     </IfModule>
172

173 174
   You can now launch your browser and point it to your Drupal site.

175
   Create an account and login. The first account will automatically
176
   become the main administrator account with total control.
177

178
6. CRON TASKS
179

180 181 182 183 184
   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.
185

186 187 188
   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:
189

190
   0   *   *   *   *   wget -O - -q http://www.example.com/cron.php
191 192

   More information about the cron scripts are available in the admin
193
   help pages and in the Drupal handbook at drupal.org. Example
194 195 196 197 198
   scripts can be found in the scripts/ directory.

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

199
Upon a new installation, your Drupal website defaults to a very basic
200 201
configuration with only a few active modules, one theme, and minimal
user access rights.
202 203

Use your administration panel to enable and configure services. For
Dries's avatar
Dries committed
204 205 206
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".
207

208
For more information on configuration options, read the
209 210 211
instructions which accompany the different configuration settings and
consult the various help pages available in the administration panel.

Dries's avatar
Dries committed
212
Community-contributed modules and themes are available at http://drupal.org/.
213 214 215 216 217

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

Now that your server is running, you will want to customize the look
218
of your site. Several sample themes are included in the Drupal
219 220
installation and more can be downloaded from drupal.org.

221 222 223
Simple customization of your theme can be done using only CSS. Further
changes require understanding the phptemplate engine that is now part
of Drupal. See http://drupal.org/handbook/customization to find out more.
224 225 226 227 228 229 230


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

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