Same filename and directory in other branches
  1. 10 INSTALL.txt
  2. 4.7.x INSTALL.txt
  3. 5.x INSTALL.txt
  4. 6.x INSTALL.txt
  5. 7.x INSTALL.txt
  6. 8.9.x INSTALL.txt
  7. 9 INSTALL.txt
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".

   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
   "files" directory to protect you. If you already have a .htaccess
   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>

   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.

File

INSTALL.txt
View source
  1. CONTENTS OF THIS FILE
  2. ---------------------
  3. * Requirements
  4. * Optional requirements
  5. * Installation
  6. - Drupal administration
  7. - Customizing your theme(s)
  8. * Upgrading
  9. * More Information
  10. REQUIREMENTS
  11. ------------
  12. Drupal requires a web server, PHP4 (4.3.3 or greater) or PHP5
  13. (http://www.php.net/) and either MySQL (http://www.mysql.com/)
  14. or PostgreSQL (http://www.postgresql.org/).
  15. NOTE: the Apache web server and MySQL database are strongly recommended;
  16. other web server and database combinations such as IIS and PostgreSQL
  17. are possible but tested to a lesser extent.
  18. OPTIONAL REQUIREMENTS
  19. ---------------------
  20. - To use XML-based services such as the Blogger API, Jabber, RSS
  21. syndication, you will need PHP's XML extension. This extension is
  22. enabled by default in standard PHP4 installations.
  23. - If you want support for clean URLs, you'll need mod_rewrite and
  24. the ability to use local .htaccess files. (More information can
  25. be found in the Drupal handbook on drupal.org.)
  26. INSTALLATION
  27. ------------
  28. 1. DOWNLOAD DRUPAL
  29. You can obtain the latest Drupal release from http://drupal.org/.
  30. The files are in .tar.gz format and can be extracted using most
  31. compression tools. On a typical Unix command line, use:
  32. wget http://drupal.org/files/projects/drupal-x.x.x.tar.gz
  33. tar -zxvf drupal-x.x.x.tar.gz
  34. This will create a new directory drupal-x.x.x/ containing all
  35. Drupal files and directories. Move the contents of that directory
  36. into a directory within your web server's document root or your
  37. public HTML directory:
  38. mv drupal-x.x.x/* drupal-x.x.x/.htaccess /var/www/html
  39. 2. CREATE THE DRUPAL DATABASE
  40. This step is only necessary if you don't already have a database
  41. set-up (e.g. by your host). If you control your databases through a
  42. web-based control panel, check its documentation for creating databases,
  43. as the following instructions are for the command-line only.
  44. These instructions are for MySQL. If you are using another database,
  45. check the database documentation. In the following examples,
  46. 'dba_user' is an example MySQL user which has the CREATE and GRANT
  47. privileges. Use the appropriate user name for your system.
  48. First, you must create a new database for your Drupal site
  49. (here, 'drupal' is the name of the new database):
  50. mysqladmin -u dba_user -p create drupal
  51. MySQL will prompt for the 'dba_user' database password and then create
  52. the initial database files. Next you must login and set the access
  53. database rights:
  54. mysql -u dba_user -p
  55. Again, you will be asked for the 'dba_user' database password.
  56. At the MySQL prompt, enter following command:
  57. GRANT ALL PRIVILEGES ON drupal.*
  58. TO nobody@localhost IDENTIFIED BY 'password';
  59. where
  60. 'drupal' is the name of your database
  61. 'nobody@localhost' is the username of your webserver MySQL account
  62. 'password' is the password required to log in as the MySQL user
  63. If successful, MySQL will reply with:
  64. Query OK, 0 rows affected
  65. To activate the new permissions you must enter the command:
  66. flush privileges;
  67. and then enter '\q' to exit MySQL.
  68. 3. LOAD THE DRUPAL DATABASE SCHEME
  69. Once you have a database, you must load the required tables into it.
  70. If you use a web-based control panel, you should be able
  71. to upload the file 'database.mysql' from Drupal's 'database'
  72. directory and run it directly as SQL commands.
  73. From the command line, use (again, replacing 'nobody' and
  74. 'drupal' with your MySQL username and name of your database):
  75. mysql -u nobody -p drupal < database/database.mysql
  76. 4. CONNECTING DRUPAL
  77. The default configuration can be found in the
  78. 'sites/default/settings.php' file within your Drupal installation.
  79. Before you can run Drupal, you must set the database URL and the
  80. base URL to the web site. Open the configuration file and edit the
  81. $db_url line to match the database defined in the previous steps:
  82. $db_url = "mysql://username:password@localhost/database";
  83. where 'username', 'password', 'localhost' and 'database' are the
  84. username, password, host and database name for your set up.
  85. Set $base_url to match the address to your Drupal site:
  86. $base_url = "http://www.example.com";
  87. In addition, a single Drupal installation can host several
  88. Drupal-powered sites, each with its own individual configuration.
  89. If you don't need multiple Drupal sites, skip to the next section.
  90. Additional site configurations are created in subdirectories within
  91. the 'sites' directory. Each subdirectory must have a 'settings.php'
  92. file which specifies the configuration settings. The easiest way to
  93. create additional sites is to copy the 'default' directory and modify
  94. the 'settings.php' file as appropriate. The new directory name is
  95. constructed from the site's URL. The configuration for www.example.com
  96. could be in 'sites/example.com/settings.php' (note that 'www.' should
  97. be omitted if users can access your site at http://example.com/).
  98. Sites do not each have to have a different domain. You can use
  99. subdomains and subdirectories for Drupal sites also. For example,
  100. example.com, sub.example.com, and sub.example.com/site3 can all be
  101. defined as independent Drupal sites. The setup for a configuration
  102. such as this would look like the following:
  103. sites/default/settings.php
  104. sites/example.com/settings.php
  105. sites/sub.example.com/settings.php
  106. sites/sub.example.com.site3/settings.php
  107. When searching for a site configuration (for example
  108. www.sub.example.com/site3), Drupal will search for configuration
  109. files in the following order, using the first configuration it finds:
  110. sites/www.sub.example.com.site3/settings.php
  111. sites/sub.example.com.site3/settings.php
  112. sites/example.com.site3/settings.php
  113. sites/www.sub.example.com/settings.php
  114. sites/sub.example.com/settings.php
  115. sites/example.com/settings.php
  116. sites/default/settings.php
  117. Each site configuration can have its own site-specific modules and
  118. themes that will be made available in addition to those installed
  119. in the standard 'modules' and 'themes' directories. To use
  120. site-specific modules or themes, simply create a 'modules' or
  121. 'themes' directory within the site configuration directory. For
  122. example, if sub.example.dom has a custom theme and a custom module
  123. that should not be accessible to other sites, the setup would look
  124. like this:
  125. sites/sub.example.com/:
  126. settings.php
  127. themes/custom_theme
  128. modules/custom_module
  129. NOTE: for more information about multiple virtual hosts or the
  130. configuration settings, consult the Drupal handbook at drupal.org.
  131. 5. CONFIGURE DRUPAL
  132. You should consider creating a "files" subdirectory in your Drupal
  133. installation directory. This subdirectory stores files such as
  134. custom logos, user avatars, and other media associated with your
  135. new site. The sub-directory requires "read and write" permission
  136. by the Drupal server process. You can change the name of this
  137. subdirectory at "Administer > Settings > File system settings".
  138. SECURITY NOTICE: Certain Apache configurations can be vulnerable
  139. to a security exploit allowing arbitrary code execution. Drupal
  140. will attempt to automatically create a .htaccess file in your
  141. "files" directory to protect you. If you already have a .htaccess
  142. file in that location, please add the following lines:
  143. SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
  144. Options None
  145. RewriteEngine off
  146. You can now launch your browser and point it to your Drupal site.
  147. Create an account and login. The first account will automatically
  148. become the main administrator account with total control.
  149. 6. CRON TASKS
  150. Many Drupal modules (such as the search functionality) have periodic
  151. tasks that must be triggered by a cron job. To activate these tasks,
  152. call the cron page by visiting http://www.example.com/cron.php --
  153. this will pass control to the modules and the modules will decide if
  154. and what they must do.
  155. Most systems support the crontab utility for scheduling tasks like
  156. this. The following example crontab line will activate the cron
  157. tasks automatically on the hour:
  158. 0 * * * * wget -O - -q http://www.example.com/cron.php
  159. More information about the cron scripts are available in the admin
  160. help pages and in the Drupal handbook at drupal.org. Example
  161. scripts can be found in the scripts/ directory.
  162. DRUPAL ADMINISTRATION
  163. ---------------------
  164. Upon a new installation, your Drupal website defaults to a very basic
  165. configuration with only a few active modules, one theme, and no user
  166. access rights.
  167. Use your administration panel to enable and configure services. For
  168. example, set some general settings for your site with "Administer >
  169. Settings". Enable modules via "Administer > Modules". User permissions
  170. can be set with "Administer > Users > Configure > Permissions".
  171. For more information on configuration options, read through the
  172. instructions which accompany the different configuration settings and
  173. consult the various help pages available in the administration panel.
  174. Community-contributed modules and themes are available at http://drupal.org/.
  175. CUSTOMIZING YOUR THEME(S)
  176. -------------------------
  177. Now that your server is running, you will want to customize the look
  178. of your site. Several sample themes are included in the Drupal
  179. installation and more can be downloaded from drupal.org.
  180. Customizing each theme depends on the theme engine. In general, each theme
  181. contains a PHP file themename.theme which defines a function header()
  182. that can be changed to reference your own logos.
  183. Most themes also contain stylesheets to tune the colors and layouts;
  184. check the themes/ directory for READMEs describing each alternate theme.
  185. UPGRADING
  186. ---------
  187. 1. Backup your database and Drupal directory - especially your
  188. configuration file in 'sites/default/settings.php'.
  189. 2. Log on as the user with user ID 1.
  190. 3. Remove all the old Drupal files then unpack the new Drupal
  191. files into the directory that you run Drupal from.
  192. 4. Modify the new configuration file to make sure
  193. it has the latest and correct information.
  194. 5. Run update.php by visiting http://www.example.com/update.php.
  195. MORE INFORMATION
  196. ----------------
  197. For platform specific configuration issues and other installation and
  198. administration assistance, please consult the Drupal handbook at
  199. http://drupal.org/. You can also find support at the Drupal support
  200. forum or through the Drupal mailing lists.