From ArchWiki
Revision as of 15:26, 16 January 2016 by Sanduhrs (talk | contribs) (Move related articles to the side)
Jump to: navigation, search


"Drupal is a free and open source content management system (CMS) and Content Management framework (CMF) written in PHP and distributed under the GNU General Public License." - Wikipedia

This article describes how to setup Drupal and configure Apache, MySQL or PostgreSQL, PHP, and Postfix to work with it. It is assumed that you have some sort of LAMP (Apache, MySQL, PHP) or LAPP (Apache, PostgreSQL, PHP) server already setup.


Install the drupal package.

Installing Postfix

In order to send e-mails with Drupal, you will need to install Postfix. Drupal uses e-mails for account verification, password recovery, etc. First install postfix.

  1. Edit Postfix configuration file /etc/postfix/main.cf as needed. All that you should have to do is change the hostnames under "Internet Host and Domain Names" myhostname = hostname1
  2. Start postfix.service.
  3. Send a test e-mail to yourself: mail myusername@localhost. Enter a subject, some words in the body, then press Ctrl+d to exit and send the letter. Wait 10 seconds, and then type mail to check your mail. If you've gotten it, excellent.
  4. Make sure port 25 is fowarded if you have a router so that mails can be sent to the Internet at large
  5. Edit the file /etc/php/php.ini. Find the line that starts with, ;sendmail_path="" and change it to sendmail_path="/usr/sbin/sendmail -t -i"
  6. Restart the Apache web server.



Edit /etc/php/php.ini:

  • Uncomment the extension=gd.so line.
  • Enable a PDO extension for your database. For MySQL, the line extension=pdo_mysql.so should be uncommented.


Copy the example Apache configuration file:

# cp /etc/webapps/drupal/apache.example.conf /etc/httpd/conf/extra/drupal.conf

And include it at the bottom of /etc/httpd/conf/httpd.conf:

Include conf/extra/drupal.conf

In /etc/httpd/conf/httpd.conf, also uncomment the LoadModule rewrite_module modules/mod_rewrite.so line.


Edit /usr/share/webapps/drupal/.htaccess and replace Require all denied by Require all granted.

Finally, restart Apache (httpd.service). You can now access the Drupal installation at http://localhost/drupal .

Tips and tricks

Scheduling with Cron

Drupal recommends running cron jobs hourly. Cron can be executed from the browser by visiting http://localhost/drupal/cron. It is also possible to run cron via script by copying the appropriate file from the "scripts" folder into /etc/cron.hourly and making it executable.

Upload progress not enabled

Upon successful installation you may see the following message in the Status Report:

Your server is capable of displaying file upload progress, but does not have the required libraries. It is recommended to install the PECL uploadprogress library (preferred) or to install APC.

First, install the php-pearAUR package. Next, use the pecl command to automatically download, compile and install the library:

# pecl install uploadprogress

Finally, add to /etc/php/php.ini


Restart Apache.

See also