Install Drupal with XAMPP in Ubuntu

Overview

Are you ready to build your very own website? It’s not as hard as you may think! A computer with an internet connection is all that’s required. Oh, and not to mention a healthy dose of patience!

This is a straightforward tutorial/guide which walks you through the entire process: installation and set-up, content management and basic configurations. Okay, enough chit-chat, let’s begin!

Obtaining the Tools

The softwares you’re going to be using are all free, open source and available online:

  • Drupal is a web content management system (WCMS). Basically, it’s an application which facilitates the creation of web contents (blogs, forums, polls, etc.), manages/controls the contents, usually by a point-and-click work-flow. Best of all, Drupal requires little or no programming skills.

Drupal 6.12 Downloadhttp://drupal.org/project/drupal

  • XAMPP (cross-platform, Apache, MySQL, PHP, Perl) is a web server application packaged with Apache HTML web server, MySQL (database management), PHP (a scripting language) and Perl (a programming language.)

XAMPP for Linux Downloadhttp://www.apachefriends.org/en/xampp-linux.html

Pre-Installation

By now, you should have already downloaded the following files:

  1. xampp-linux-1.7.1.tar.gz
  2. drupal-6.12.tar.gz

Note: Unless you know what you’re doing, it’s recommended that you’re using the same files to avoid any confusion. If, for example, when newer versions are released, simply type in the correct file name when installing in the “Install XAMPP” and “Install Drupal” sections.

Now, this tutorial is done on a Linux system (Ubuntu), not Windows. Remember earlier when I told you the tools I’d use are all free? Well, Ubuntu is an excellent alternative operating system to Windows! Give it a try, you may like it!

Install XAMPP

We install XAMPP by extracting its content to a folder named “opt”:

  1. Locate the file xampp-linux-1.7.1.tar.gz you’ve just downloaded.
  2. If it’s not on your Desktop, move the file there.
  3. Open the Terminal, enter the following command:

sudo tar xvfz Desktop/xampp-linux-1.7.1.tar.gz -C /opt

Start XAMPP

You installed XAMPP in the previous section, now it’s time to start it:

  1. Open the Terminal, enter the following command:

sudo /opt/lampp/lampp start

You should see the following lines in the terminal if everything is done correctly:

XAMPP: Starting Apache with SSL (and PHP5)…
XAMPP: Starting MySQL…
XAMPP: Starting ProFTPD…
XAMPP for Linux started.

Test XAMPP

Okay, so how do you know if XAMPP is currently active?

  1. Open your favourite web broswer.
  2. Enter the following address:

http://localhost

This page should pop up:

XAMPP

Click the Status link to see what’s running:

XAMPP - Status

Install Drupal

Let’s install Drupal by extracting its content to “opt/lampp/htdocs”:

  1. Locate the file drupal-6.12.tar.gz.
  2. If it’s not on your Desktop, move the file there.
  3. Open the Terminal, enter the following command:

sudo tar xvfz Desktop/drupal-6.12.tar.gz -C /opt/lampp/htdocs

  1. Let’s rename “drupal-6.12″ folder to a cleaner name, “drupal”.
  2. Enter the following command:

sudo mv /opt/lampp/htdocs/drupal-6.12 /opt/lampp/htdocs/drupal

Test Drupal

Okay, we can now verify whether Drupal has installed correctly:

  1. Open your web broswer.
  2. Enter the following address:

http://localhost/drupal

You should see this page:

Drupal Setup

Create a Database

In this section, we create a new database for Drupal to store data:

  1. Open your web browser.
  2. Enter the following address:

http://localhost/phpmyadmin/

  1. In the Create new database text box, type in a name for your database (I named mine “creativebushido”.)
  2. Click the Create button.

Configure Drupal

Having completed the installation of XAMPP, Drupal, and a brand spanking new database, we can finally go ahead and configure Drupal:

  1. Open your web browser.
  2. Enter the following address:

http://localhost/drupal

  1. Click the Install Drupal in English link.
  2. You will be likely to ecounter the following page:

Drupal - Requirement problems

Don’t fret! First, we make a copy of default.settings.php and rename it to settings.php.

  1. Open the Terminal, enter the following command:

