How to install Drupal

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
({{autolang|base=yes}} added)
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{autolang|base=yes}}
 +
{{admon/note | Installing in a cluster situation? | Check out our page on [[how to install Drupal in a cluster]].}}
 +
 
This page explains how to install Drupal on Fedora systems.  The {{filename|/usr/share/doc/drupal-*/drupal-README.fedora}} page on your system also has up-to-date instructions for your versions of Fedora and Drupal.
 
This page explains how to install Drupal on Fedora systems.  The {{filename|/usr/share/doc/drupal-*/drupal-README.fedora}} page on your system also has up-to-date instructions for your versions of Fedora and Drupal.
  
Line 7: Line 10:
  
 
<li>Install necessary packages:
 
<li>Install necessary packages:
<pre>su -c 'yum shell'
+
<pre>yum shell
 
> groupinstall 'Web Server' 'MySQL Database'
 
> groupinstall 'Web Server' 'MySQL Database'
> install drupal</pre></li>
+
> install drupal
 +
> run ts</pre></li>
  
 
<li>If you have not already done so, start the MySQL database server:
 
<li>If you have not already done so, start the MySQL database server:
<pre>su -c '/sbin/service mysqld start'</pre></li>
+
<pre>service mysqld start</pre></li>
  
 
<li>If you have not already done so, set up the MySQL database server's administrator account.  First, provide a root password.
 
<li>If you have not already done so, set up the MySQL database server's administrator account.  First, provide a root password.
Line 47: Line 51:
  
 
<ol>
 
<ol>
 +
<li>Turn on the SELinux booleans that allow the Apache web server to contact the MySQL database via the network and send email:
 +
<pre>setsebool -P httpd_can_network_connect_db=1
 +
setsebool -P httpd_can_sendmail=1</pre>
 +
{{admon/note | Drupal on RHEL 6 | If you happen to be using RHEL 6 or a compatible OS, you may need the following changes to adapt SELinux policy for Drupal:
 +
 +
<ol><li> Install the ''policycoreutils-python'' package which contains the ''/usr/sbin/semanage'' tool.</li>
 +
<li>Run the following commands:
 +
<pre>semanage fcontext -a -t httpd_sys_rw_content_t "/etc/drupal(6)?(/.*)?"
 +
semanage fcontext -a -t httpd_sys_rw_content_t "/var/lib/drupal(6)?(/.*)?"
 +
semanage fcontext -a -t httpd_sys_content_t "/usr/share/drupal(6)?(/.*)?"
 +
restorecon -rv /usr/share/drupal6 /etc/drupal6 /var/lib/drupal6</pre></li></ol>
 +
}}
 +
</li>
 
<li>Edit the {{filename|/etc/httpd/conf.d/drupal.conf}} file.  If you are installing on the same system where you run your Web browser, uncomment the line below:
 
<li>Edit the {{filename|/etc/httpd/conf.d/drupal.conf}} file.  If you are installing on the same system where you run your Web browser, uncomment the line below:
 
<pre>Allow from 127.0.0.1</pre>
 
<pre>Allow from 127.0.0.1</pre>
Line 63: Line 80:
 
<pre>cp /etc/drupal/default/default.settings.php /etc/drupal/default/settings.php
 
<pre>cp /etc/drupal/default/default.settings.php /etc/drupal/default/settings.php
 
chmod 666 /etc/drupal/default/settings.php</pre></li>
 
chmod 666 /etc/drupal/default/settings.php</pre></li>
 +
 +
<li>Edit the {{filename|/etc/php.ini}} file to set the <code>date.timezone</code> for PHP on the system.  Uncomment the line and insert your timezone, for example:
 +
<pre>date.timezone = America/New_York</pre>
 +
If you are unsure what to put here, look in the Drupal system's {{filename|/usr/share/zoneinfo}} directory.  You can use the relative name of a file in that directory for the timezone setting here.</li>
  
 
<li>Start the Apache web server:
 
<li>Start the Apache web server:
 
<pre>service httpd start</pre></li>
 
<pre>service httpd start</pre></li>
  
 +
<li>Point your web browser at the system to be installed and follow the instructions on screen.  When prompted for database information, remember to use the information for the ''drupal'' MySQL database you installed earlier.  When the site asks for Drupal administrator account information later, you should use a different user name and passphrase.</li>
 +
 +
