You are here

INSTALL.txt in Drupal 4

Same filename and directory in other branches
  1. 8 INSTALL.txt
  2. 5 INSTALL.txt
  3. 6 INSTALL.txt
  4. 7 INSTALL.txt
  5. 9 INSTALL.txt
CONTENTS OF THIS FILE
---------------------

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

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

Drupal requires a web server, PHP4 (4.3.5 or greater) or PHP5
(http://www.php.net/) and either MySQL (http://www.mysql.com/)
or PostgreSQL (http://www.postgresql.org/). Your database user
will also need sufficient privileges to run Drupal. Please
check the INSTALL.mysql.txt and INSTALL.pgsql.txt for more
detailed information.

NOTE: the Apache web server and MySQL database are 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, 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. (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 AND PREPARE THE DRUPAL DATABASE

   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

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

3. 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. Open the
   configuration file and edit the $db_url line to match the database
   defined in the previous step:

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

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

   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

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

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

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

Upon a new installation, your Drupal website defaults to a very basic
configuration with only a few active modules, one theme, and minimal
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 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.

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.


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.

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. * More Information
  9. REQUIREMENTS
  10. ------------
  11. Drupal requires a web server, PHP4 (4.3.5 or greater) or PHP5
  12. (http://www.php.net/) and either MySQL (http://www.mysql.com/)
  13. or PostgreSQL (http://www.postgresql.org/). Your database user
  14. will also need sufficient privileges to run Drupal. Please
  15. check the INSTALL.mysql.txt and INSTALL.pgsql.txt for more
  16. detailed information.
  17. NOTE: the Apache web server and MySQL database are recommended;
  18. other web server and database combinations such as IIS and PostgreSQL
  19. are possible but tested to a lesser extent.
  20. OPTIONAL REQUIREMENTS
  21. ---------------------
  22. - To use XML-based services such as the Blogger API, Jabber, and RSS
  23. syndication, you will need PHP's XML extension. This extension is
  24. enabled by default.
  25. - If you want support for clean URLs, you'll need mod_rewrite and
  26. the ability to use local .htaccess files. (More information can
  27. be found in the Drupal handbook on drupal.org.)
  28. INSTALLATION
  29. ------------
  30. 1. DOWNLOAD DRUPAL
  31. You can obtain the latest Drupal release from http://drupal.org/.
  32. The files are in .tar.gz format and can be extracted using most
  33. compression tools. On a typical Unix command line, use:
  34. wget http://drupal.org/files/projects/drupal-x.x.x.tar.gz
  35. tar -zxvf drupal-x.x.x.tar.gz
  36. This will create a new directory drupal-x.x.x/ containing all
  37. Drupal files and directories. Move the contents of that directory
  38. into a directory within your web server's document root or your
  39. public HTML directory:
  40. mv drupal-x.x.x/* drupal-x.x.x/.htaccess /var/www/html
  41. 2. CREATE AND PREPARE THE DRUPAL DATABASE
  42. Before you proceed to the next step you should know:
  43. - "username" - the username for connecting to the database
  44. - "password" - the password for that username
  45. - "databasename" - the name of the database
  46. Depending on the database of your choice, please read either
  47. INSTALL.mysql.txt (for MySQL) or INSTALL.pgsql.txt (for PostgreSQL).
  48. 3. CONNECTING DRUPAL
  49. The default configuration can be found in the
  50. 'sites/default/settings.php' file within your Drupal installation.
  51. Before you can run Drupal, you must set the database URL. Open the
  52. configuration file and edit the $db_url line to match the database
  53. defined in the previous step:
  54. $db_url = "mysql://username:password@localhost/databasename";
  55. If you use PostgreSQL, change "mysql" to "pgsql" in the above line.
  56. In addition, a single Drupal installation can host several
  57. Drupal-powered sites, each with its own individual configuration.
  58. If you don't need multiple Drupal sites, skip to the next section.
  59. Additional site configurations are created in subdirectories within
  60. the 'sites' directory. Each subdirectory must have a 'settings.php'
  61. file which specifies the configuration settings. The easiest way to
  62. create additional sites is to copy the 'default' directory and modify
  63. the 'settings.php' file as appropriate. The new directory name is
  64. constructed from the site's URL. The configuration for www.example.com
  65. could be in 'sites/example.com/settings.php' (note that 'www.' should
  66. be omitted if users can access your site at http://example.com/).
  67. Sites do not each have to have a different domain. You can use
  68. subdomains and subdirectories for Drupal sites also. For example,
  69. example.com, sub.example.com, and sub.example.com/site3 can all be
  70. defined as independent Drupal sites. The setup for a configuration
  71. such as this would look like the following:
  72. sites/default/settings.php
  73. sites/example.com/settings.php
  74. sites/sub.example.com/settings.php
  75. sites/sub.example.com.site3/settings.php
  76. When searching for a site configuration (for example
  77. www.sub.example.com/site3), Drupal will search for configuration
  78. files in the following order, using the first configuration it finds:
  79. sites/www.sub.example.com.site3/settings.php
  80. sites/sub.example.com.site3/settings.php
  81. sites/example.com.site3/settings.php
  82. sites/www.sub.example.com/settings.php
  83. sites/sub.example.com/settings.php
  84. sites/example.com/settings.php
  85. sites/default/settings.php
  86. If you are installing on a non-standard port, the port number is
  87. treated as the deepest subdomain. For example: http://www.example.com:8080/
  88. could be loaded from sites/8080.www.example.com/. The port number
  89. will be removed according to the pattern above if no port-specific
  90. configuration is found, just like a real subdomain.
  91. Each site configuration can have its own site-specific modules and
  92. themes that will be made available in addition to those installed
  93. in the standard 'modules' and 'themes' directories. To use
  94. site-specific modules or themes, simply create a 'modules' or
  95. 'themes' directory within the site configuration directory. For
  96. example, if sub.example.com has a custom theme and a custom module
  97. that should not be accessible to other sites, the setup would look
  98. like this:
  99. sites/sub.example.com/:
  100. settings.php
  101. themes/custom_theme
  102. modules/custom_module
  103. NOTE: for more information about multiple virtual hosts or the
  104. configuration settings, consult the Drupal handbook at drupal.org.
  105. 4. CONFIGURE DRUPAL
  106. You should consider creating a "files" subdirectory in your Drupal
  107. installation directory. This subdirectory stores files such as
  108. custom logos, user avatars, and other media associated with your
  109. new site. The sub-directory requires "read and write" permission
  110. by the Drupal server process. You can change the name of this
  111. subdirectory at "Administer > Settings > File system settings".
  112. SECURITY NOTICE: Certain Apache configurations can be vulnerable
  113. to a security exploit allowing arbitrary code execution. Drupal
  114. will attempt to automatically create a .htaccess file in your
  115. "files" directory to protect you. If you already have a .htaccess
  116. file in that location, please add the following lines:
  117. SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
  118. Options None
  119. RewriteEngine off
  120. You can now launch your browser and point it to your Drupal site.
  121. Create an account and login. The first account will automatically
  122. become the main administrator account with total control.
  123. 5. CRON TASKS
  124. Many Drupal modules (such as the search functionality) have periodic
  125. tasks that must be triggered by a cron job. To activate these tasks,
  126. call the cron page by visiting http://www.example.com/cron.php --
  127. this will pass control to the modules and the modules will decide if
  128. and what they must do.
  129. Most systems support the crontab utility for scheduling tasks like
  130. this. The following example crontab line will activate the cron
  131. tasks automatically on the hour:
  132. 0 * * * * wget -O - -q -t 1 http://www.example.com/cron.php
  133. More information about the cron scripts are available in the admin
  134. help pages and in the Drupal handbook at drupal.org. Example
  135. scripts can be found in the scripts/ directory.
  136. DRUPAL ADMINISTRATION
  137. ---------------------
  138. Upon a new installation, your Drupal website defaults to a very basic
  139. configuration with only a few active modules, one theme, and minimal
  140. user access rights.
  141. Use your administration panel to enable and configure services. For
  142. example, set some general settings for your site with "Administer >
  143. Settings". Enable modules via "Administer > Modules". User permissions
  144. can be set with "Administer > Users > Configure > Permissions".
  145. For more information on configuration options, read the
  146. instructions which accompany the different configuration settings and
  147. consult the various help pages available in the administration panel.
  148. Community-contributed modules and themes are available at http://drupal.org/.
  149. CUSTOMIZING YOUR THEME(S)
  150. -------------------------
  151. Now that your server is running, you will want to customize the look
  152. of your site. Several sample themes are included in the Drupal
  153. installation and more can be downloaded from drupal.org.
  154. Simple customization of your theme can be done using only CSS. Further
  155. changes require understanding the phptemplate engine that is now part
  156. of Drupal. See http://drupal.org/handbook/customization to find out more.
  157. MORE INFORMATION
  158. ----------------
  159. For platform specific configuration issues and other installation and
  160. administration assistance, please consult the Drupal handbook at
  161. http://drupal.org/handbook. You can view the wide range of other
  162. support options available at http://drupal.org/support.