sudo cp /opt/lampp/htdocs/drupal/sites/default/default.settings.php /opt/lampp/htdocs/drupal/sites/default/settings.php

Next, we need to grant permissions to the settings.php file so that it’s writeable:

  1. Enter the following command (press Enter after each line):

cd /opt/lampp/htdocs/drupal/sites

sudo chmod a+w default

sudo chmod a+w default/settings.php

Finally, we need to increase our PHP memory limit from 8M to 16M.

  1. Open the Terminal and type:

sudo nano /opt/lampp/etc/php.ini

Look for the memory_limit parameter and change the number 8 to 16.
Once you’ve changed it, exit the text editor by holding down Ctrl and press x. Type y to save the file.

Because you’ve just made changes to the PHP file, you need to restart XAMPP to update it:

  1. Open the Terminal, enter the following command:

sudo /opt/lampp/lampp stop

  1. To start XAMPP again, enter the following command:

sudo /opt/lampp/lampp start

That should have solved all the problems! Okay, now you should be able to see the Database configuration page in your browser:

Drupal - Database configuration

Notice that I have entered a name for my database, the same name I’d used earlier. Make sure you do the same.

Once you clicked the Save and continue button on the Set up database page, you will be directed to the Configure site page, like the picture below:

Drupal - Configure site

For security purposes, it tells you to remove write permissions to the settings.php file. Let’s do that:

  1. Open the Terminal, enter the following command:

sudo chmod a-w /opt/lampp/htdocs/drupal/sites/default/settings.php

Finally! You are now ready to enter some important informations for your new web site.

Fill out the the required information for the Site information and Administration account sections. Make sure you remember the username and password you’ve entered!

Drupal - Configure site

Once all the informations are filled out, click the Save and continue button.

Voila! Give yourself a pat on the back! You have just completed installing Drupal on your computer!

Drupal - Drupal installation complete

For now, you can begin building your site. Everything you’re doing right now is offline. Once you have everything to your liking, you can deploy the final product live online.

I hope this has been useful. If you have any technical issues, I strongly recommend that you make use of Drupal’s excellent Community web site!