<li>Remove write permissions from the settings file:
 +
<pre>chmod 644 /etc/drupal/default/settings.php</pre></li>
  
 
</ol>
 
</ol>
 +
 +
[[Category:Documentation]]
 +
[[Category:Drupal]]
 +
[[Category:How to]]

Revision as of 00:24, 10 March 2012

Note.png
Installing in a cluster situation?
Check out our page on how to install Drupal in a cluster.

This page explains how to install Drupal on Fedora systems. The /usr/share/doc/drupal-*/drupal-README.fedora page on your system also has up-to-date instructions for your versions of Fedora and Drupal.

Web and SQL server setup

  1. Switch to the root account. Enter the root password at the prompt.
    su -
  2. Install necessary packages:
    yum shell
    > groupinstall 'Web Server' 'MySQL Database'
    > install drupal
    > run ts
  3. If you have not already done so, start the MySQL database server:
    service mysqld start
  4. If you have not already done so, set up the MySQL database server's administrator account. First, provide a root password.
    Warning (medium size).png
    Do not use root account password
    Do not provide the system administrator's password for your Linux system here. Use a different strong password, since this is a separate authentication for a MySQL user called "root."
    mysqladmin -u root password $PASSWORD
  5. Create a database for Drupal:
    mysqladmin -u root -p create drupal
    Note.png
    Database creation
    You will be prompted to enter the MySQL "root" password from the previous step.
  6. Grant rights for a Drupal administrator on this database:
    [root@publictest1 ~]# mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 5
    Server version: 5.1.41 Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> GRANT ALL PRIVILEGES ON drupal.* TO drupaladmin@localhost IDENTIFIED BY 'DRUPAL_PASSWORD';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> QUIT;
    Bye
    The drupaladmin account and the DRUPAL_PASSWORD you used above are the ones you will use in Drupal's installation process shortly.

Drupal setup

  1. Turn on the SELinux booleans that allow the Apache web server to contact the MySQL database via the network and send email:
    setsebool -P httpd_can_network_connect_db=1
    setsebool -P httpd_can_sendmail=1
    Note.png
    Drupal on RHEL 6
    If you happen to be using RHEL 6 or a compatible OS, you may need the following changes to adapt SELinux policy for Drupal:
    1. Install the policycoreutils-python package which contains the /usr/sbin/semanage tool.
    2. Run the following commands:
      semanage fcontext -a -t httpd_sys_rw_content_t "/etc/drupal(6)?(/.*)?"
      semanage fcontext -a -t httpd_sys_rw_content_t "/var/lib/drupal(6)?(/.*)?"
      semanage fcontext -a -t httpd_sys_content_t "/usr/share/drupal(6)?(/.*)?"
      restorecon -rv /usr/share/drupal6 /etc/drupal6 /var/lib/drupal6
  2. Edit the /etc/httpd/conf.d/drupal.conf file. If you are installing on the same system where you run your Web browser, uncomment the line below:
    Allow from 127.0.0.1

    If you are installing on a different system on your network, change the previous lines so they read as follows:

    #Deny from All
    Allow from All
    Save the file.
  3. Edit the /usr/share/drupal/.htaccess file. Uncomment the line below:
    RewriteBase /drupal
    Save the file.
  4. If necessary, change your firewall settings to permit TCP port 80 (HTTP) traffic.
  5. Copy and change the permissions on the default settings file:
    cp /etc/drupal/default/default.settings.php /etc/drupal/default/settings.php
    chmod 666 /etc/drupal/default/settings.php
  6. Edit the /etc/php.ini file to set the date.timezone for PHP on the system. Uncomment the line and insert your timezone, for example:
    date.timezone = America/New_York
    If you are unsure what to put here, look in the Drupal system's /usr/share/zoneinfo directory. You can use the relative name of a file in that directory for the timezone setting here.
  7. Start the Apache web server:
    service httpd start
  8. Point your web browser at the system to be installed and follow the instructions on screen. When prompted for database information, remember to use the information for the drupal MySQL database you installed earlier. When the site asks for Drupal administrator account information later, you should use a different user name and passphrase.
  9. Remove write permissions from the settings file:
    chmod 644 /etc/drupal/default/settings.php