23 Responses to “Install Drupal with XAMPP in Ubuntu”


  1. 1 Liam June 24, 2009 at 7:46 am

    Thanks, I am new to Linux and Drupal but don’t want to fall back on Windows as the default database server. Your instructions were quite complete to get started.

  2. 3 rebelvarun July 4, 2009 at 2:41 am

    simply awesome … a step by step procedure to install Drupal.I got the entire thing up and running under 45mins :D .Thanks creative bushido

  3. 6 saad July 5, 2009 at 5:52 pm

    hey man thanks for ur post….

    i m having one prob, when i install drupal and enter the address “http://localhost/drupal” it say “not found”…can u plz tell what can be the reason?

    and also when i install XAMPP, the page u showed is not displayed but only “it works” is shown on the page?

    waiting….thanx :)

  4. 7 Vili July 8, 2009 at 2:40 pm

    Hi!

    I was following the instructions very carefully, but when I had to test XAMPP there was all the time page load error saying that connection was refused.
    I don’t know what’s the problem!
    Can someone help me, please?

  5. 8 CreativeBushido July 8, 2009 at 8:06 pm

    Can you take a snap shot of the screen?

  6. 9 Vili July 9, 2009 at 8:25 am

    Hi!
    This is the text from the Page Load Error:
    Failed to Connect
    The connection was refused when attempting to contact localhost.
    Though the site seems valid, the browser was unable to establish a connection.
    * Could the site be temporarily unavailable? Try again later.
    * Are you unable to browse other sites? Check the computer’s network connection.
    * Is your computer or network protected by a firewall or proxy? Incorrect settings can interfere with Web browsing.

    I

  7. 10 Yonitg July 23, 2009 at 12:20 am

    Hey,
    thanks fir the very detailed explanation about drupal on xampp
    got it all running in 10 minutes.
    im testing open atrium on drupal, i heared good things about it.
    thanks – Yonit

  8. 11 satish kumar singh August 4, 2009 at 3:28 am

    hi
    thanks for your step by step procedure for drupal

  9. 12 Murali August 16, 2009 at 6:18 am

    Hi,
    I xampp-linux-1.7.2.tar.gz and installed successfully.
    Then downloaded drupal 6.6

    while installing drupal by running the install.php
    I am getting error like

    Deprecated:Function ereg() …

    can you please advise how to resolve it ….

    thanks
    Murali.

    • 13 CreativeBushido August 16, 2009 at 8:17 am

      Murali,

      You’re supposed to run the command in the terminal, not by clicking the install.php file.

      • 14 Jeff August 16, 2009 at 8:27 am

        I am getting the same error as well. when I go to http://localhost/drupal I get

        Deprecated: Function ereg() is deprecated in /opt/lampp/htdocs/drupal-6.13/includes/file.inc on line 895

        Deprecated: Function ereg() is deprecated in /opt/lampp/htdocs/drupal-6.13/includes/file.inc on line 895

        Deprecated: Function ereg() is deprecated in /opt/lampp/htdocs/drupal-6.13/includes/file.inc on line 895

        Deprecated: Function ereg() is deprecated in /opt/lampp/htdocs/drupal-6.13/includes/file.inc on line 895

        Deprecated: Function ereg() is deprecated in /opt/lampp/htdocs/drupal-6.13/includes/file.inc on line 895

        Deprecated: Function ereg() is deprecated in /opt/lampp/htdocs/drupal-6.13/includes/file.inc on line 895

        Deprecated: Function ereg() is deprecated in /opt/lampp/htdocs/drupal-6.13/includes/file.inc on line 895

        Warning: Cannot modify header information – headers already sent by (output started at /opt/lampp/htdocs/drupal-6.13/includes/file.inc:895) in /opt/lampp/htdocs/drupal-6.13/includes/install.inc on line 618

        Warning: Cannot modify header information – headers already sent by (output started at /opt/lampp/htdocs/drupal-6.13/includes/file.inc:895) in /opt/lampp/htdocs/drupal-6.13/includes/install.inc on line 619

  10. 15 Dan August 16, 2009 at 1:48 pm

    I have the same error: Deprecated: Function ereg() is deprecated in /opt/lampp/htdocs/drupal-6.13/includes/file.inc on line 895

    when loading http://localhost/drupal

    XAMPP is ok. Any ideas?

  11. 16 Dan August 16, 2009 at 11:21 pm

    Seems there is an issue with drupal 6.13 and xampp 1.7.2. If you use drupal 6.12 and xampp 1.7.1 everything works perfect. More specifically, it appears to be an issue with php5 and drupal involving .htaccess and php.ini. Beyond the scope of this forum. Thanks Bushido for the excellent how to.

  12. 17 Justina September 19, 2009 at 1:48 pm

    Yes… Drupal does not support PHP 5.3 … here more info http://drupal.org/node/527548

  13. 18 Justina September 19, 2009 at 2:07 pm

    Do you know how can I change the version of my PHP from 5.3 to 5.2 ? I am using Ubuntu 9.04 and installing drupal-6.14
    Help would be much aprecciated…

    • 19 Erik September 19, 2009 at 6:38 pm

      I had the same problem. I did a quick tweak to the line of code that was deprecated. I replace the ereg function call with…

      preg_match(‘/’.$mask.’/', $file)

      which seems to have worked as a quick fix. It isn’t the best solution but works for a home development environment.

  14. 20 Colin September 19, 2009 at 9:13 pm

    Thanks a lot Vincent, it works perfectly!!!

  15. 21 kamal October 13, 2009 at 4:12 am

    Owsome man…….. after having a solid search of 2 days i am now able to install xampp on my ubuntu. i am having one q can anybody tell me that at where i have to put my php site to run them at local host plzzzzzzzz.

  16. 22 Justina October 13, 2009 at 5:53 am

    If you put it in /opt/lampp/htdocs/yoursite you will then be able to see it from your browser as localhost/yoursite

    is that what you where asking?

  17. 23 мышкин October 18, 2009 at 8:05 pm

    Только вот вчера на эту тему думал, так что пост как нельзя в тему!


Leave a Reply